2023 年 2 月在 Android 上验证手机身份验证而不显示 Recaptcha (Firebase)

Mar*_*der 16 android deprecated firebase flutter safetynet

我使用 Flutter 和 Firebase 开发了一个应用程序,该应用程序使用适用于 Android 和 IOS 的电话身份验证功能。除了 Android 版显示验证码外,一切都按预期运行。

为了解决这个问题,文档中说我们需要使用 SafetyNet,但是现在不可能从 Firebase AppChecker 启用它,因为它已被弃用。我一直在使用新的 Play Integrity API,该 API 应该取代 SafetyNet,但目前似乎不起作用(验证码可见)。

如果有人有解决方案,请分享!预先感谢您抽出时间

Rai*_*deR 1

您是对的:SafetyNet API 已被弃用,并且不能用于 2023 年 1 月 31 日之后新创建的项目。

不幸的是,Play Integrity API 目前无法处理 OTP 身份验证。Google 支持人员写信给我:

[...] 请注意,Play Integrity API 尚未支持 Firebase 电话身份验证 (OTP)。

解决方案是进一步使用SafetyNet Attestation API。你必须申请这个。我的项目的这个过程大约花了三周时间。

如果您获得批准,您必须转到Google API 控制台中的库页面并激活“Android 设备验证 API”。

通过以下项目设置,它应该可以工作,并且您不应该再看到验证码:

  • Google Cloud Console:通过 App Integrity 将您的应用与 Google Play Integrity API 链接
  • firebase 项目 --> 应用程序检查 --> 选择您的 Android 应用程序 --> 将其与 Play Integrity API 链接
  • 申请成功后启用Android设备验证API

注意:该过程与使用 Flutter 无关,并且对于 React Native 或 Android 项目来说是相同的。