Firebase 身份验证 - 电话 - “INVALID_CERT_HASH”

Posted

技术标签:

【中文标题】Firebase 身份验证 - 电话 - “INVALID_CERT_HASH”【英文标题】:Firebase Authentication - Phone - "INVALID_CERT_HASH" 【发布时间】:2021-03-10 10:19:04 【问题描述】:

当我尝试在本地安卓设备上运行手机认证时出现以下错误。

[GetAuthDomainTask] Error getting project config. Failed with 
E/FirebaseAuth(25345):   "error":  
E/FirebaseAuth(25345):     "code":400, 
E/FirebaseAuth(25345):     "message": "INVALID_CERT_HASH",
E/FirebaseAuth(25345):     "errors": [ E/FirebaseAuth(25345):       
E/FirebaseAuth(25345):         "message": "INVALID_CERT_HASH",
E/FirebaseAuth(25345):         "domain": "global",
E/FirebaseAuth(25345):         "reason": "invalid"
E/FirebaseAuth(25345):        
E/FirebaseAuth(25345):     ]
E/FirebaseAuth(25345):    
E/FirebaseAuth(25345): 

我已参考*** 评论。但我确实在项目中声明了我的 SHA-1 和 SHA-256。由于我的 SHA-1 和 SHA-256 存在,我在位于密钥库的文件夹中运行以下命令。一切看起来都很正常。谁能告诉我我错过了什么?

keytool -list -v -keystore my_keystore.jks

【问题讨论】:

【参考方案1】:

要解决此错误,您需要将密钥库 SHA1 和 SHA56 以及调试 SHA1 和 SHA256 添加到 fireabse 控制台。

这意味着两个 SHA1 和两个 SHA256

对于调试密钥,使用 https://developers.google.com/android/guides/client-auth?authuser=1 获取密钥,如果在 Windows 中使用 ./gradlew signingReport.\gradlew signingReport 获取调试密钥。

对于发布密钥,请使用 Keystore explorer 查看 SHA1 和 SHA256。

如果在更改 SHA1 和 SHA256 后问题仍然存在,请确保以下几点:

    再次更改 google-services.json 文件。 在设置中删除应用并添加一个具有正确 SHA1 的新应用

【讨论】:

以上是关于Firebase 身份验证 - 电话 - “INVALID_CERT_HASH”的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 身份验证 - 无法添加电话号码进行测试

Firebase 电话身份验证失败

Firebase 电话身份验证未发送带有代码的短信

Firebase 安全性和电话身份验证

获取 Firebase 电话身份验证 OTP 时出错

颤振中的firebase电话身份验证问题