【问题标题】:What does passport authenticate do on callback?护照身份验证对回调有什么作用?
【发布时间】:2016-05-16 13:53:08
【问题描述】:

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

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

如果我在 RESTful API(无会话)中使用它,是否可以在回调中省略 passport.authenticate?

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

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

【问题讨论】:

    标签: javascript express passport.js passport-facebook


    【解决方案1】:

    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 参数。 profile 将包含 Facebook 提供的用户个人资料信息。

    passport.js 文档是了解工作原理的非常好的来源。还有一些教程向您展示了 FB 身份验证工作流程是如何发生的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-13
      • 2018-11-06
      • 1970-01-01
      • 2015-08-21
      • 1970-01-01
      • 2018-02-13
      • 2015-09-06
      • 2017-04-24
      相关资源
      最近更新 更多