Xco*_*der 3 recaptcha firebase-realtime-database firebase-app-check
我有一个网页,它使用以下 JavaScript 代码从实时数据库接收数据:
firebase.initializeApp(fbConfig);
firebase.appCheck().activate('6LdKHhMbAAAAAHeIcmY17pO7tccNzVcT6OkyvOPr');
firebase.database().ref('/feed').on('value', (snapshot) => {
console.log(snapshot.val());
}Run Code Online (Sandbox Code Playgroud)
对配置了 reCAPTCHA 的实时数据库强制执行 AppCheck。但即使没有 appCheck().activate() 行,页面也能够接收数据。看来应用程序检查功能没有效果。
目的应该是只有具有良好 reCAPTCHA 分数的真实(匿名)用户才能接收数据。
知道这里缺少什么吗?我预计,如果未使用正确的共享代码激活,一旦强制执行应用程序检查,该页面将无法获取数据。但这里似乎缺少了一些东西。对于这个只读应用程序,没有令牌(从 grecaptcha.execute() 开始)以某种方式发送到我的服务器,没有请求发送到我的服务器,就像提交表单时的情况一样。Firebase 似乎没有设置来引导需要哪些 reCAPTCHA 评级。
火力战士在这里
由于我们需要您提供更多信息来帮助您调试此问题,因此您能否直接联系 Firebase 支持人员以获取故障排除方面的个性化帮助?然后您可以报告您的案例 ID,以便我查看。
[编辑:感谢您向我们提交案件。我已在下面添加了答案。]
根本原因是您的 RTDB 实例位于非美国位置。目前 App Check 不支持此功能,但我们很快就会添加对非美国 RTDB 实例的 App Check 支持。我将在这里发帖让人们知道何时支持此功能。
[第二次编辑:我们计划下周(即 2021 年 6 月 21 日这一周)发布对非美国 RTDB 实例的 App Check 支持。请继续关注下周的另一个更新。]
最终编辑:App Check 现在支持非美国 RTDB 实例。现在应该对你有用了。谢谢你让我们注意到这一点!
| 归档时间: |
|
| 查看次数: |
751 次 |
| 最近记录: |