Dab*_*bel 6 debugging flutter-web firebase-app-check
问题
App Check 在生产模式下工作正常,但在调试模式下出现错误:
401: Firebase App Check token is invalid.
我尝试了两件事:
<script>self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;</script>通过插入到 来在应用程序中生成调试令牌index.html。然后将其作为调试令牌添加到 Firebase 控制台中。我还注意到,通过这种方式,每次应用程序重新启动时都会生成一个新的调试令牌。代码
if (kReleaseMode) {
await FirebaseAppCheck.instance.activate(
webRecaptchaSiteKey: LIVE_TOKEN,
);
} else {
await FirebaseAppCheck.instance.activate(
webRecaptchaSiteKey: DEBUG_TOKEN,
);
}
Run Code Online (Sandbox Code Playgroud)
问题
使用 FlutterFire,生成和使用 App Check 的调试令牌的正确方法是什么?遵循文档对我来说不起作用。
文档
https://firebase.google.com/docs/app-check/flutter/default-providers
https://firebase.flutter.dev/docs/app-check/debug-provider/#activating-the-debug-provider-web
小智 6
我按照接下来的步骤设法使其正常工作。我也在FlutterFire Github上报告了这一点。
<body>
<script>self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;</script>
<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app-check.js"></script>
......
Run Code Online (Sandbox Code Playgroud)
应用程序检查调试令牌:fb1a8616-b721-42c6-841c-544x5743ea72。您需要将其添加到 Firebase 控制台中应用的应用检查设置中才能正常工作。
将该调试令牌添加到 Firebase 控制台中的 App Check
https://firebase.google.com/docs/app-check/web/debug-provide
在 dart 代码中设置调试令牌并重新启动(不要关闭应用程序)
const debugToken = 'fb1a8616-b721-42c6-841c-544x5743ea72';
await FirebaseAppCheck.instance.activate(
webRecaptchaSiteKey: kReleaseMode ? liveToken : debugToken,
);
Run Code Online (Sandbox Code Playgroud)
主要的不便在于,每次执行应用程序时,都会生成一个新的调试令牌,并且必须在 Firebase 控制台、dart 代码中设置它,并重新启动应用程序而不关闭它。