auth-guardian-api
v1.1.7
Published
AuthGuardian is a versatile and easy-to-use authentication module for Node.js applications. Secure your web and API routes effortlessly with its robust features and comprehensive set of authentication methods. Whether you're building a web application, AP
Downloads
12
Maintainers
Readme
Auth-Guardian
AuthGuradian Class
A class that handles connecting and disconnecting from MongoDB using Mongoose.
Constructor
constructor(connectionString: string): Creates an instance of the authGuradian class. The connectionString parameter should be the MongoDB connection string. Methods.
async connect(): Connects to the MongoDB database using the provided connection string.
async disconnect(): Disconnects from the MongoDB database.
Usage
const dbConnectionString = 'your-mongodb-connection-string';
const guardian = new authGuradian(dbConnectionString);
guardian.connect()
.then(() => {
console.log('Connected to MongoDB');
// Perform database operations
})
.catch(error => {
console.error('Error connecting to MongoDB:', error);
});
DynamicUserRegistration Class
A class that handles user registration, login, and accessing protected data.
Constructor
constructor(userModel: mongoose.Model, secretKey: string): Creates an instance of the DynamicUserRegistration class. The userModel parameter should be a Mongoose model for user data, and secretKey is the secret key used for JWT encoding and decoding.
Methods
async registerUser(username: string, password: string, email: string): Registers a new user.
async loginUser(username: string, password: string): Logs in a user and generates a JWT token.
async getProtectedData(req: Express.Request, res: Express.Response): Accesses protected data using a JWT token.
Usage
const UserModel = require('./path-to-your-user-model');
const secretKey = 'your-secret-key';
const dynamicUserRegistration = new DynamicUserRegistration(UserModel, secretKey);
const registrationResult = await dynamicUserRegistration.registerUser('newuser', 'password123', '[email protected]');
console.log(registrationResult);
const loginResult = await dynamicUserRegistration.loginUser('existinguser', 'password123');
console.log(loginResult);
// Express middleware for protected route
app.get('/protected', (req, res) => {
dynamicUserRegistration.getProtectedData(req, res);
});