繁体   English   中英

FireFlutter:在调试模式下启用 App Check

[英]FireFlutter: Enable App Check in debug mode

问题

App Check 在生产模式下工作正常,但在调试模式下出现错误:

401: Firebase App Check token is invalid.

我尝试了两件事:

  • 使用 Firebase 控制台生成调试令牌。
  • 通过将<script>self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;</script>插入到index.html中,在 App 中生成调试令牌。 然后将其添加到 Firebase 控制台中作为调试令牌。 我还注意到,这种方式在每次 App 重启时都会生成一个新的调试令牌。

代码

  if (kReleaseMode) {
    await FirebaseAppCheck.instance.activate(
      webRecaptchaSiteKey: LIVE_TOKEN,
    );
  } else {
    await FirebaseAppCheck.instance.activate(
      webRecaptchaSiteKey: DEBUG_TOKEN,
    );
  }

问题

使用 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

按照接下来的步骤,我设法让它工作。 我还在FlutterFire Github报告了这一点。

  1. 将以下内容添加到索引中。html
<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>
    ......
  1. 在调试模式下运行应用程序,将在日志中打印一个调试令牌

应用检查调试令牌:fb1a8616-b721-42c6-841c-544x5743ea72。 您需要将其添加到 Firebase 控制台中的应用程序检查设置中才能正常工作。

  1. 将该调试令牌添加到 Firebase 控制台中的 App Check

    https://firebase.google.com/docs/app-check/web/debug-provide

  2. 在dart代码中设置debug token并重启(不要关闭app)

const debugToken = 'fb1a8616-b721-42c6-841c-544x5743ea72';

await FirebaseAppCheck.instance.activate(
   webRecaptchaSiteKey: kReleaseMode ? liveToken : debugToken,
);

主要不便之处在于每次执行应用程序时都会生成一个新的调试令牌,并且必须在 Firebase 控制台中设置它,在 dart 代码中并重新启动应用程序而不关闭它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM