我用 Flutter 和 Firebase 开发了一个应用程序,它使用 Android 和 IOS 的电话身份验证功能。一切都按预期工作,除了 recaptcha 显示为 Android。
为了解决这个问题,它在 文档 中说我们需要使用 SafetyNet,但是,现在不可能从 Firebase AppChecker 启用它,因为它已被弃用。我一直在使用新的 Play Integrity API,它应该取代 SafetyNet,但目前似乎不起作用(recaptcha 可见)。
如果有人有解决方案,请分享! 预先感谢您的时间🙏
你是对的:SafetyNet API 已被弃用,不能用于 2023 年 1 月 31 日之后新创建的项目。
不幸的是,Play Integrity API 目前无法处理 OTP 身份验证。谷歌支持写信给我:
[...] 请注意,Firebase 电话身份验证 (OTP) 尚未成为 Play Integrity API 的特色。
解决方案是进一步使用SafetyNet Attestation API。你必须申请这个。我的项目这个过程花了大约三个星期。
如果您获得批准,则必须转到Google API控制台中的库页面并激活“Android设备验证API”。
使用以下项目设置它应该可以工作,你不应该再看到 recaptcha:
注意:该过程独立于使用 Flutter,并且与例如还有 React Native 或 Android 项目。
我遇到了类似的挑战,但这是在开发过程中发生的,但是在将其部署到 Playstore 后它停止了。 Firebase 电话身份验证不需要 reCAPTCHA,但如果您遇到这种情况,那么可能: