1.1.7 • Published 9 months ago

auth-guardian-api v1.1.7

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

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', 'user@example.com');
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);
});