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

传入FacebookAuthProvider.credential(access_token)后Firebase报错无法解析ID Token

修复方案

核心问题

你遇到的Cannot parse ID Token报错本质是Firebase在解析Facebook返回的身份信息时缺少必要字段,可按以下步骤逐一修复:

具体操作步骤

  • 调整授权请求配置
    你当前的授权请求没有配置权限范围,导致Facebook返回的令牌不包含Firebase要求的基础身份字段,修改useAuthRequest配置如下:
    const [ request, response, promptAsync] = Facebook.useAuthRequest({
        responseType: ResponseType.Token,
        clientId: 'XXXXXXXXXXXXXXX',
        // 新增权限配置
        scopes: ['public_profile', 'email']
    });
    
  • 修改凭证生成逻辑
    不要通过你预先初始化的facebookProvider实例调用credential方法,直接调用FacebookAuthProvider的静态方法生成凭证:
    替换原有代码行:
    const credential = facebookProvider.credential(access_token);
    
    为:
    const credential = firebase.auth.FacebookAuthProvider.credential(access_token);
    
  • 检查后台配置
    1. 登录Firebase控制台,进入身份验证→登录方式→Facebook,确认填写的App ID、App Secret和Facebook开发者后台的配置完全一致,且Facebook登录功能处于启用状态
    2. 登录Facebook开发者后台,进入你的应用→Facebook登录→设置,确认「客户端OAuth登录」「Web OAuth登录」两个开关已开启
    3. 如果你的Facebook应用还处于开发模式,需要把你用来测试的Facebook账号添加为应用的测试人员,否则拿到的访问令牌会受权限限制导致解析失败

额外排查建议

如果修改后仍报错,可以在catch块里打印error.code和error.message的完整内容,根据具体错误码进一步定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:15:03