2016-02-06 26 views
0

我在我的快递项目中使用护照js。下面的第一条路线将在我的数据库中创建用户,然后返回到第二条回调路线。护照认证在回拨上做了什么?

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

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

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

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

回答

0

什么是passport.authenticate(“Facebook的...)做在 回调路由器?

这是必需的,以便Facebook批准后将用户重定向回来。如果您删除了该文件,那么在用户使用Facebook进行身份验证后,将不会将其重定向到您的网站,并且/或者用户身份验证会看到错误。

如果我在一个平静的API(无会话)中使用这个,可以在回调中省略 passport.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认证工作流程是如何发生的。