GitHub CLI限时OAuth预览:检查令牌副本的寿命

Dev
浏览 7

CLI仍然处于登录状态,昨天启动的辅助脚本却失败了。它是否还保留着旧令牌?GitHub于2026年10月21日发布的预览提醒团队,先梳理凭证的流向。

检查示意图:分别检查CLI刷新、外部副本和使用操作。并非产品截图或性能测试。
检查示意图:分别检查CLI刷新、外部副本和使用操作。并非产品截图或性能测试。

已确认变化:主动选择可刷新凭证

从v2.103.0开始,gh auth login --expiring可申请可刷新凭证。gh保存限时access token和轮换的refresh token。已有登录及手动令牌行为不变。github.com、ghe.com和GHES 3.23及以上支持;不支持的服务器可能返回无期限令牌。因此应通过gh auth status检查实际状态。

复制的字符串不会自行刷新

GitHub提醒,一次获取gh auth token结果再长期复用的脚本可能遇到过期问题。外部使用方应在需要时重新获取。启动时读取成功不能证明后续步骤仍有效。refresh token泄露也有风险,短时效不能代替最小权限和撤销机制。

团队可采用的检查顺序

记录版本、主机及把令牌复制到文件、环境变量或扩展的使用方。只记管理者与重新获取时点,不收集秘密值。在测试环境比较启动后及一段时间后的同一读取操作,区分过期、权限和网络问题。HTTPS git可评估gh auth setup-git与git 2.46以上的官方建议。实际配置变更应单独审核。

部分路径应先改造再采用

如果集成依赖长期有效的令牌,官方也建议暂缓该流程的参与。记录负责人和复查日期,避免无限搁置。不要把开发者OAuth与CI的GITHUB_TOKEN混为一谈。一个开关无法统一所有自动化的权限、期限与撤销方式。再次确认安装版本的支持范围。

开发者常说的“保持登录”需要拆成两个问题:管理工具能否刷新,使用方能否获得新值?本文没有测量社区故障率。画出一条真实使用路径,有助于明确缓存所有者及小范围试验边界。

官方来源与进一步检查

GitHub Changelog · Expiring OAuth preview

GitHub Docs · CLI authentication

团队文档只记录版本、主机、缓存管理者、获取时点和结果,不记录秘密值。