Passportjs自定义回调-'密码错误'消息

所以烤面包

对于常规身份验证,可通过failureFlash获得“密码错误”消息

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

passport.use(new LocalStrategy(
  function(username, password, done) {
    User.findOne({ username: username }, function (err, user) {
      if (err) { return done(err); }
      if (!user) {
        return done(null, false, { message: 'Incorrect username.' });
      }
      if (!user.validPassword(password)) {
        return done(null, false, { message: 'Incorrect password.' });
      }
      return done(null, user);
    });
  }
));

但是,如果我使用自定义回调,如何访问该“密码不正确”消息并将其显示给用户?因为自定义回调似乎只检查(!user)。我需要自定义回调,因为我正在通过ajax登录,因此无法进行重定向。

app.get('/login', function(req, res, next) {
  passport.authenticate('local', function(err, user, info) {
    if (err) { return next(err); }
    if (!user) { return res.status(401).send({"ok": false}); }
    req.logIn(user, function(err) {
      if (err) { return next(err); }
      return return res.send({"ok": true});
    });
  })(req, res, next);
});
拜访

该消息info位于您的自定义回调处理程序中的参数中,可以非常轻松地访问并发送给用户。

从另一方面来说,我不会指定用户名或密码是登录失败的原因。使用这种响应,很容易测试哪些用户名存在,然后仅关注密码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

密码错误验证的自定义错误消息

来自分类Dev

向 Laravel 忘记密码表单添加额外问题并自定义其错误消息

来自分类Dev

Go的自定义404错误消息

来自分类Dev

自定义错误消息和位置

来自分类Dev

自定义ModelSerializer错误消息被忽略

来自分类Dev

自定义消息等待超时错误

来自分类Dev

JWPLAYER自定义错误消息

来自分类Dev

Python中的自定义错误消息

来自分类Dev

如何自定义Restlet的错误消息

来自分类Dev

Sharepoint-自定义错误消息

来自分类Dev

猫鼬的自定义错误消息

来自分类Dev

使用自定义消息处理错误?

来自分类Dev

类声明-自定义错误消息

来自分类Dev

JHipster自定义错误消息翻译

来自分类Dev

如何自定义Devise错误消息?

来自分类Dev

自定义MVC中的错误消息

来自分类Dev

自定义错误消息MVC

来自分类Dev

Exim中的自定义错误消息

来自分类Dev

引发自定义错误消息

来自分类Dev

显示带有用于密码重置的 Azure AD B2C 自定义策略的错误消息

来自分类Dev

Ajax可自定义的错误回调函数

来自分类Dev

Grails为命令对象定义自定义错误消息

来自分类Dev

定义自定义错误消息Flask Restful API

来自分类Dev

定义自定义错误消息Flask Restful API

来自分类Dev

Zend特定的自定义错误消息,用于多个错误

来自分类Dev

类型不匹配绑定错误的自定义错误消息

来自分类Dev

带烧瓶静止的自定义错误消息json对象

来自分类Dev

欧芹自定义错误消息不起作用

来自分类Dev

自定义`assert`宏,支持逗号和错误消息