即使在白名单域之后,firebase auth域也未获得授权

时间:2017-08-23 14:36:08

标签: angularjs google-app-engine firebase firebase-authentication

我在Angular4项目中使用 Firebase Auth (firebase 4.1.3)并启用了 Google登录。在localhost上工作时,一切都按预期工作。但是,在部署托管在Google App Engine上的应用时,身份验证弹出窗口会因“auth / unauthorized-domain”错误而失败。

如何在Firebase中将自定义域列入白名单?

检查已经完成:

  1. 我的firebase项目已启用结算并处于有效状态
  2. Google登录,弹出窗口适用于localhost
  3. Google应用引擎域已在登录方法下的“授权域”中列入白名单,位于Firebase控制台的Authenticacion模块中。
  4. 在我的角应用程序中双重检查了javascript firebase配置(我复制粘贴了firebase控制台给出的代码段)。
  5. 在Google云端控制台中,默认的网络API密钥没有访问限制,OAuth客户端ID已在“授权的JavaScript来源”列表中以及“授权的重定向URI”中包含我的App Engine域({{ 3}})。
  6. 其他一些类似的SO问题指的是检查以前的内容,甚至在将新域名列入白名单后等待最多20分钟以允许更改传播。但这些建议都不适合我。

    注意:完整错误代码

    {
    code: "auth/unauthorized-domain"
    message: "This domain (PROJECT.appspot.com) is not authorized to run this operation. Add it to the OAuth redirect domains list in the Firebase console -> Auth section -> Sign in method tab."
    }
    

    任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

好的,回答我自己的问题。我终于找到了问题:我正在部署一个旧版本的Web应用程序。所以它永远不会这样......

如果它对其他人有用,上面配置firebase Auth的步骤是正确和足够的!

答案 1 :(得分:1)

我正在接管现有项目,但是在错误的环境中部署时遇到此错误。 (该域已在Firebase中正确设置)

ng build --prod && firebase deploy

正在我的开发环境中部署时。

我为部署编写了脚本以避免这种错误。

ng build --configuration "${ENV}" && firebase deploy

其中将env var设置为脚本的参数