Skip to content

mouhamedkl/expressjs_auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

expressjs_auth

expressjs_auth is a simple, flexible, and fast solution for creating Express.js applications with built-in authentication. It supports both MySQL and MongoDB, providing all the necessary middlewares, services, controllers, and routes to get started quickly.

Features

  • Database Support: Easily connect your project to either MySQL or MongoDB.
  • JWT Authentication: Secure authentication using JSON Web Tokens (JWT).
  • User Registration and Login: Prebuilt endpoints for user sign-up and login with password encryption.
  • Email Verification: Users receive a verification email upon registration to activate their account.
  • Account Verification Flow: Login is only allowed after the user has verified their email.
  • Quick Setup: Create and configure a fully functional authentication system with minimal effort.

Installation

To create a expressjs_auth project, run:

npx expressjs_auth create name-project 

This command will generate a fully configured project directory.

Usage

  1. Navigate to the project directory:
cd name-project
  1. Install dependencies:
npm install
  1. Configure email credentials in the .env file:
  1. Run the server:
npm start

Test Login and Registration

  • POST http://localhost:3000/api/register
    Request body:

    {
      "email": "ton.email@gmail.com",
      "password": "Amineu&12&"
    }
    
  • Upon registration, a verification email is sent to the user.

  • The user must click the link in the email to verify their account before being able to login.

Verify Account

  • Click the verification link received by email to activate your account.

Login

  • POST http://localhost:3000/api/login
    Request body:
    {
      "email": "ton.email@gmail.com",
      "password": "Amineu&12&"
    }
    
  • Login is only successful if the account is verified. Your project will be live and ready for customization!

Email Demo and Screenshots

Licence

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors