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

问题描述 投票:0回答:3

我用 Flutter 和 Firebase 开发了一个应用程序,它使用 Android 和 IOS 的电话身份验证功能。一切都按预期工作,除了 recaptcha 显示为 Android。

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

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

android flutter firebase deprecated safetynet
3个回答
0
投票

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

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

[...] 请注意,Firebase 电话身份验证 (OTP) 尚未成为 Play Integrity API 的特色。

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

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

使用以下项目设置它应该可以工作,你不应该再看到 recaptcha:

  • Google Cloud Console:通过 App Integrity 将您的应用与 Google Play Integrity API 链接
  • firebase 项目 --> App Check --> 选择你的 Android 应用程序 --> 将其与 Play Integrity API 链接
  • 申请成功后启用Android Device Verification API

注意:该过程独立于使用 Flutter,并且与例如还有 React Native 或 Android 项目。


0
投票

我遇到了类似的挑战,但这是在开发过程中发生的,但是在将其部署到 Playstore 后它停止了。 Firebase 电话身份验证不需要 reCAPTCHA,但如果您遇到这种情况,那么可能:

  1. 你在短时间内用那个号码提出了太多的请求。
    解决方案:开发时将您用于身份验证的号码列入白名单。
  2. 您使用的电话号码经常用于垃圾邮件或滥用,Firebase 可能需要 reCAPTCHA 质询以确保验证请求合法。
    解决方案:使用不同的号码进行身份验证。

-1
投票

我在使用 Google 身份验证服务时遇到了很多问题。有时,OTP 无法正常通过。我的建议是改用第三方 API 服务,因为这可以减少代码。一些第三方电话认证服务包括:

2 因素

本地文本

这些服务提供电话身份验证解决方案,可以用作 Google 身份验证服务的替代品。

© www.soinside.com 2019 - 2024. All rights reserved.