我目前正在制作一个应用程序,您也可以通过您的谷歌帐户或移动电话号码与Firebase登录。使用keytool,我已经阅读了我的SHA-1,并将它存储在Firebase的项目设置中(我还通过Android中的Gradle读取了SHA-1值,当然,它与Keytool中的值相同)。当我在调试时测试这个应用程序时,一切都很好。一旦我发布了APK (签署的APK V1 & V2)并安装这个APK,就不可能通过Google或移动电话号码登录。错误:
此应用程序未授权使用Firebase身份验证。请验证正确的包名,并在Firebase控制台中配置SHA-1。应用程序验证失败
在Firebase控制台中,指定正确的SHA-1。或者APK在发布后有不同的SHA-1值?为什么所有的东西都在调试时工作,而不是在发布后呢?
如果有人能帮我,那就太好了。
发布于 2018-12-06 06:44:33
如果还有人需要的话这里有详细的解释..。
在调试过程中,您将创建一个调试sha1键,它将允许您在调试模式下正常工作,但是当您创建一个签名的apk时,您需要生成一个用于发布版本的sha1。
为此,keytool -list -v -keystore (now here you need to provide the relative path for your key.keystore[which you generated while generating signed apk]) -alias (now the alias name is present in gradle.properties and default is my-key-alias)
同样,这也适用于他们,他们的应用程序在特定设备上创建签名的apk之后,而不是在不同的设备上获得otp。
希望这能有所帮助。
发布于 2018-09-05 15:22:56
为了防止滥用,防火墙的电话认证在仿真器中不起作用。
但是,如果您希望它用于测试目的,那么您应该在firebase控制台中添加一些测试电话号码,以便在模拟器中工作。
转到您的防火墙控制台->身份验证->登录方法->电话并检查“用于测试的电话号码(可选)”字段。

确保您要添加的电话号码之前没有记录/注册。如果该数字已经存在于身份验证中,则不能将其添加为测试帐户。
如果您没有使用仿真器,请按照以下步骤操作:
Tools>Firebase>Authentication>Connect>Sync
这通常发生在您更新android工作室时。
发布于 2018-09-06 16:01:23
终于找到了解决办法!与调试apk相比,版本apk具有不同的SHA-1和SHA256值。在创建了两个签名的版本apk之后,您必须使用keytool手动查询发行版的SHA-1值。然后可以在Firebase控制台中输入。
https://stackoverflow.com/questions/52188121
复制相似问题