Firebase电话身份验证在Android real设备上不起作用

Firebase电话身份验证在Android real设备上不起作用,firebase,flutter,firebase-authentication,Firebase,Flutter,Firebase Authentication,我一直在尝试使用Firebase身份验证实现电话身份验证。它使用的是android仿真器。我在模拟器中使用了一个测试编号和一个实数。两者都有效。但只有测试编号与真实设备一起工作,并对其他编号引发此异常 Error is:[firebase_auth/missing-client-identifier] This request is missing a valid app identifier, meaning that neither SafetyNet checks nor reCAPT

我一直在尝试使用Firebase身份验证实现电话身份验证。它使用的是android仿真器。我在模拟器中使用了一个测试编号和一个实数。两者都有效。但只有测试编号与真实设备一起工作,并对其他编号引发此异常

Error is:[firebase_auth/missing-client-identifier] This request is missing a valid app identifier, 
 meaning that neither SafetyNet checks nor reCAPTCHA checks succeeded. 
 Please try again, or check the logcat for more details.

我还在firebase中设置了SHA密钥。

我猜您还没有启用设备检查API。您只需在云平台上启用设备检查API

我认为在一些更新之后,他们已经做出了这样的改变,即对于安全网,您需要SH1身份验证以及启用设备检查API

您可以按照前面提到的步骤操作

启用设备检查api后。重新启动应用程序。它应该像一个符咒


请让我知道您是否需要进一步的步骤。

我在多次搜索后发现了这一点,应该适用于您或任何在这里遇到困难的人:

将这一行放在app/build.gradle的dependencies下

实现“androidx.browser:browser:1.2.0”


这是因为它可以重新验证并打开浏览器。

我通过从firebase中删除旧的android studio sha-1和sha-256密钥并从最新的android studio中添加一个新密钥来解决我的问题。

我已修复此错误。 在我的例子中,我在一个firebase项目中添加了两个具有相同SHA-1的android项目。 有一次,我从firebase项目中删除了一个项目。
现在它为我工作了。

Android添加了SafetyNet您可以阅读更多内容。但是你需要做的是1。启用Android设备验证api。和2。如果尚未指定应用程序的SHA-256指纹,请从Firebase控制台的“设置”页面进行指定。欲了解更多信息,请阅读Firebase auth新版本中的,他们已进行了重大更改,如RecaptchaSafetyNet,以进行人工验证。加入

implementation "androidx.browser:browser:1.2.0"
它解决了我的问题,但用户体验不好,因为firebase正在打开浏览器验证reCAPTCHA,这在应用程序流中看起来很奇怪

Firebase Quote“只有当SafetyNet不可用或您的设备未通过可疑检查时,才会触发reCAPTCHA流。不过,您应该确保这两种情况都正常工作。”因此,要启用SafetyNet,请遵循以下步骤,或者访问Firebase Auth以了解更多信息

  • 转到google云控制台,选择您的项目

  • 单击导航菜单,选择API和服务,然后选择 仪表板

  • 单击启用api和服务并启用api“”

  • 在firebase项目设置中添加SHA 256。(调试和发布两者)

  • 下载并替换您电脑中最新的google-services.json文件 项目


  • Firebase身份验证有两种方式实现此目的:

    SafetyNet:如果用户的设备安装了Google Play服务, Firebase身份验证可以验证设备是否合法 Android SafetyNet,电话号码登录可以继续

    reCAPTCHA验证:在无法使用SafetyNet的情况下,例如当用户没有Google Play服务时 支持,或在仿真器上测试应用程序时

    因此,您的解决方案是两种方案之一

    • 在真实设备上重新测试

    • 向您的应用程序中添加reCAPTCHA验证功能,以便您可以 继续你的模拟器


    关于safetyNet或reCaptcha问题,请关注。当我被卡住时,它帮助我解决了问题

    我从谷歌云启用了Android设备验证,并创建了一个凭据密钥。但是如何将其与我的firebase项目连接?那么您已经通过此链接启用了设备检查API@Ayussurana您的Firebase OTP自动读取是否正常工作?大家好,我实现了所有提到的解决方案,但都不正常,请帮助我摆脱这个问题您救了我!!!!此解决方案适用于我,根据文档1,这两个步骤都是必需的。启用Android设备验证2。将SHA-256指纹添加到firebase控制台这不起作用!好吧,这对我来说是有效的,也许你的代码有其他问题。如果代码有问题,那么它不应该在调试模式下工作。即便如此,OTP也会在直播模式下测试手机号码,但不仅仅是那些从未注册过的号码。你能添加参考URL吗?你从哪里发现Firebase身份验证应该添加此依赖项?我的问题是Firebase在OTP屏幕上想要为recaptcha打开浏览器,我相信这是现在的默认行为。因为浏览器不见了,所以它不工作了,当我把它放进去的时候它就工作了。因此,由于我不确定您的问题到底是什么,我无能为力。androidx.browser:browser:1.3.0已发布请勿复制答案,您可以添加原始答案的链接。原始答案链接