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

集成Firebase与Roblox OAuth2 API时如何修复auth/invalid-credential错误

解决Roblox OAuth2 + Firebase OIDC的auth/invalid-credential错误

可能的排查方向

  • 确认Firebase OIDC配置的端点正确性
    Roblox新版OAuth2的OIDC端点需严格匹配,检查Firebase控制台中OIDC提供方的以下配置:

    • 授权端点:https://apis.roblox.com/oauth/v2/authorize
    • 令牌端点:https://apis.roblox.com/oauth/v2/token
    • 用户信息端点:https://apis.roblox.com/oauth/v2/userinfo
    • JWKS端点:https://apis.roblox.com/oauth/v2/jwks
      旧版端点会直接导致凭证验证失败。
  • 确保作用域(Scopes)正确设置
    Roblox OAuth2要求必须包含openid基础作用域,可按需添加profile、email等。修改代码显式设置作用域:

    function robloxLogin() {
      const provider = new OAuthProvider('oidc.roblox')
      provider.setCustomParameters({
        prompt:'login'
      })
      // 显式添加必要作用域
      provider.addScope('openid')
      provider.addScope('profile')
      signInWithPopup(auth, provider)
        .then((result) => {
          console.log(result)
          window.location.href = '/dash'
        })
        .catch((error) => {
          console.error(error)
        })
    }
    

    缺少openid作用域会导致OIDC流程不完整,触发凭证无效错误。

  • 检查重定向URI一致性
    确认Firebase控制台中OIDC提供方的重定向URI,与Roblox开发者后台配置的重定向URI完全一致,且属于Firebase Auth允许的域名(如https://your-app.firebaseapp.com/__/auth/handler或自定义域名对应路径)。URI不匹配会导致授权回调被拒绝。

  • 验证Roblox应用状态与权限
    登录Roblox开发者后台,确认OAuth应用状态为“已发布”(测试阶段可设为“未发布”但需指定测试用户),且开启了所需权限。未正确配置的应用会导致令牌无法通过验证。

额外调试步骤

  • 开启Firebase Auth调试日志,获取更详细的错误细节:
    // 本地调试使用模拟器
    auth.useEmulator('http://localhost:9099');
    // 生产环境打印当前用户状态辅助排查
    console.log('Firebase Auth状态:', auth.currentUser);
    
  • 抓包查看Roblox返回的id_token,用JWT解码工具验证令牌的iss字段(应为https://apis.roblox.com/oauth/v2)和过期时间,确认格式与签名有效性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:42:38