【发布时间】: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