You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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协议的产物,必须请求openid Scope才能触发返回。

  • 未完成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。
  • 检查客户端ID的关联性
    确保你使用的服务器端客户端ID与移动端客户端ID属于同一个Google Cloud项目,否则无法正常获取idToken。

内容的提问来源于stack exchange,提问作者Brijesh Patadiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 01:05:22