Firebase电话身份验证在Android real设备上不起作用
我一直在尝试使用Firebase身份验证实现电话身份验证。它使用的是android仿真器。我在模拟器中使用了一个测试编号和一个实数。两者都有效。但只有测试编号与真实设备一起工作,并对其他编号引发此异常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
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新版本中的,他们已进行了重大更改,如Recaptcha,SafetyNet,以进行人工验证。加入
implementation "androidx.browser:browser:1.2.0"
它解决了我的问题,但用户体验不好,因为firebase正在打开浏览器验证reCAPTCHA,这在应用程序流中看起来很奇怪
Firebase Quote“只有当SafetyNet不可用或您的设备未通过可疑检查时,才会触发reCAPTCHA流。不过,您应该确保这两种情况都正常工作。”因此,要启用SafetyNet,请遵循以下步骤,或者访问Firebase Auth以了解更多信息
Firebase身份验证有两种方式实现此目的: SafetyNet:如果用户的设备安装了Google Play服务, Firebase身份验证可以验证设备是否合法 Android SafetyNet,电话号码登录可以继续 或 reCAPTCHA验证:在无法使用SafetyNet的情况下,例如当用户没有Google Play服务时 支持,或在仿真器上测试应用程序时 因此,您的解决方案是两种方案之一
- 在真实设备上重新测试
- 向您的应用程序中添加reCAPTCHA验证功能,以便您可以 继续你的模拟器