Javascript js应用程序中的cors策略阻止FirebaseAuth请求

Javascript js应用程序中的cors策略阻止FirebaseAuth请求,javascript,firebase,flutter,cors,firebase-hosting,Javascript,Firebase,Flutter,Cors,Firebase Hosting,我知道存在类似的问题,但我没有找到解决办法。 我有一个内置的flatterweb应用程序,可以编译成javascript。我把它放在Firebase主机上。应用程序内的第一个屏幕是使用FirebaseAuth进行日志记录的登录页面。每当网站第一次打开时-所有内部库请求的状态均为失败。之后我按CTRL+F5键,一切都很顺利。 下面是同一个第一个内部请求的比较。左侧为成功,右侧为失败,原因是“**已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:响应中“访问控制允许凭据”标头的值为“”,当

我知道存在类似的问题,但我没有找到解决办法。 我有一个内置的flatterweb应用程序,可以编译成javascript。我把它放在Firebase主机上。应用程序内的第一个屏幕是使用FirebaseAuth进行日志记录的登录页面。每当网站第一次打开时-所有内部库请求的状态均为失败。之后我按CTRL+F5键,一切都很顺利。 下面是同一个第一个内部请求的比较。左侧为成功,右侧为失败,原因是“**已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:响应中“访问控制允许凭据”标头的值为“”,当请求的凭据模式为“包括”时,该值必须为“真”

我发现了Firebase主机头的配置,所以我这样做了:

{
  "hosting": {
    "public": "",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ],
    "headers": [ {

    "source": "**",
    "headers": [ 
    {
      "key": "Access-Control-Allow-Origin",
      "value": "*"
    }, 
    {
      "key": "Access-Control-Allow-Methods",
      "value": "DELETE, POST, GET, OPTIONS"
    },
    {
      "key": "Access-Control-Allow-Headers",
      "value": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
      } 
    ]
  }]
  }
}
在应用程序中,使用所需数据对didChangeDependencies中的firebase进行简单初始化。然后在index.html中关于firebase的部分使用Email和Password(…)登录FirebaseAuth.instance.Signin:

<script src="https://www.gstatic.com/firebasejs/7.7.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.7.0/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.7.0/firebase-firestore.js"></script>
<script src="main.dart.js" type="application/javascript"></script>

我在Chrome上测试过很多次,但总是失败。只有在本地主机上才能平稳运行

更多信息: “正常”(不清除缓存)上的请求返回页面: 在同一站点上按住CTRL+F5键后的请求:
红色模糊的是我的应用程序的URL

您是否尝试清除缓存。。?你说在cntrl+F5上它工作。所以有时候清除缓存是有帮助的。但是何时以及如何清除缓存呢?密码?当前总是在打开站点后始终CTRL+F5是必需的。但我在寻找原因——清除缓存后,CORS到Google API突然起作用的具体变化以及我如何通过代码实现这一点——也许某个令牌正在刷新(哪一个以及如何强制刷新),我要求在浏览器中清除缓存。我还想知道当你按下cntl+f5时cors请求是如何传递的,所以我只是猜测,它是否与浏览器缓存有关。@aravind很遗憾,你的想法与CTRL+f5完全相同。它只工作一次,我用所有网络请求的列表更新了问题