没有重定向的Passport / Express登录失败

时间:2016-05-02 20:52:23

标签: express passport.js

目标

在用户成功验证后,我想重定向到另一个页面(工作) 在不成功的身份验证,我想要一条消息闪存(密码不正确) 没有重新加载页面

问题

如果尝试失败,它会重定向到相同的网址,但空白页面只显示"未经授权的"

终点代码

app.post('/', passport.authenticate('local-login', {
        successRedirect : '/hospital',
        failureRedirect : '',
        failureFlash : true
    }));

本地代码

 passport.serializeUser(function (user, done) {
        done(null, user.id);
    });

    passport.deserializeUser(function (id, done) {
        models.User.findById(id).then(function (user) {
            done(null, user.dataValues);
        }).error(function (err) {
            done(err, null);
        });
    });

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

            hashedPass = crypto.createHash('md5').update(password).digest("hex");
            models.User.findOne({where: {username: username}}).then(function (result) {

                if (!result)  done(null, false, {message: 'Unknown user'});

                if (result.password !== hashedPass)  done(null, false, {message: 'Incorrect password'});
                else done(null, result);

            });
        }));

0 个答案:

没有答案