集成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
相关产品推荐
相关产品推荐

