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

多个Google OAuth2客户端:授权不同客户端时刷新令牌被吊销

Google OAuth2多Client ID授权问题解析

这不是Google OAuth2的预期行为——不同Client ID对应的授权会话是完全独立的,一个Client ID的授权操作不会导致另一个Client ID的刷新令牌失效。

可能的操作失误点

  • 存储逻辑出错:如果你的系统没有按Client ID区分存储刷新令牌,新授权的令牌直接覆盖了旧的,就会出现旧令牌「失效」的假象。
  • 会话混淆:在同一用户会话(比如同一个浏览器)中连续发起不同Client ID的授权请求时,若没有做好会话隔离,可能导致凭证被错误覆盖。
  • 手动撤销授权:用户可能在Google账号的「安全-第三方应用访问」里手动撤销了第一个Client ID的权限,这和第二个Client ID的操作无关。

实现多Client ID独立授权的正确做法

  • 按「用户ID+Client ID」维度存储凭证:每个Client ID的刷新令牌、访问令牌、过期时间单独存储,确保不会互相覆盖。
  • 独立处理每个Client ID的授权流程:每个授权请求生成独立的state参数,回调时严格对应到发起请求的Client ID,避免会话串用。
  • 调用API时匹配Client ID:使用刷新令牌获取新访问令牌时,必须用对应的Client ID和密钥,不能跨ID混用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:37:12