如何修复Firebase Auth JS苹果登录错误auth/invalid-credential-or-provider-id?
Firebase Apple登录重定向后
auth/invalid-credential-or-provider-id错误解决方案 针对你遇到的问题,结合Apple OAuth特性与Firebase代理配置要求,可按以下方向排查解决:
- 精确匹配Apple重定向URL:Apple对回调URL的格式校验极严格,确保Apple开发者后台配置的重定向URL与实际使用的完全一致——必须带
https://前缀、末尾无斜杠,且域名和路径无任何拼写错误。 - 显式设置OAuthProvider的clientId:初始化Apple登录provider时,显式指定对应Firebase配置的Apple服务ID,避免隐式匹配问题:
const provider = new OAuthProvider('apple.com'); provider.setCustomParameters({ client_id: '你的Apple服务ID(例如:com.yourdomain.apple-auth)' }); provider.addScope('email'); provider.addScope('name'); - 检查代理服务器转发规则:自有域名代理Firebase auth handler时,必须完整转发所有请求头(如
Host、Referer)和授权参数,不能修改URL路径、请求体或参数编码,否则会导致Firebase无法验证Apple的响应凭证。 - 核对Firebase授权域配置:确认自有域名已添加到Firebase控制台「Authentication > 设置 > 授权域」列表中,且Apple登录配置里的重定向URL与控制台填写的完全一致。
- 临时切换回默认auth handler测试:暂时使用
.firebaseapp.com域名的auth handler测试,如果Apple登录恢复正常,说明问题出在自有域名的代理配置上,需重点排查代理的请求转发逻辑。
内容的提问来源于stack exchange,提问作者Cory Harasha
相关产品推荐
相关产品推荐

