UNPKG

node-express-mongodb-jwt-rest-api-skeleton

Version:

Node.js express.js MongoDB JWT REST API - This is a basic API REST skeleton written on JavaScript using async/await. Great for building a starter web API for your front-end (Android, iOS, Vue, react, angular, or anything that can consume an API)

69 lines (58 loc) 1.25 kB
const express = require('express') const router = express.Router() require('../../config/passport') const passport = require('passport') const requireAuth = passport.authenticate('jwt', { session: false }) const trimRequest = require('trim-request') const { register, verify, forgotPassword, resetPassword, getRefreshToken, login, roleAuthorization } = require('../controllers/auth') const { validateRegister, validateVerify, validateForgotPassword, validateResetPassword, validateLogin } = require('../controllers/auth/validators') /* * Auth routes */ /* * Register route */ router.post('/register', trimRequest.all, validateRegister, register) /* * Verify route */ router.post('/verify', trimRequest.all, validateVerify, verify) /* * Forgot password route */ router.post('/forgot', trimRequest.all, validateForgotPassword, forgotPassword) /* * Reset password route */ router.post('/reset', trimRequest.all, validateResetPassword, resetPassword) /* * Get new refresh token */ router.get( '/token', requireAuth, roleAuthorization(['user', 'admin']), trimRequest.all, getRefreshToken ) /* * Login route */ router.post('/login', trimRequest.all, validateLogin, login) module.exports = router