此应用无权使用Firebase身份验证。请验证Firebase控制台

时间:2017-10-15 04:41:03

标签: android firebase firebase-authentication

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

  

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

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

18 个答案:

答案 0 :(得分:26)

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

最简单的方法是从

连接/同步到firebase
  

工具>&火力地堡GT;认证>连结>同步

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

keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME

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

  

Firebase控制台&gt;你的项目&gt; <应用程序的设置>添加指纹

答案 1 :(得分:20)

如果您使用仿真器进行电话OTP验证,则该验证将不起作用,因为它没有SIM卡。因此,请尝试将其安装到您的手机上(使用sim卡),然后检查错误是否仍然存在。

答案 2 :(得分:10)

已启用应用程序签名的应用程序的简单解决方案。

    从播放中的应用签名中
  • 找到 SHA-1证书指纹 商店控制台。
  

Play商店控制台>您的项目>版本管理>应用签名

enter image description here

  • 将两个SHA1指纹都放置到您的Firebase应用程序中。
  

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

enter image description here

  • 好处是我们不需要从中生成SHA1指纹 cmd ,借助keystore.

答案 3 :(得分:7)

对于Linux计算机

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

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

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

As shown in the image

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

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

步骤6:转到Firebase控制台>您的项目>项目设置>添加Fingerpring

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

现在,你很好。

谢谢。

答案 4 :(得分:3)

如果您使用的是Google内部应用共享,请注意,Google会根据here使用完全不同的证书自动对您的版本进行签名,您需要查找为应用程序自动提供的签名证书信息由Google建立。

要查找证书;

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

答案 5 :(得分:2)

好吧,我刚刚发现了问题。 如果您使用的是Play Store应用签名,则来自分布式应用的SHA1将不同于您在本地使用的SHA1。确保将Play控制台中的SHA1密钥添加到Firebase控制台中的应用中。

答案 6 :(得分:2)

这花了我两天时间。我尝试了纳宾·班达里(Nabin Bhandari)接受的解决方案,但这对我不起作用。然后终于设法做到了。

  1. 转到“构建>生成签名包/ APK”。
  2. 如果您想上传应用程序到商店中,请选择“ Android App Bundle”,否则可以使用“ APK”。然后继续。
  3. 现在在“密钥存储路径”中单击“创建新”。在对话框中输入详细信息。当您单击“确定”时,将生成密钥文件。
  4. 输入密钥路径,密码等。
  5. 根据需要选择“调试”或“发布”。此后,将在[项目目录] \ app \ debug中生成已签名的apk。
  6. 现在使用生成SHA-1密钥(由Navin建议):

    keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME

  7. 使用adb install app-debug.apk在设备中安装应用程序。现在该应用程序可以正常工作了。

开发/调试提示: 在使用“运行”时安装签名的APK。
当您再次单击运行时,已签名的应用程序将被覆盖,您可能会再次遇到问题。因此,单击“运行”应用程序时,需要安装签名的APK。

将这些值添加到您的.gradle文件(Module:app):

signingConfigs{
    debug{
        keyAlias 'your key alias'
        keyPassword 'your keypassword'
        storeFile file('keystore path')
        storePassword 'your storepassword'
    }
}

参考:see here

答案 7 :(得分:2)

在firebase中更新您的应用程序Fingerprint对我有用。

第1步: 通过在终端中运行此命令来获取最新的SHA-1 对于Linux或macOS:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

对于Windows:

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

第2步: 转到Firebase控制台并删除最近添加的指纹

Firebase控制台>您的项目>项目设置>删除指纹

下一个: Firebase控制台>您的项目>项目设置>添加指纹 粘贴新的SHA-1指纹并保存。现在它将正常工作。

答案 8 :(得分:2)

尽管 documentation 中的第 4 步要求单独添加 SHA-1
只有当我添加两个键 SHA-1SHA-256 时,它才对我有用。

参考 - this video 的前 5 分钟解决了这个错误,我已经面临了超过 5 天。

答案 9 :(得分:1)

之前,我们可以在我们发布的应用中实现用户登录,只需使用我们应用的 sha-1 证书,可以由 android studio 生成。但是现在,我们需要将 Play 控制台的应用签名证书中的 sha-1 证书添加到我们的 Firebase 项目设置中。

上面的步骤已经被我们的伙伴回答了。

答案 10 :(得分:1)

我迟到了,但对别人有帮助。

当您使用生成签名的 apk 或可能处于调试模式时,您忘记在 firebase 控制台中保存 SHA-1 和 SHA-256 时会出现此问题。

   The solution for generate signed apk is: Your app must be available on your google 
   play console (Google play store). Copy SHA-1 available in google play console > App 
   Signing and save in firebase console.

答案 11 :(得分:1)

最近发生的错误

通过了一个安全网令牌,但是没有注册匹配的SHA-256 在Firebase控制台中。请确保此应用程序的 packageName / SHA256对在Firebase控制台中注册。

解决方案是:

还在Firebase控制台的项目设置中添加SHA256

答案 12 :(得分:1)

我发布得晚了,但这是我发现的一个非常简单的技巧Download this Key Explorer 并浏览您的App签名密钥(.jks),您还可以获取SHA-1和其他密钥。 现在,从此处复制您的SHA-1并将其添加到Firebase控制台。 步骤:Firebase控制台>您的项目>项目设置>添加指纹将您的SHA-1粘贴并保存。

此错误的原因是,当我们进行debug-apk测试时,它使用本地系统SHA(我们已经通过firebase控制台进行了更新),但是当它在Release-build和Live商店上发布时,它使用的是SHA SigningKey(.jks)。 因此,我们必须在控制台上更新两个指纹。

答案 13 :(得分:1)

我遇到了相同的问题,请按照以下步骤解决

生成本文档中的.keystore文件 https://facebook.github.io/react-native/docs/signed-apk-android

通过此命令生成的SHA-1密钥

keytool -list -v –keystore [PATH]\android\app\my-upload-key.keystore

然后将SHA1密钥复制到证书指纹下,并将其添加到firebase应用程序设置->“常规”标签->您的应用程序部分->“ SHA证书指纹”

答案 14 :(得分:0)

功能不能在模拟器上工作,即使您的手机号码在物理设备中 您必须使用物理设备才能使用电话身份验证... 如果您完美地设置了SHA1密钥并仍然遇到此异常,则必须解决您的问题

答案 15 :(得分:0)

我认为这是最简单的解决方案

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

  • Play控制台>发布仪表板>应用签名>>复制SHA-1密钥[![如何从Google Play控制台获取SHA-1密钥] 1:[https://i.stack.imgur.com/QvlnC.jpg] How to add SHA-1 key from Play Console to Firebase app

How to add SHA-1 key from Play Console to Firebase app]

答案 16 :(得分:0)

我已经有同样的问题好几天了。在尝试了所有可能的解决方案后,我发现我的 firebase-auth 依赖版本是 (19.3.1),当我将其更改为最新版本时,即(现在是 20.0.3)它工作正常。

答案 17 :(得分:0)

查看此线程: How to get the SHA-1 fingerprint certificate in Android Studio for debug mode?

现在,您将了解如何轻松获取应用程序的sha-1键(无需使用-keytool命令并将id添加到Firebase控制台。)然后,您必须更新自己的google-services.json文件项目。