使用 Firebase App Check 无法正常工作(调试)

8

我在实现 Firebase 的新 App Check 功能时,无法解决此问题。

上传文件到 Firebase Storage 时,出现错误导致上传失败。

Caused by: java.io.IOException: { "error": { "code": 401, "message": "Firebase App Check token is invalid." }}

我已按照文档提供的方式提供了调试密钥。

调试 APK 是通过 USB 调试直接安装的。

注意:我使用的是物理设备,并且在 StorageReal-time database 上启用了Enforce状态,但每当我尝试执行诸如上传之类的事务时,都会失败并显示上面的错误。


2
文档不完整...我陷入了同样的问题已经将近两天,但到目前为止还没有找到解决方案!!! - Ali Yar Khan
1
@AliYarKhan,如果我发现一个非常新的产品,并且找不到任何相关的文章和文档来阅读,我会立刻停止。 - Bitwise DEVS
3个回答

3

在物理设备上运行应用程序。我曾经遇到过同样的问题,但是当我在物理设备上运行应用程序时问题就解决了!请确保您的主要运行应用程序函数如下:

这是文档中提到的代码

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await FirebaseAppCheck.instance.activate(webRecaptchaSiteKey: 'recaptcha-v3-site-key');
  runApp(MyApp());
}

我正在使用物理设备,你是否也启用了存储和实时数据库的强制执行功能?你需要启用它们来查看它们是否真正完全起作用。 - Bitwise DEVS
请告诉我,您是否能够在启用“Enforce”状态的存储或实时数据库上使其正常工作。 - Bitwise DEVS
是的...它在强制状态下工作了...请确保您将run app函数包装在这些Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await FirebaseAppCheck.instance.activate(webRecaptchaSiteKey: 'recaptcha-v3-site-key'); runApp(MyApp()); }中。 - Ali Yar Khan

1
我认为,使用物理设备比模拟器更好。您只需要SHA 256密钥并在项目设置中的安全网络中注册应用程序。要获取SHA 256密钥,只需在Android Studio的最左侧单击Gradle选项卡。在应用程序文件夹内单击android文件夹并运行signiningReport。它将在终端中生成SHA 256密钥,并将其复制到安全网络中。就这样。

当appcheck没有bug时,这就是你所需要的全部。今天我无法在iOS上进行调试,一直收到“应用程序未注册”的错误响应 :( 这种情况有时会发生,非常令人恼火。 - Vilmir

0

请确保首先更新所有与 Firebase 相关的库,然后再尝试。应该可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接