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

Google OAuth2调用仅返回id_token未获取access_token问题排查

问题排查:调用Google OAuth2 Token接口仅返回id_token而非access_token

核心原因及解决方案

  • JWT payload缺少或错误设置scope字段
    服务账号授权的JWT必须指定目标API的作用域,未设置或设置错误时,接口只会返回id_token。针对翻译API,正确的scope应为https://www.googleapis.com/auth/cloud-translation或https://www.googleapis.com/auth/cloud-platform。检查你生成JWT的payload部分,确保包含该字段且值正确。

  • aud字段配置错误
    JWT的aud(受众)必须严格设为https://oauth2.googleapis.com/token,若填为其他Google API端点,会导致返回结果不符合预期。确认payload中的aud值是否准确。

  • 服务账号权限未配置到位
    即使已关联翻译API,若服务账号未被赋予对应IAM角色,也会影响token返回。检查Google Cloud控制台的IAM页面,确认服务账号已获得Cloud Translation API User或等价权限。

  • JWT其他字段不符合要求
    即便token能通过tokeninfo验证,部分字段仍可能不符合授权规则:

    • exp(过期时间)需设置在当前时间+1小时范围内,不能过长或过短;
    • iat(签发时间)需为当前时间戳;
    • sub字段必须设为服务账号的完整邮箱地址。

验证步骤

  1. 本地解码JWT,逐一核对scope、aud、sub、exp等字段是否符合上述要求;
  2. 确认服务账号的IAM权限配置正确;
  3. 重新生成合规JWT,再次发送POST请求,确保grant_type参数严格为urn:ietf:params:oauth:grant-type:jwt-bearer。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:15:39