Flutter中Google登录无法获取idToken问题求助
Flutter Google登录无法获取idToken的排查步骤
以下是你可能遗漏的配置或步骤:
初始化GoogleSignIn时未指定服务器客户端ID并添加必要Scope
默认的GoogleSignIn()实例不会请求OpenID相关权限,必须显式指定clientId(对应Google Cloud控制台创建的Web应用类型OAuth客户端ID)和包含openid的Scope,示例代码:final _googleSignIn = GoogleSignIn( clientId: '你的服务器端OAuth客户端ID.apps.googleusercontent.com', scopes: ['openid', 'email', 'profile'], );注:idToken是OpenID Connect协议的产物,必须请求
openidScope才能触发返回。未完成Google Cloud OAuth同意屏幕配置
登录Google Cloud控制台,进入「API和服务」→「OAuth同意屏幕」,完成基本信息填写,并添加openid、email、profile这几个必要的Scope,若面向外部用户需提交审核(内部测试账号可跳过审核直接使用)。移动端平台配置缺失
- Android:确保
google-services.json已正确放置在android/app目录下,且Google Cloud控制台的Android客户端已添加对应应用的SHA-1指纹; - iOS:将
GoogleService-Info.plist导入项目,并在Info.plist中配置URL scheme,值为文件中的REVERSED_CLIENT_ID。
- Android:确保
检查客户端ID的关联性
确保你使用的服务器端客户端ID与移动端客户端ID属于同一个Google Cloud项目,否则无法正常获取idToken。
内容的提问来源于stack exchange,提问作者Brijesh Patadiya
相关产品推荐
相关产品推荐

