Advertisement
Guest User

auth.mine

a guest
Nov 13th, 2018
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const express = require('express');
  2. const router = express.Router();
  3. const config = require('../config');
  4.  
  5. const Users = require('../models/user');
  6. const passport = require('passport');
  7. const crypto = require('crypto');
  8.  
  9. router.get('/register', (req, res) => {
  10.     let data = {};
  11.     if (req.query.err){
  12.         data.err = req.query.err;  // output error of input
  13.     }
  14.     res.render('register', data);
  15. });
  16.  
  17.  
  18. router.post('/register', (req, res) => {
  19.     const hash = crypto.createHmac('sha512', config.ServerSalt);
  20.     hash.update(req.body.pass1);
  21.     let password = hash.digest('hex');    
  22.     Users.getByLogin(req.body.login)
  23.         .then(user => {
  24.             if (!user) {
  25.                 const user = {
  26.                     login: req.body.login,
  27.                     password: password,                                        
  28.                     fullname: req.body.fullname,                                        
  29.                     avaUrl: "/images/got.png"
  30.                   };
  31.                 return Users.create(user);          
  32.             }
  33.             return Promise.reject(`Login ${req.body.login} already exists`);
  34.         })
  35.         .then(()  => res.render('login'))
  36.         .catch(() => res.redirect('/auth/register?err=Login+already+exists'));
  37. });
  38.  
  39. router.get('/login', (req, res) => {
  40.     res.render('login');
  41. });
  42.  
  43. router.post('/login',
  44.     passport.authenticate('local', { failureRedirect: '/auth/login' }),  
  45.     (req, res) => res.redirect('/'));
  46.  
  47.  
  48. router.post('/logout', (req, res) => {
  49.     (req, res) => {
  50.         req.logout();  
  51.         res.redirect('/');
  52.     }
  53. });
  54.  
  55.  
  56.  
  57. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement