Firebase 身份验证在本地工作,但在与 Netlify 一起部署时不起作用

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

我按照本指南将 Firebase 身份验证集成到 Astro 网站:https://docs.astro.build/en/guides/backend/google-firebase/

身份验证在本地工作,但在 Netlify 上的部署版本中,身份验证不起作用:所有相同的请求都在本地发生,但不是处理身份验证并将用户重定向到“仪表板”页面,而是“找不到令牌” " 尽管令牌以与本地相同的方式在请求中传递,但返回了响应。

Google OAuth 登录在本地工作,但返回“Cross-Origin-Opener-Policy 策略将阻止 window.close 调用”。部署版本中浏览器控制台中出现错误。

注册在本地有效,但在部署版本中返回404。

我的项目目录的根目录中有以下 netlify.toml 文件:

# netlify.toml
[[headers]]
  for = "/*"
  [headers.values]
    Access-Control-Allow-Origin = "*"
    Access-Control-Allow-Methods = "GET, POST, PUT, DELETE, OPTIONS"
    Access-Control-Allow-Headers = "Content-Type, Authorization"
    Cross-Origin-Opener-Policy = "same-origin-allow-popups"

但似乎没有帮助。

我也尝试过 _headers 文件 cors header 的配置,但似乎也没有帮助。

我一直在搜索Google和Stack Overflow,但找不到解决我的问题的方法。 由于某种原因,Netlify 没有显示 Astro 网站的服务器端 console.log(),这并没有帮助。

你能帮我解决这个问题吗?

firebase-authentication cors netlify astro
1个回答
0
投票

结果比我最初想象的更容易解决。 我所要做的就是将 Astro 配置设置为输出模式服务器而不是混合模式:

export default defineConfig({
  output: 'server',
    adapter: netlify(),
});

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