Как я могу исправить SuccessRedirect не работает? - PullRequest
0 голосов
/ 10 октября 2019

Я настраиваю бэкэнд-сервер с узлом, экспресс, паспортом и продолжаю с mysql в качестве базы данных. Я перепробовал много кодов из многих уроков, и я все еще на месте. В терминале я не получил никакой ошибки, но метод successRedirect не работает.

Мой файл passport.js выглядит хорошо, но я недавно начал с библиотекой паспортов, поэтому не могувыявить любую ошибку.

let LocalStrategy = require('passport-local').Strategy;
let {user}=require('../src/sequelize');
let bCrypt = require('bcrypt-nodejs');
let User=user;
module.exports = function(passport) {
 
    passport.serializeUser(function(user, done) {
            done(null, user.id);
    });

   
passport.deserializeUser(function(id, done) {
    User.findById(id, function(err, user) {
      done(err, user);
    });
  });


  passport.use('local-signup', new LocalStrategy({
    usernameField: 'username',
    passwordField: 'password',
    passReqToCallback: true 
},
    function(req, username, password, done) {

        var generateHash = function(password) {
            return bCrypt.hashSync(password, bCrypt.genSaltSync(8), null);
        };
       user.findOne({
                where: {
                        username: username
                }
        }).then(function(user, err) {
                console.log('I entered',user);
                console.log('I entered',err);
                if(err) {
                        console.log(err);
                        return done(null, false);
                }
                if(user == null) {
                                User.create({
                                        username: username,
                                        lastname:req.body.lastname,
                                        name : req.body.name,
                                        password: generateHash(password)
                                }).then(function(usered) {
                                        return done(null, usered);
                                }).catch(function(err) {
                                        return done(null, err);
                                });
                }
                if(user){
                        return done(null, false,  {message: 'That email is already taken' });
                }
        })

    }));
}

И мой файл userController

const userController=require('../controllers/userController');
const express = require('express');
const router = express.Router();
const passport=require('passport');


router.get('/signup', userController.signup);
 
 
router.get('/signin', userController.signin);
 
 
router.post('/signup', passport.authenticate('local-signup', {
            successRedirect: '/dashboard',
            failureRedirect: '/signup',
            flashMessage: true
                }
))

router.get('/dashboard',userController.dashboard);

 
 
module.exports = router;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...