Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var router = express.Router();
- var User = require('../models/user');
- var passport = require('passport')
- var LocalStrategy = require('passport-local').Strategy;
- //Register
- router.get('/register',function(req, res){
- res.render('register');
- });
- router.get('/login', ensureAuthenticated, function(req, res){
- //res.render('lobby');
- res.render('lobby', {
- helpers:{
- foo: function () {return req.user.username; }
- }
- });
- });
- function ensureAuthenticated(req, res, next){
- if(req.isAuthenticated()){
- return next();
- }else{
- res.redirect('/');
- }
- }
- router.post('/register',function(req, res){
- console.log("aaa");
- var login = req.body.login;
- var email = req.body.email;
- var password = req.body.password;
- var password2 = req.body.password2;
- var UserNameTaken = true;
- //Validator
- req.checkBody('login','Pole login jest puste').notEmpty();
- req.checkBody('email','Pole email jest puste').notEmpty();
- req.checkBody('password','Pole hasło jest puste').notEmpty();
- req.checkBody('password2','Pole powtórz hasło jest puste').notEmpty();
- req.checkBody('email','Email nie jest poprawny').isEmail();
- req.checkBody('password2','Hasła nie są takie same').equals(password);
- var errors = req.validationErrors();
- if(errors){
- res.render('register',{
- errors:errors,
- });
- }else{
- var newUser = new User({
- username: login,
- email: email,
- password: password
- });
- User.createUser(newUser, function(err, user){
- if(err) throw err;
- console.log(user);
- });
- req.flash('success_msg', 'Zarejestrowano pomyślnie');
- res.redirect('/users/register');
- });
- passport.use(new LocalStrategy(
- function(username, password, done) {
- User.getUserByUsername(username, function(err, user){
- if(err) throw err;
- if(!user){
- return done(null, false, {message: 'Nieznany użytkownik'});
- }
- User.comparePassword(password, user.password, function(err, isMatch){
- if(err) throw err;
- if(isMatch){
- return done(null, user);
- }else{
- return done(null, false,{message: 'Błędne hasło'});
- }
- });
- });
- }));
- passport.serializeUser(function(user, done) {
- done(null, user.id);
- });
- passport.deserializeUser(function(id, done) {
- User.getUserById(id, function(err, user) {
- done(err, user);
- });
- });
- router.post('/login',
- passport.authenticate('local',{successRedirect:'/users/login', failureRedirect:'/', failureFlash: true}),
- function(req, res){
- LoggedUsers.push(req.user.username);
- console.log(req.body.login);
- res.redirect('/');
- });
- router.get('/logout',function(req, res){
- req.logout();
- req.flash('success_msg', 'Zostałeś wylogowany');
- res.redirect('/');
- });
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment