【问题标题】:How do I generate an accessToken for Facebook's Graph API after I successfully authenticate using Firebase?使用 Firebase 成功进行身份验证后,如何为 Facebook 的 Graph API 生成 accessToken?
【发布时间】:2020-01-10 23:24:19
【问题描述】:

我已成功通过 Firebase 的 Facebook 实现进行身份验证,但在分析了发回的用户对象后,我没有看到我需要查询 Facebook 的 Graph API 的 accessToken。

我看到了 displayName、photoURL、email、providerId、refreshToken 和大量其他字段,但我没有看到我需要查询 Facebook 的 Graph API 的 accessToken。

【问题讨论】:

  • 您是说从某个 API 调用返回的对象没有您要查找的属性吗?您能否编辑问题以显示无法按您期望的方式工作的确切代码?文档似乎很清楚它是如何工作的:firebase.google.com/docs/auth/web/facebook-login

标签: node.js firebase facebook-graph-api firebase-authentication facebook-javascript-sdk


【解决方案1】:

如果您使用弹窗或重定向登录,您可以在登录后获取 Facebook 访问令牌:

// For popups.
firebase.auth().signInWithPopup(provider).then(function(result) {
  console.log(result.credential.accessToken);
});

// For redirects.
firebase.auth().getRedirectResult.then(function(result) {
  if (results && result.credential) {
    console.log(result.credential.accessToken);
  }
});

请注意,Firebase Auth 在登录后会丢弃 Facebook OAuth 刷新令牌。如果您需要定期使用 Facebook 访问令牌,则需要使用 Facebook SDK(或 REST API)登录并使用 Facebook 访问令牌通过 signInWithCredential 直接使用 Firebase Auth 登录。

【讨论】:

    猜你喜欢
    • 2015-04-08
    • 2019-11-23
    • 2017-06-16
    • 2017-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 2012-07-20
    相关资源
    最近更新 更多