Vercel 应用程序使用 Firebase 成功进行身份验证后,Firebase 项目 url 返回 404

问题描述 投票:0回答:1

我有一个 Sveltekit 应用程序,它使用 Firebase 进行身份验证和 Cloud Firestore。使用 Firebase 模拟器在本地运行应用程序,一切正常。使用 Vercel 进行部署时,我将服务器配置为使用 Firebase 服务帐户,并且客户端具有 Firesbase 提供的客户端配置。

当我真正运行通过 Vercel 部署的应用程序时,我得到以下行为。

  1. 当我在应用程序中使用“使用 google 登录”功能时,应用程序会重定向到 Google 帐户选择并让我选择我的 google 帐户
  2. 检查 Firebase 控制台,我发现我已在“身份验证”选项卡中成功创建。
  3. 但是,Vercel 应用程序立即将我弹回到登录屏幕。检查 Chrome 中的客户端控制台时,我看到以下错误:

singletons-a6a7384f.js:259 GET https://my-firebase-project.firebaseapp.com/__/firebase/init.json 404(未找到)

我可以确认 url 中的项目名称

my-firebase-project
是正确的,并且与 Firebase 控制台中提供的内容以及 Firebase 生成的配置相匹配。

在我的 package.json 中我正在使用

                "firebase": "9.0.1",
                "firebase-admin": "^9.10.0",

有谁知道可能导致此错误的原因是什么?

firebase google-cloud-firestore firebase-authentication vercel sveltekit
1个回答
0
投票

我的问题非常具体于我的代码库(最初不是我编写的。)

Firebase 返回的令牌由 svelte 使用由名为

VITE_JWT_KEY
的环境变量控制的私钥进行加密。我的部署中未设置此环境变量。加密令牌的代码具有默认密钥值,但从会话 cookie 中解密令牌的代码默默失败,导致授权失败。

我相信原作者是基于一些公开的“firebase + svelte”教程和演示来编写此代码库的,因此这可能对其他人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.