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

为何从Google Token端点无法获取Refresh Token?

无法获取Google OAuth2 Refresh Token的排查方案

核心问题:授权流程未触发强制重新同意

即使使用隐身模式,若测试用户此前已对相同权限范围(scope)完成过授权,Google OAuth2默认不会重复返回Refresh Token——哪怕你指定了access_type=offline。

解决步骤:

  1. 在授权URL中添加prompt=consent参数
    修改后的授权URL示例:

    https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&client_id=1234&redirect_uri=https%3A%2F%example.com%3A4430%2Fauth%2Fgoogle%2Fcallback&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fblogger&state=abcd1234&prompt=consent
    

    该参数会强制用户重新确认授权权限,触发Google返回Refresh Token。

  2. 重置测试用户的授权状态
    让测试用户登录Google账号后,进入「安全」>「第三方应用访问权限」,找到你的OAuth客户端并移除授权,之后重新走授权流程,也能触发Refresh Token的返回。

关于测试模式的说明

OAuth客户端处于测试模式不会影响Refresh Token的返回,官方文档中未提及该模式对Refresh Token有相关限制,无需将此作为排查重点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 10:07:45