Flutter调试模式下Google OAuth 2.0登录失败求助
解决Flutter Google OAuth调试版登录ApiException:10问题
出现PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)错误,结合你新增发布版客户端ID后调试版失效的场景,根源大概率和Google Cloud Console的配置误操作或本地签名不一致有关,具体可能是以下几种情况:
- 调试版客户端的SHA1绑定被意外修改:新增发布版客户端时,可能误操作删除或替换了调试版OAuth客户端的签名证书指纹(SHA1)。去Google Cloud Console的OAuth 2.0客户端列表里,找到调试版对应的客户端,检查其"签名证书指纹"是否仍包含正确的调试SHA1值。
- 调试版客户端ID被误删或禁用:确认调试版的OAuth客户端是否还存在于列表中,且状态为"启用"。有时候新增客户端时可能误删除了旧的调试客户端配置。
- 本地调试签名配置不匹配:虽然你重新创建了调试密钥库,但需确认Flutter项目的
android/app/build.gradle中debug闭包的签名配置是否正确指向新密钥库,包括密钥库路径、别名、密码。可以用以下命令重新生成当前调试环境的SHA1,和控制台配置对比:# macOS/Linux keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android # Windows keytool -list -v -keystore C:\Users\<你的用户名>\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android - Google配置未同步:修改OAuth客户端配置后,Google服务器可能需要几分钟同步生效,若你刚修改完就测试,可能调试版配置还未更新。可以等待一段时间后再尝试登录。
- OAuth同意屏幕配置变更:若新增发布版客户端时修改了OAuth同意屏幕的设置(比如切换到生产模式、调整范围或测试用户),可能导致调试版的登录请求不符合要求。检查同意屏幕的"测试用户"是否包含当前调试账号,以及范围是否覆盖Google登录所需的权限。
内容的提问来源于stack exchange,提问作者newaz kabir
相关产品推荐
相关产品推荐

