具有真实电话号码的Firebase PhoneAuth无法正常工作,但列入白名单的电话有效-Android

时间:2019-04-20 14:20:15

标签: android firebase firebase-authentication

我正在“我的应用”中设置Firebase电话验证。我在Firebase身份验证“白名单”部分中设置了测试电话号码和验证码。当我使用此编号和代码进行测试时,它可以正常工作。但是当我用另一个数字测试时,出现以下错误:

onVerificationFailed    com.google.firebase.auth.FirebaseAuthInvalidCredentialsException:
    The request contains malformed or mismatching credentials [ App ID does not match the requested project.

旁注:我也在此android应用程序中使用了facebook帐户工具包,并且进展顺利。

有什么建议吗?

6 个答案:

答案 0 :(得分:1)

请在您的firebase帐户中放入 SHA证书指纹

要执行以下步骤,请follow

1。在Android Studio中打开您的项目
2.单击Gradle菜单(在右侧面板中)
3.展开您的Project-> Tasks->双击siginingReports
4.您会在运行标签中看到SHA-1MD5指纹
5.复制并粘贴到您的firebase控制台中。

答案 1 :(得分:0)

我做错了什么,我为两个Firebase项目添加了相同的android项目和SHA键。

我发现一个应用程序的SHA密钥因构建版本而异:

调试应用程序时,我得到了一个SHA密钥。 当我为我的应用进行发布构建时,我又得到了一个SHA密钥。 在Play控制台中提交该应用程序时,我获得了同一个应用程序的第三个SHA密钥。 (来自“应用程序签名”部分)

因此,我已经删除了我以前的Firebase项目(因为不再需要),并创建了一个新的Firebase项目,添加了这个Android应用程序并在Firebase中添加了所有SHA密钥: 项目概述>设置>您的应用> android应用>添加SHA指纹部分。

然后,它运行良好。 Alhamdulillah。

答案 2 :(得分:0)

什么对我有用:

1)更新了所有程序包名称(产品,开发人员)的SHA1证书指纹。

2)下载google-services.json并添加到app/

3)重建项目

这是我错过的第三步。这些建议的答案中均未建议使用,因此我在此保留提示。希望对您有所帮助。

答案 3 :(得分:0)

  1. 您应该在debug.keystore和项目~./android/debug.keystore

    删除 android/app/debug.keystore
  2. 创建新的密钥库:

$ keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
  1. 复制 ~./android/debug.keystore到项目android/app/
  2. 获取SHA-1并导入Firebase控制台,例如: https://stackoverflow.com/a/55774552
  3. 下载google-services.json并替换为android/app/google-services.json并重建项目。

答案 4 :(得分:0)

转到 Google Play 管理中心,找到 Setup->App Signing 后点击您的应用。在应用签名密钥证书中复制SH-1中的密钥并上传到Firebase中的Android项目设置。

答案 5 :(得分:0)

删除您的构建文件夹并执行无效/重新启动缓存,它将 100% 解决您的问题。