护照本地vs自定义身份验证

时间:2016-06-27 16:01:21

标签: node.js mongodb express passport.js

护照本地策略与自定义代码如何

// passport involved code

app.post('/login',
  passport.authenticate('local'),
  function(req, res) {
    // If this function gets called, authentication was successful.
    // `req.user` contains the authenticated user.
    res.redirect('/users/' + req.user.username);
  });

我也可以调用我的本地函数,它可以检查护照本地策略检查的相同内容,因此为什么要创建本地策略

// custom checking function

app.post('/login',
  customfunctionhere,
  function(req, res) {
    // If this function gets called, authentication was successful.
    // `req.user` contains the authenticated user.
    res.redirect('/users/' + req.user.username);
  });

1 个答案:

答案 0 :(得分:0)

是的,您可以编写自己的本地策略功能。但是,护照会为您提供额外的帮助,例如持久登录(cookies),轻松处理成功和失败等等。

另外,如果您使用OAuth或google / fb / twitter单点登录等其他策略,那么使用护照进行所有身份验证都是有意义的。

注意:您没有将验证功能传递给passport.authenticate()。查看passport-local文档了解详情:https://github.com/jaredhanson/passport-local

相关问题