Guest User

Untitled

a guest
Apr 23rd, 2016
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express = require('express');
  2. var router = express.Router();
  3. var User = require('../models/user');
  4. var passport = require('passport')
  5. var LocalStrategy = require('passport-local').Strategy;
  6.  
  7. //Register
  8. router.get('/register',function(req, res){
  9.     res.render('register');
  10. });
  11.  
  12. router.get('/login', ensureAuthenticated, function(req, res){
  13.     //res.render('lobby');
  14.     res.render('lobby', {
  15.             helpers:{
  16.             foo: function () {return req.user.username; }
  17.         }
  18.         });
  19. });
  20.  
  21.     function ensureAuthenticated(req, res, next){
  22.     if(req.isAuthenticated()){
  23.       return next();
  24.     }else{
  25.         res.redirect('/');
  26.     }
  27. }
  28.  
  29. router.post('/register',function(req, res){
  30.     console.log("aaa");
  31.     var login = req.body.login;
  32.     var email = req.body.email;
  33.     var password = req.body.password;
  34.     var password2 = req.body.password2;
  35.     var UserNameTaken = true;
  36.     //Validator
  37.     req.checkBody('login','Pole login jest puste').notEmpty();
  38.     req.checkBody('email','Pole email jest puste').notEmpty();
  39.     req.checkBody('password','Pole hasło jest puste').notEmpty();
  40.     req.checkBody('password2','Pole powtórz hasło jest puste').notEmpty();
  41.     req.checkBody('email','Email nie jest poprawny').isEmail();
  42.     req.checkBody('password2','Hasła nie są takie same').equals(password);
  43.    
  44.     var errors = req.validationErrors();
  45.     if(errors){
  46.         res.render('register',{
  47.             errors:errors,
  48.         });
  49.     }else{
  50.     var newUser = new User({
  51.             username: login,
  52.             email: email,
  53.             password: password
  54.         });
  55.        
  56.         User.createUser(newUser, function(err, user){
  57.             if(err) throw err;
  58.             console.log(user);
  59.         });
  60.         req.flash('success_msg', 'Zarejestrowano pomyślnie');
  61.         res.redirect('/users/register');
  62.     });
  63.  
  64. passport.use(new LocalStrategy(
  65.   function(username, password, done) {
  66.    User.getUserByUsername(username, function(err, user){
  67.        if(err) throw err;
  68.        if(!user){
  69.            return done(null, false, {message: 'Nieznany użytkownik'});
  70.        }
  71.        User.comparePassword(password, user.password, function(err, isMatch){
  72.            if(err) throw err;
  73.            if(isMatch){
  74.                return done(null, user);
  75.            }else{
  76.                return done(null, false,{message: 'Błędne hasło'});
  77.            }
  78.        });
  79.      });  
  80. }));
  81.  
  82. passport.serializeUser(function(user, done) {
  83.   done(null, user.id);
  84. });
  85.  
  86. passport.deserializeUser(function(id, done) {
  87.   User.getUserById(id, function(err, user) {
  88.     done(err, user);
  89.   });
  90. });
  91.  
  92. router.post('/login',
  93.   passport.authenticate('local',{successRedirect:'/users/login', failureRedirect:'/', failureFlash: true}),
  94.   function(req, res){
  95.     LoggedUsers.push(req.user.username);
  96.     console.log(req.body.login);
  97.     res.redirect('/');
  98.   });
  99.  
  100. router.get('/logout',function(req, res){
  101.     req.logout();
  102.     req.flash('success_msg', 'Zostałeś wylogowany');
  103.     res.redirect('/');
  104. });
  105.  
  106. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment