我尝试让 App Check 在我的 vue.js pwa 中工作。使用最新的 firebase sdk 并按照此处的步骤操作 https://firebase.google.com/docs/app-check/web/recaptcha-provider
我的 api key ( https://console.cloud.google.com/apis/credentials/key.. ) 不受任何 API 限制。我确实在 https 上添加了一些应用程序限制,包括我的项目域。
一切正常,直到我使用 recaptcha v3 激活 appCheck 并且我收到以下控制台错误:
FirebaseError:[code=unknown]:获取身份验证 token 失败:AppCheck:获取服务器返回 HTTP 错误状态。 HTTP 状态:403。(appCheck/fetch-status-error)
此外,该应用程序无法获取任何 firebase 数据或身份验证。我尝试了几种浏览器,但没有任何 vpn 的东西。 在我已经安装的 pwa 中,发生 App Check 错误,但与 firebase 的连接仍然有效..
在没有激活 App Check 的情况下,两者都可以正常工作。此外,使用 App Check 调试 token ,整个过程就可以正常工作。我不明白为什么它会中断 firebase 连接,即使我没有启用强制执行。
我很感激有关如何解决此问题的任何提示。
最佳答案
我发现了我在生产代码中不小心遗留了 self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
的问题。
删除此行或仅在开发环境中解决整个问题时使用
if (location.hostname === "localhost") {
self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
}
我没想到这一行会影响我没有注册调试 token 的浏览器,因为常规 appCheck 会失败,但当然无论如何在生产中使用它都没有意义。
关于firebase - 如何让 firebase App Check 在 Web 应用程序中与 Cloud Firestore 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70827096/