android - Firebase 电话身份验证 SHA-1 指纹问题
问题描述
我使用电话身份验证在颤动中创建了一个登录页面。我在其中收到错误:
E/FirebaseAuth(21546):[SmsRetrieverHelper] SMS 验证码请求失败:未知状态码:17028 已通过安全网令牌,但在 Firebase 控制台中未注册匹配的 SHA-256。请确保此应用程序的 packageName/SHA256 对已在 Firebase 控制台中注册。I/flutter (21546):此应用无权使用 Firebase 身份验证。请确认在 Firebase 控制台中配置了正确的包名称和 SHA-1。[ 通过了一个安全网令牌,但在 Firebase 控制台中没有注册匹配的 SHA-256。请确保此应用程序的 packageName/SHA256 对已在 Firebase 控制台中注册。]
我已经使用以下步骤从 cmd 获取了 SHA1 和 SHA256 密钥:
- 在cmd中,访问了java jdk的安装路径(在我的例子中:C:\Program Files\Java\jdk1.8.0_212)
- 然后粘贴以下命令并点击 enter keytool -list -v -keystore "C:\Users\Mehul Jain.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
之后,我得到了屏幕截图所示的密钥。
复制这两个密钥并粘贴到 firebase 控制台中(如下面的屏幕截图所示)
应用程序正常工作。当我尝试通过测试模式签名(即输入手机号码和 otp)并使用测试模式详细信息运行应用程序时,应用程序运行 100%。但是,如果我想从应用程序中添加手机号码并尝试获取短信,屏幕上就会出现错误。我尝试了各种其他手机号码但仍然无法使用(手机号码未在测试模式下输入)。
解决方案
推荐阅读
- python - 是否可以更改叶标记集群地图中使用的默认颜色?
- java - 如何使用 JPA API 构造此连接查询?
- swift4 - 如何修复 tableViewController 中搜索栏的位置
- bash - For循环没有找到目录中的所有文件
- python - 从 Python 脚本,运行目录中的所有 Python 脚本并流式输出
- azure-active-directory - MSAL 令牌重播
- laravel - 在 laravel 中使用谷歌地图进行地理围栏
- javascript - 如何在具有相同标签或类的对象中单独管理状态
- swift - 在 Touch 上移动 SKSpriteNode 以创建 Button 效果
- angular - Identity Server 生产时的空 cookie