Firebase域名未白名单授权:React应用调用sendOobCode接口报错400
解决Firebase身份验证接口调用的域名未授权问题
调用https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=...接口时返回400错误,提示域名未加入项目白名单,即便已在Authentication>设置>授权域名中添加了自定义域名,且仅启用Email/Password登录提供商。错误信息如下:
{ "error": { "code": 400, "message": "UNAUTHORIZED_DOMAIN : Domain not whitelisted by project", "errors": [ { "message": "UNAUTHORIZED_DOMAIN : Domain not whitelisted by project", "domain": "global", "reason": "invalid" } ] } }
以下是排查和解决步骤:
- 核对授权域名的准确性:确保添加的域名和实际请求的域名完全一致,包含完整的
http://或https://前缀,子域名也需单独添加(如app.yourdomain.com和yourdomain.com是两个不同域名)。 - 同步Firebase配置到应用:重新下载Firebase项目的配置文件(
firebaseConfig)替换应用内的旧配置,若使用firebase-tools部署,执行firebase deploy --only hosting重新部署。 - 确认请求来源域名:在浏览器开发者工具的Network面板中查看请求的
Referer头,验证实际发起请求的域名是否与授权域名匹配,避免用localhost、未授权的测试域名或IP发起请求。 - 检查登录提供商状态:进入Authentication>登录方法>Email/Password,确认该提供商处于启用状态,无额外域名限制。
- 清除缓存:清除浏览器缓存后重新访问应用,若自定义域名配置了CDN,同步刷新CDN缓存,确保加载最新的Firebase配置。
内容的提问来源于stack exchange,提问作者Damjan
相关产品推荐
相关产品推荐

