1.0.6 • Published 4 years ago

rebel-auth-handler v1.0.6

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

adnan-auth-handler

adnan-auth-handler is a promise-based Node.js auth handler for MySQL using ORM Sequelize. Provides basic auth functions

Installation

$ npm i adnan-auth-handler --save

Usage

You can use both ES6 or ES5 syntax to use the package

$ import { auth, userControllers, runMigrations } from 'adnan-auth-handler' //es6 syntax
// Or you can use es5 Syntax
$ const { auth, userControllers, runMigrations } = require('adnan-auth-handler'); //es5 syntax

// in your main.js use following to run all the migrations once the server gets started
runMigrations();

// for ACL use
app.use(auth.setAccessControl()); // will protect routes as per permissions

// using for login
app.post('/login', auth.authenticateUser, userControllers.createUser);

//using for protected routes
app.post('/protected-route', auth.verifyUser, yourController)

Create a .env file in the root directory of your project. Add environment-specific variables on new lines in the form of NAME=VALUE. and load it in Node enviroment

Required ENV variables

#update the variables values with actual ones
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_DATABASE=jupiter
MYSQL_HOST=local
MYSQL_PORT=3606
expiry_time = 36000 # jwt token expiry time in miliseconds
SECRET_KEY_JWT = xyz #your secret JWT key
NO_REPLY_EMAIL = adnanshuja3@gmail.com # your email
NO_REPLY_PASSWORD = yourpassword #to send email to user [password reset, signup etc]

Tests

$ npm run test // run tests in package directory