You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Firebase Admin获取用户的Facebook ID?

获取Facebook登录用户的ID(Firebase Admin + Node.js)

嘿,你已经离答案很近啦!从你贴出来的decodedToken结果里,就能直接拿到用户的Facebook ID,具体就藏在firebase.identities['facebook.com']这个字段里。

具体实现步骤:

  • 验证完ID Token后,先确认用户的登录方式确实是Facebook(你已经在做这一步啦)
  • 从decodedToken.firebase.identities里取出facebook.com对应的数组,数组里的第一个元素就是用户的Facebook ID

给你写个完整的代码示例:

admin.auth().verifyIdToken(idToken)
  .then(decodedToken => {
    // 先确认登录提供者是Facebook
    if (decodedToken.firebase.sign_in_provider === 'facebook.com') {
      // 提取Facebook ID
      const facebookIdentity = decodedToken.firebase.identities['facebook.com'];
      if (facebookIdentity && facebookIdentity.length > 0) {
        const facebookUserId = facebookIdentity[0];
        console.log("用户的Facebook ID:", facebookUserId);
        // 在这里用这个ID做后续操作就可以啦
      }
    }
  })
  .catch(error => {
    console.error("验证ID Token失败:", error);
  });

补充说明:

为什么是数组呢?因为Firebase允许用户用同一个账号关联多个第三方登录方式,所以每个身份提供者对应的是一个数组。但对于Facebook登录的用户来说,通常只会有一个关联的ID,所以直接取第一个元素就没问题啦。

内容的提问来源于stack exchange,提问作者Hung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:22:18