Skip to content

Authify is a lightweight authentication library designed for MERN (MongoDB, Express.js, React, Node.js) applications. It provides an easy-to-use solution for implementing JWT-based authentication, user session management, and middleware integration to secure your APIs.

Notifications You must be signed in to change notification settings

Cloud-Dev77/MERN_JWT_authentication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Authify Tokenize

authify-tokenize is a lightweight library designed for managing authentication in MERN stack applications using JWT tokens. With this library, you can easily implement user registration, login, sign-out, and profile data retrieval in just a few lines of code. It streamlines the authentication process, saving you hours of development work.

Key Features

  • Lightweight Library: Minimalistic design ensures fast performance.
  • JWT Token Verification: Securely verifies tokens for protected routes.
  • Easy Authentication Flow: Built-in functions for login, registration, sign-out, and fetching user profiles.
  • Middleware Support: Attach authentication middleware to any of your routes with ease.
  • Configuration: Simple setup with MongoDB URI and JWT secret key.

Installation

You can install the library via npm:

npm install authify-tokenize

Example

const express = require('express');
const { initAuthLibrary, authMiddleware } = require('authify-tokenize');

const app = express();
const PORT = process.env.PORT || 3000;

// Initialize your auth library
const authApp = initAuthLibrary({
    mongoURI: 'your_mongodb_uri_here',
    jwtSecret: 'your_jwt_secret_here',
});

// Use the auth routes
app.use(authApp);

// Example protected route
app.get('/protected', authMiddleware, (req, res) => {
    res.send(`Hello ${req.user.username}, this is a protected route!`);
});

app.listen(PORT, () => {
    console.log(`Server running on http://localhost:${PORT}`);
});

API Documentation

Endpoints

1. Login

  • Path: {Base_URL}/login
  • Method: POST
  • Payload:
    {
        "email": "your email",
        "password": "password_here"
    }

2. Register

  • Path: {Base_URL}/register
  • Method: POST
  • Payload:
    {
        "email": "your email",
        "password": "password_here",
        "name": "Your Name",
        "phone": "123-456-7890"
    }

3. Signout

  • Path: {Base_URL}/signout
  • Method: POST

4. Get User Info (Authenticated)

  • Path: {Base_URL}/me
  • Method: GET
  • Headers:
    • Authorization: Bearer <your_token_here>

Replace {Base_URL} with your actual base URL in your project.

Middleware Function

app.get('/profile', authMiddleware, (req, res) => {
    // Access user data from the request
    res.json({
        username: req.user.username,
        email: req.user.email,
    });
});

Conclusion

With authify-tokenize, implementing authentication in your MERN application becomes a breeze. Its lightweight design, combined with powerful features, allows you to focus on building your application rather than worrying about authentication complexities.

About

Authify is a lightweight authentication library designed for MERN (MongoDB, Express.js, React, Node.js) applications. It provides an easy-to-use solution for implementing JWT-based authentication, user session management, and middleware integration to secure your APIs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published