Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express'),
- router = express.Router(),
- db = require('../models');
- var passport = require('passport');
- var LocalStrategy = require('passport-local').Strategy;
- const { check, validationResult, body } = require('express-validator/check');
- var bcrypt = require('bcryptjs');
- var passport = require('passport');
- var LocalStrategy = require('passport-local').Strategy;
- router.get('/register', function(req, res) {
- res.render('register');
- });
- router.get('/login', function(req, res) {
- req.flash('success_msg', 'wea probando el mierda');
- req.flash('err_msg', 'wea probando el pichicaca');
- res.render('login');
- });
- // VALIDACION
- router.post('/register',[
- body('name', 'Debe ingresar un nombre').not().isEmpty(),
- body('username','Debe ingresar un username').not().isEmpty(),
- body('email').isEmail().withMessage('Debe ingresar un email'),
- body('password', 'Debe ingresar una contraseña').not().isEmpty(),
- body('password2', 'Las Contraseñas no coinciden')
- .exists()
- .custom((value, { req }) => value === req.body.password)
- ], function(req, res, next){
- var name = req.body.name;
- var email = req.body.email;
- var username = req.body.username;
- var password = req.body.password;
- var password2 = req.body.password2;
- var errors = validationResult(req);
- if(!errors.isEmpty()){
- return res.render('register',{
- errors: errors.array()
- });
- }else{
- bcrypt.genSalt(10, function(err, salt){
- bcrypt.hash(password, salt, function(err, hash){
- db.User.findOrCreate({
- where:{
- nombre: name,
- email: email,
- username: username,
- password: hash
- }, defaults: {
- tipo: 1
- }
- }).spread(function(user, created){
- console.log(user.get({
- plain: true
- }));
- });
- });
- });
- req.flash('success_msg','Te registraste y puedes logear wea');
- res.redirect('/users/login');
- }
- next();
- });
- passport.use(new LocalStrategy(
- function(username, password, done) {
- db.User.findOne({where:{
- username: username
- }}).then(function(user){
- bcrypt.compare(password, user.password, function(err, isMatch){
- if (err) throw err;
- if (isMatch){
- // console.log(user);
- console.log('gamalll');
- return done(null, user);
- } else{
- return done(null, false, {message: 'Invalid Password'});
- }});
- }).catch(function(err){
- console.log(err);
- });
- }
- ));
- passport.serializeUser(function(user, done) {
- done(null, user.id_usuario);
- });
- passport.deserializeUser(function(id, done) {
- db.User.findById(id, function(err, user){
- done(err, user);
- });
- });
- router.post('/login',
- passport.authenticate('local',{
- successRedirect: '/',
- failureRedirect: '/users/login',
- failureFlash: true
- }));
- router.get('/logout', function(req, res){
- req.logout();
- req.flash('success_msg', 'Te saliste');
- res.redirect('/users/login');
- });
- module.exports = function(app){
- app.use('/users', router);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement