繁体   English   中英

具有真实电话号码的 Firebase PhoneAuth 无法使用,但白名单号码可以使用 - Android

[英]Firebase PhoneAuth with Real phone Number Is Not Working But Whitelisted Number is Working - Android

我正在我的应用程序中设置 Firebase Phone Auth。 我在 firebase auth 部分白名单中设置了一个测试电话号码和一个验证码。 当我用这个数字和代码进行测试时,它工作正常。 但是当我用另一个号码测试时,出现以下错误:

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

旁注:我也在这个安卓应用程序中使用了 facebook 帐户工具包,而且一切顺利。

有什么建议么?

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

为此, follow以下步骤:

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

啊,(Alhamdulillah):最后我用这种方式解决了这个问题:

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

我为一个应用程序找到的 SHA 密钥因构建变体而异:

当我调试我的应用程序时,我得到了一个 SHA 密钥。 当我为我的应用程序制作发布版本时,我得到了另一个 SHA 密钥。 当我在 Play 控制台中提交此应用时,我获得了同一应用的第三个 SHA 密钥。 (来自应用程序签名部分)

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

而且,然后它运作良好。 Alhamdulillah。

对我有用的是:

1) 更新了所有包名称(prod、dev..)的 SHA1 证书指纹

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

3)重建项目

这是我错过的第三步。 这些建议的答案中都没有建议,所以我把小费留在这里。 希望对你们中的一些人有所帮助。

  1. 您应该删除~./android/debug.keystore 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并重建项目。

转到 Google Play 控制台,找到Setup->App Signing后单击您的应用。 SH-1中的App signing key certificate复制密钥并上传到 Firebase 中的 Project Setting Android。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM