Firebase 电话身份验证 SHA-1 指纹问题

时间:2021-03-11 13:56:02

标签: android firebase flutter firebase-authentication

我使用电话身份验证在 flutter 中创建了一个登录页面。我收到错误:

E/FirebaseAuth(21546):[SmsRetrieverHelper] 短信验证码请求失败:未知状态码:17028 安全网令牌已通过,但未在 Firebase 控制台中注册匹配的 SHA-256。请确保此应用程序的 packageName/SHA256 对已在 Firebase 控制台中注册。 I/flutter (21546):此应用无权使用 Firebase 身份验证。请确认在 Firebase 控制台中配置了正确的包名称和 SHA-1。 [安全网令牌已通过,但未在 Firebase 控制台中注册匹配的 SHA-256。请确保此应用程序的 packageName/SHA256 对已在 Firebase 控制台中注册。 ]

我已经使用以下步骤从 cmd 中获取了 SHA1 和 SHA256 密钥:

  1. 在cmd中,访问java jdk的安装路径(以我为例:C:\Program Files\Java\jdk1.8.0_212)
  2. 然后粘贴以下命令并按回车键 keytool -list -v -keystore "C:\Users\Mehul Jain.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

之后我得到了截图中显示的密钥。

SHA1 Key

复制两个密钥并粘贴到 firebase 控制台中(如下面的屏幕截图所示) firebase console

应用运行正常。当我尝试通过测试模式签名(即输入手机号码和 otp)并使用测试模式详细信息运行应用程序时,该应用程序运行 100%。 但是如果我想从应用程序添加手机号码并尝试接收短信,屏幕上就会出现错误。我试过各种其他手机号码,但还是不行(测试模式下没有输入手机号码)。

2 个答案:

答案 0 :(得分:0)

  • 如果使用模拟器,则安全网失败,请确保您使用的是合法的 Android 设备
  • 您可能使用了错误的密钥库。寻找的最佳方法 调试 SHA 密钥是 Gradle >> signinreport>>rightclick>>run

enter image description here

答案 1 :(得分:0)

我建议你使用这个免费图书馆OTP_VERIFICATION API 我也试过这个,它是有史以来最简单的 API。