此应用无权使用Firebase身份验证.请验证Firebase控制台中是否配置了正确的程序包名称和SHA-1

ish*_*007 18 java android firebase android-studio firebase-authentication

Firebase auth工作正常,调试版本突然开始失败,没有任何代码更改,记录下面的消息

D/PhoneAuthActivity(7392):signInWithCredential:failure:com.google.firebase.auth.FirebaseAuthException:此应用无权使用Firebase身份验证.请验证Firebase控制台中是否配置了正确的软件包名称和SHA-1.[应用验证失败].

成功登录和失败之间唯一值得注意的行动是android studio升级.

Nab*_*ari 36

更新Android Studio时,用于签署调试应用程序的调试密钥可能已更改.只需在firebase控制台中添加调试密钥的新SHA-1校验和.

最简单的方法是连接/同步到firebase

工具>火力地堡>认证>连接>同步


如果要手动或发布密钥库,请首先使用以下命令生成SHA-1校验和:

keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME

然后复制SHA-1校验和并转到:

Firebase控制台>您的项目>应用程序的设置>添加指纹

  • 但是这个错误是针对签名的 apk 的。我也实现了 firebase 和 ON 身份验证。它适用于 debug.keystore,但不适用于从我的 keyStore 生成的 SHA。奇怪的。还有其他人有这个问题吗? (5认同)
  • 我已经这样做了。但我发现了完全奇怪的解决方案。稍后我会将其发布在这里。 (2认同)

Rum*_*tel 27

App-signed启用应用的简单解决方案.

  • 从Play商店控制台的App签名中查找SHA-1证书指纹.

Play商店控制台>您的项目>发布管理>应用程序签名

在此输入图像描述

  • 将此SHA1指纹放入您的firebase应用程序.

Firebase控制台>您的项目>应用程序的设置>添加指纹

在此输入图像描述

  • 好处是我们不需要在cmd的帮助下从cmd生成SHA1指纹 keystore.

  • 这是唯一有道理的。 (3认同)
  • 是的,我相信这是 2019 年混乱的一大根源。一些 Firebase/React 教程告诉您使用 keytool 从发布密钥中获取 SHA 指纹,但实际上您签署了“让 Google 管理您的应用程序证书” Play 控制台,因此您必须将其复制并粘贴到 Firebase 控制台上。 (3认同)
  • 多谢。这是最好的答案 (3认同)
  • 尝试了多个建议。这是唯一可行的方法!+1 (2认同)
  • 应该将其标记为正确答案。 (2认同)
  • 这是最好的答案 (2认同)
  • 你救了我的命SSS (2认同)

rak*_* ks 21

如果您使用模拟器进行电话 OTP 验证,它将无法工作,因为它没有 SIM 卡。因此,尝试将其安装到您的手机(使用 sim)并检查错误是否仍然存在。

  • 我在模拟器上尝试过,但它不起作用。然后我认为问题出在虚拟手机上,因此将其安装在真实手机上,它可以正常工作。 (2认同)

小智 9

好的,我刚刚发现了这个问题。如果您使用的是 Play 商店应用签名,那么您分发的应用中的 SHA1 将与您在本地使用的不同。确保将 Play 管理中心中的 SHA1 密钥添加到 Firebase 控制台中的应用中。


Shi*_*dav 9

在 Linux 机器的情况下

步骤 1:转到文件系统中项目的物理文件目录

第 2 步:转到您的项目> android>

第3步:按右键并在此目录中打开一个新终端

如图所示

第 4 步:运行命令“gradlew signatureReport”

第 5 步:复制您的 SHA-1 密钥或 SHA-56 密钥

第 6 步:转到 Firebase 控制台>您的项目>项目设置>添加指纹

第 7 步:粘贴您的 SHA-1 密钥或 SHA-56 密钥并保存。

现在,你可以走了。

谢谢。


Roa*_*ach 5

如果您使用的是 Google 内部应用共享,请注意 Google 会使用此处所述的完全不同的证书自动对您的构建进行签名,您需要找到 Google 自动为您的应用程序构建提供的签名证书信息。

找到证书;

  1. 登录您的 Play 管理中心。
  2. 选择您的应用。
  3. 在左侧菜单中,选择开发工具 > 内部应用共享。
  4. 选择“应用证书”选项卡,然后将 SHA-1 复制到您的 Firebase 控制台。


Hig*_*tor 5

您还可以使用 GradlesigningReport 命令获取签名证书的 SHA1 和 SHA-256:

./gradlew signingReport
Run Code Online (Sandbox Code Playgroud)

现在在 firebase 的项目设置中添加 SHA1 和 SHA-256。

在此输入图像描述