passport.authenticate()如何确定successRdirect或failureRedirect?
Posted
技术标签:
【中文标题】passport.authenticate()如何确定successRdirect或failureRedirect?【英文标题】:How passport.authenticate() determine successRdirect or failureRedirect? 【发布时间】:2020-02-05 19:41:33 【问题描述】:我是 nodejs 的初学者并尝试使用 (passport,passport-local) 并使用本地策略应用身份验证。在本地策略中我检查电子邮件和密码并将其与数据库记录进行比较。如果电子邮件和密码正确,我返回完成( null,用户)回调。然后在passport.authenticate() 它如何确定重定向到 failureRedirect 或 successRedirect?
router.post('/login', passport.authenticate('local',
successRedirect: '/',
failureRedirect: '/login'
));
【问题讨论】:
【参考方案1】:使用passport
进行身份验证时。策略需要所谓的验证回调。验证回调的目的是找到拥有一组凭据的用户。
可以返回3种回调结果
done(err)
仅在处理过程中发生错误时返回。
done(null, false, custom Message)
表示没有 error
,但 email
或 password
不匹配。
done(null, user)
表示没有error
并且认证成功
根据返回的内容决定失败重定向还是成功重定向
More Info Here
【讨论】:
以上是关于passport.authenticate()如何确定successRdirect或failureRedirect?的主要内容,如果未能解决你的问题,请参考以下文章
如何从sails action2调用Passport Authenticate函数
对passport.use(strategy) done 功能及其与passport.authenticate 的关系感到困惑
Facebook护照身份验证,导出passport.authenticate方法
在发布路线上使用 nodemailer 发送电子邮件并使用 passport.authenticate 将用户保存到 mongodb
如何在没有会话的情况下整合passport-facebook和jwt?
Nodejs和PassportJs:如果身份验证失败,则不会调用passport.authenticate后重定向中间件