护照在回调时做了什么验证?

时间:2016-02-06 16:47:41

标签: javascript express passport.js passport-facebook

我在快递项目中使用护照js。下面的第一条路线将在我的数据库中创建用户,然后返回第二个回调路径。

在回调路由器中使用的passport.authenticate(' facebook' ...)是什么?

如果我在一个安静的API(没有会话)中使用它,可以在回调中省略passport.authenticate吗?

app.get('/auth/facebook', passport.authenticate('facebook'));

app.get('/auth/facebook/callback',
  passport.authenticate('facebook', { successRedirect: '/',
                                      failureRedirect: '/login' }));

1 个答案:

答案 0 :(得分:0)

  

什么是passport.authenticate(' facebook' ...)在做什么   回调路由器?

这是必需的,以便Facebook在批准后重定向用户。如果你删除它,那么在用户通过Facebook进行身份验证后,它将无法重定向到您的网站和/或用户进行身份验证只会看到错误。

  

如果我在一个宁静的API(没有会话)中使用它,可以省略   guard.authenticate在回调中?

根据passport.js documentation,如果您想进行Facebook身份验证,则需要以下路线:

//to send user to facebook
app.get('/auth/facebook', passport.authenticate('facebook'));

//this for facebook to return user back with token, refreshToken, Profile
app.get('/auth/facebook/callback',
  passport.authenticate('facebook', { successRedirect: '/',
                                      failureRedirect: '/login' }));
  

护照验证在回叫时做了什么?

Facebook身份验证的验证回调接受accessTokenrefreshTokenprofile个参数。个人资料将包含Facebook提供的用户个人资料信息。

passport.js文档是非常好的工作原理。还有一些教程向您展示FB身份验证工作流程的执行方式。