【问题标题】:Why: appengine to firebase Authentication fails with error referer forbidden原因:appengine 到 firebase 身份验证失败,错误引用被禁止
【发布时间】:2020-05-29 07:37:21
【问题描述】:

我有一个部署在谷歌云应用引擎上的网络应用项目。

gcloud app deploy

appengine 基本上只是一个提供静态文件的网络服务器。但我不得不使用 appengine 来为 SEO 预渲染网站。

在 webapp 中,我使用 firebase 身份验证 API。 https://www.gstatic.com/firebasejs/7.8.0/firebase-auth.js

在 firebase 控制台中,我激活了匿名身份验证。 preview of firebase auth providers

当我在 appengine 上部署我的静态内容的新版本时,我创建了一个名为“stag”的新版本,仅用于在部署到生产之前预览和测试所有内容。然后我可以在版本特定的 url 上预览我的工作,如下所示:

https://stag-dot-frb-proj1.appspot.com/

frb-proj1:是我的 firebase 项目 ID。

当我在 url 上预览我的作品时:https://stag-dot-frb-proj1.appspot.com/ 我收到以下错误:

{
  "error": {
    "code": 403,
    "message": "Requests from referer https://stag-dot-frb-proj1.appspot.com/ are blocked.",
    "errors": [
      {
        "message": "Requests from referer https://stag-dot-frb-proj1.appspot.com/ are blocked.",
        "domain": "global",
        "reason": "forbidden"
      }
    ],
    "status": "PERMISSION_DENIED"
  }
}

我在网络选项卡上的 chrome 开发工具中发现了错误。当应用程序尝试访问以下网址时会发生这种情况:

https://www.googleapis.com/identitytoolkit/v3/relyingparty/signupNewUser?key=AIza....CcpT0

我假设这个 api 调用是为了在 firebase auth api 上创建一个新的匿名用户。

所有使用的域都按预期在 Firebase 控制台中获得授权。

授权域

  • frb-proj1.firebaseapp.com
  • frb-proj1.web.app
  • stag-dot-frb-proj1.appspot.com
  • frb-proj1.appspot.com

尝试过的解决方案

我试着按照这个例子https://cloud.google.com/appengine/docs/standard/python/authenticating-users-firebase-appengine

并在我的 app.yaml 中为 appengine 设置环境变量 FIREBASE_PROJECT_ID

问题

知道有什么问题吗?

【问题讨论】:

    标签: firebase google-app-engine web-applications firebase-authentication gcloud


    【解决方案1】:

    考虑到这个错误,这个问题似乎与您的 API Key 有关。根据这些其他类似情况 - 您可以在下面的链接中访问 - 配置的 API 密钥似乎没有所有需要的权限。

    我建议您查看以下案例并尝试那里提供的解决方案 - 他们都告知它解决了他们的问题。

    如果这些信息对您有帮助,请告诉我!

    【讨论】:

      猜你喜欢
      • 2020-10-30
      • 2016-10-28
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      • 2017-11-27
      • 1970-01-01
      • 2020-03-15
      相关资源
      最近更新 更多