Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express');
- const router = express.Router();
- const config = require('../config');
- const Users = require('../models/user');
- const passport = require('passport');
- const crypto = require('crypto');
- router.get('/register', (req, res) => {
- let data = {};
- if (req.query.err){
- data.err = req.query.err; // output error of input
- }
- res.render('register', data);
- });
- router.post('/register', (req, res) => {
- const hash = crypto.createHmac('sha512', config.ServerSalt);
- hash.update(req.body.pass1);
- let password = hash.digest('hex');
- Users.getByLogin(req.body.login)
- .then(user => {
- if (!user) {
- const user = {
- login: req.body.login,
- password: password,
- fullname: req.body.fullname,
- avaUrl: "/images/got.png"
- };
- return Users.create(user);
- }
- return Promise.reject(`Login ${req.body.login} already exists`);
- })
- .then(() => res.render('login'))
- .catch(() => res.redirect('/auth/register?err=Login+already+exists'));
- });
- router.get('/login', (req, res) => {
- res.render('login');
- });
- router.post('/login',
- passport.authenticate('local', { failureRedirect: '/auth/login' }),
- (req, res) => res.redirect('/'));
- router.post('/logout', (req, res) => {
- (req, res) => {
- req.logout();
- res.redirect('/');
- }
- });
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement