ZHENGJIM.COM / SECURITY OBSERVATIONS最新发布 2026-11-02 RSS ↗

GitHub CLI 试行短期 OAuth 令牌,旧脚本要检查什么

gh 可以自动刷新短期令牌,但把 gh auth token 的输出保存后长期使用的脚本,仍需要检查过期后的取值方式。

要点

先找出哪些工具会把令牌从 gh 中取出、保存和重复使用,再测试它们能否跨过令牌过期时间正常运行。

相关信息

发布阶段
Public preview,需主动启用
官方起始 CLI 版本
gh v2.103.0
重点检查对象
缓存 gh auth token 输出的脚本或扩展

这是可选预览,原有登录不会自动切换

GitHub 在 10 月 21 日公布这项 public preview。从 gh v2.103.0 起,用户可以在登录时主动选择可过期、可刷新的 OAuth 凭证,日常刷新由 gh 处理。

短期访问令牌泄露后的可用时间较短,但刷新令牌和运行主机仍要保护。这项功能不会自动收回账户原有权限。

最该查的是离开 gh 的那些令牌

如果脚本只是调用 gh,凭证获取通常由客户端处理。如果脚本先执行一次 gh auth token,再把结果放进环境变量、文件或另一个工具,就要检查后续如何重新取值。

先查看版本和登录状态。下面最后一条是选择登录模式的示例,会改变登录会话,应在确认适用后执行。

gh --version
gh auth status
# 确认适用后,选择短期凭证登录
gh auth login --expiring

测试一次调用,还不够

选一条可以恢复的流程,分别确认登录、当前请求和令牌过期后的请求。过期前成功,不能说明几小时后的自动化仍会成功。

使用方式重点检查
交互调用 gh版本、登录状态和实际请求
Git HTTPS 使用 ghcredential helper 是否配置正确
其他脚本复用 token过期后从哪里重新获取
无人值守任务现有身份方案是否适合长期自动化

先改一条流程

不要在还没查清令牌去向时一次切换所有任务。先完成一条流程,记录过期后的表现和恢复方法,再处理其他消费者。凭证泄露时仍需撤销;缩短有效期不能代替撤销和权限控制。

资料来源

  1. GitHub CLI 短期 OAuth 官方公告 ↗
  2. GitHub CLI 身份验证说明 ↗

依据文末资料整理,未做环境实测。编辑与更正说明。

修订记录

2026-10-26:首次发布。

2026-10-27:编辑修订:重写标题、导语和正文,删去重复提示,保留技术范围、来源与原发布时间。

继续阅读本专题 ↗通过 RSS 订阅 ↗