Firebase调用Microsoft OAuth的signInWithRedirect返回400并立即跳回原页
问题修复步骤
- 删除自定义参数中的
redirect_uri配置
Firebase的OAuth跳转流程会自动生成符合要求的重定向地址,即你请求负载中显示的https://<my-gcp-project-id>.firebaseapp.com/__/auth/handler,手动传入自定义的http://localhost:3000/callback会和平台预设逻辑冲突,是本次400错误的最常见诱因。
修改后的提供方配置代码如下:
const provider = new firebaseAuth.OAuthProvider('microsoft.com'); provider.setCustomParameters({ tenant: 'mydomain.com', // 移除redirect_uri配置项 });
检查Azure AD应用配置
登录Azure Portal找到你注册的Active Directory应用,在重定向URI配置中,添加Firebase默认回调地址https://<my-gcp-project-id>.firebaseapp.com/__/auth/handler,类型选择「Web」。验证tenant参数正确性
如果你使用的是企业版Active Directory,tenant参数可以填你Azure AD的租户ID,或是你已经在Azure后台验证过的企业域名;如果是支持多租户登录可以填common,不要填写未验证的域名。核对Firebase基础配置
确认你初始化Firebase的authDomain参数值为<my-gcp-project-id>.firebaseapp.com,不要填写自己的业务域名。检查API Key权限
登录GCP控制台,进入「API和服务-凭据」页面,找到你使用的API Key,确认已经允许该Key调用Identity Toolkit API,如果设置了IP访问限制,需要将本地调试地址localhost加入白名单。
内容的提问来源于stack exchange,提问作者brietsparks
相关产品推荐
相关产品推荐

