Rai*_*deR 13 firebase firebase-authentication google-play-integrity-api
过去,reCaptcha 被用作 SafetyNet API 的后备。但是,自 2023 年 2 月以来,没有新项目可以再使用 SafetyNet API。看起来后继者 - Play Integrity API - 无法完成与 SafetyNet API 相同的工作。
我一直收到 reCaptcha 验证“验证您不是机器人......”。这不仅适用于“原生 Android 应用程序”,而且我也听到人们抱怨 React Native 或Flutter 应用程序存在这个问题。
我在 Play Console 中启用了 Play Integrity API,并将其链接到我的 Firebase 项目,如以下屏幕截图所示。


我还就此联系了 Google 支持人员,但说实话,这非常令人困惑。我们交换了很多电子邮件,并提出了很多使用 SafetyNet API 的建议(这是不可能的,因为它甚至不再在 GCP 上列出)。他们在一封电子邮件中写道:
遗憾的是,我们无法提供 Play Integrity API 电话身份验证实施的时间表。目前,您可以使用 reCAPTCHA 验证进行电话号码身份验证。SafetyNet 弃用与 reCAPTCHA API 无关。两个 SafetyNet API 是独立的,并且 Attestation API 弃用不会影响 reCAPTCHA API。即使迁移到 Play Integrity API 后,您仍然可以使用此 API。
我在这里做错了什么吗?您有什么建议来解决它?
// 更新:
正如 Mike Hardy 正确指出的那样,最新版本的 firebase-android-sdk 现在支持此功能。
// 原始答案
也许这不是你们都想听到的答案,但不幸的是,Play Integrity API 目前不支持此用例。
我与 Google 支持人员交换了很多电子邮件。主要的收获是:
[...] 请注意,Play Integrity API 尚未支持 Firebase 电话身份验证 (OTP)。
建议的后备解决方案是进一步使用 SafetyNet Attestation API(如果您的项目是在 2023 年 1 月 31 日之后创建的,则无法开箱即用)。但是,您可以申请使用 SafetyNet Attestation API。坦白地说:我的项目的整个申请过程大约花了三周时间。
如果您获得批准,您必须转到Google API 控制台中的库页面并激活“Android 设备验证 API”。
所以我的项目设置现在如下:
它有效:我不再看到验证码了:)
从最新的 firebase-android-sdk(已包含在最新的 react-native-firebase 中)开始,auth 现在支持 Play Integrity。
您需要确保该应用程序确实是从 Play 商店安装的,才能正常运行。
| 归档时间: |
|
| 查看次数: |
5783 次 |
| 最近记录: |