Flutter:SafetyNet 认证未达到基本完整性

SLe*_*deR 5 firebase google-cloud-console google-cloud-platform flutter safetynet

当尝试通过虚拟 Android 设备运行 Firebase 电话身份验证时,收到以下错误消息;

E/zzbf    ( 6464): SafetyNet Attestation fails basic integrity.
I/zzmt    ( 6464): Provider GmsCore_OpenSSL not available
W/System  ( 6464): Ignoring header X-Firebase-Locale because its value was null.
Run Code Online (Sandbox Code Playgroud)
  1. 该项目的 Android 设备验证通过 Google Cloud Console 启用;https://i.stack.imgur.com/b43al.png

  2. SHA-1 和 SHA-256 已添加到 Firebase 项目设置中;https://i.stack.imgur.com/aovkV.png

  3. 应用程序级别build.gradleimplementation "androidx.browser:browser:1.4.0"& implementation 'com.google.android.gms:play-services-safetynet:18.0.1; https://i.stack.imgur.com/cfsqn.png

我调查了类似的 StackOverflow 主题并尝试了可能的解决方案,但没有成功。在物理 Android 设备上运行它运行良好,但在虚拟设备中我无法通过验证码验证。

另外,在检查SafetyNet 文档时,我发现它已被弃用,并将被Play Integrity API取代。

  1. Google Play Integrity API 通过 Google Cloud Console 启用;https://i.stack.imgur.com/qgnOm.png
  2. 应用程序级别build.gradleimplementation 'com.google.firebase:firebase-appcheck-playintegrity'; https://i.stack.imgur.com/5q29y.png

我提到的任何内容都没有帮助我修复错误消息,有什么建议吗?

更新1:: 在此输入图像描述 找到这个地方并将Firebase App Check依赖项添加到我的应用程序中,但它实际上与它有什么关系,因为我的问题仍然存在?

Sah*_*ane 0

你可以尝试一下这个,可能会有所帮助,

  1. google-services.json每当您在 Firebase 控制台中更改 SHA 密钥时,请务必重新下载。
  2. 检查 Android 模拟器 (ADB) 目标是否支持 Google 服务

使用 Google Play 服务的 ADB 目标示例