觉
AI觉醒星球
Awakening is here
Knowledge File / 全球热点解读
2026-10-22 2 浏览 公开

GitHub CLI:可选择启用可过期、自动刷新的 OAuth 令牌

GitHub CLI 推出公开预览:登录时可选择启用可过期、自动刷新的 OAuth 凭证,泄露的访问令牌在数小时内失效;同时官方明确表示,未来会把该行为设为新登录的默认。

SOURCE / 全球热点解读 MIN / 9 ACCESS / 公开 POST / 2026-10-22 00:43:23

原贴

查看原文
作者:Allison 来源站点:github.blog 原贴时间:

原文

You can now use expiring, automatically refreshing OAuth credentials in GitHub CLI as part of a public preview. When you opt in, gh stores an expiring access token alongside a rotating refresh token and automatically refreshes the token whenever it is needed. You stay authenticated without reauthenticating, and a leaked access token becomes unusable within hours instead of lasting indefinitely. Starting with v2.103.0, pass the new --expiring flag when you log in with gh auth login --expiring . To opt in for every sign-in without passing the flag each time, run gh config set expiring_credentials enabled . From then on, there is nothing new to run day to day: gh refreshes the credential for you in the background. To check the state of an expiring credential, including when the current access token expires, run gh auth status . If you authenticate to git over HTTPS and want to use expiring tokens, we strongly recommend configuring gh as your git credential helper by running gh auth setup-git . This lets gh serve and refresh the credential for git, so your expiring token is correctly handled. We also strongly recommend upgrading to git 2.46 or newer, which lets gh mark expiring credentials so they are not cached past their lifetime. On older git versions, gh still works but prints a one-time recommendation to upgrade. It’s opt-in and backward compatible. If you don’t opt in through the flag or configuration setting, nothing changes. Existing sign-ins and manually supplied tokens keep working exactly as before. You get whatever the server issues. --expiring requests refreshable credentials. If a server does not support them, gh falls back cleanly to a normal nonexpiring token. It will become the default over time. Expiring credentials are opt-in today. In a future release, we plan to make them the default for new sign-ins. Expiring access tokens are short-lived, so anything that captures a token once and reuses it later can break. Scripts and extensions that run gh auth token and store the result, or copy the token into another tool, will eventually be left holding an expired token. If you consume the token outside of gh , read it fresh each time with gh auth token . This refreshes it when needed rather than caching the value. If a workflow depends on a token that stays valid for a long time, hold off on opting in for that workflow. When gh is configured as your git credential helper, it refreshes the credential for you, so git operations over HTTPS keep working. Expiring tokens are available on github.com and ghe.com today. GitHub Enterprise Server issues them starting with GHES 3.23. On earlier versions, opting in falls back to today’s nonexpiring behavior. For more on authenticating with GitHub CLI, including expiring tokens, see Authenticating with GitHub CLI . Install or upgrade to GitHub CLI v2.103.0 today to get started.

中文翻译

你现在可以在 GitHub CLI 中使用可过期、自动刷新的 OAuth 凭证,作为公开预览的一部分。当你选择启用后,gh 会存储一个可过期的访问令牌和一个轮换的刷新令牌,并在需要时自动刷新令牌。你无需重新认证即可保持已认证状态,而泄露的访问令牌会在数小时内失效,而不是无限期有效。

从 v2.103.0 开始,在使用 gh auth login --expiring 登录时传入新的 --expiring 标志。若要在每次登录时都选择启用、而不必每次传入该标志,运行 gh config set expiring_credentials enabled。此后,日常无需再运行任何新命令:gh 会在后台为你刷新凭证。要检查可过期凭证的状态,包括当前访问令牌何时过期,运行 gh auth status。

如果你通过 HTTPS 向 git 进行认证,并且希望使用可过期令牌,我们强烈建议运行 gh auth setup-git,将 gh 配置为你的 git 凭证助手。这会让 gh 为 git 提供并刷新凭证,从而使你的可过期令牌得到正确处理。我们还强烈建议升级到 git 2.46 或更新版本,这能让 gh 标记可过期凭证,使其不会在超出生命周期后被缓存。在更旧的 git 版本上,gh 仍可工作,但会打印一次性升级建议。

它是选择启用的,并且向后兼容。如果你不通过标志或配置设置选择启用,什么都不会改变。现有的登录和手动提供的令牌完全照旧工作。你会得到服务器签发的任何内容。--expiring 请求可刷新的凭证。如果服务器不支持它们,gh 会干净地回退到普通的非过期令牌。它会随时间推移成为默认。

可过期凭证目前是选择启用的。在未来的版本中,我们计划让它们成为新登录的默认。可过期访问令牌是短寿命的,因此任何一次性捕获令牌并在之后复用的做法都可能失效。运行 gh auth token 并存储结果、或把令牌复制到另一工具的脚本和扩展,最终会持有一个已过期的令牌。如果你在 gh 之外使用该令牌,请每次都用 gh auth token 重新读取,这会按需刷新它,而不是缓存该值。如果某个工作流依赖长期保持有效的令牌,请暂缓为该工作流选择启用。

当 gh 被配置为你的 git 凭证助手时,它会为你刷新凭证,因此通过 HTTPS 的 git 操作会继续正常工作。可过期令牌今天在 github.com 和 ghe.com 上可用。GitHub Enterprise Server 从 GHES 3.23 开始签发它们。在更早的版本上,选择启用会回退到今天的非过期行为。关于使用 GitHub CLI 进行认证(包括可过期令牌)的更多信息,见《使用 GitHub CLI 认证》。今天就安装或升级到 GitHub CLI v2.103.0 开始使用。

核心信息

GitHub CLI 推出公开预览:登录时可选择启用可过期、自动刷新的 OAuth 凭证,泄露的访问令牌在数小时内失效;同时官方明确表示,未来会把该行为设为新登录的默认。

  • GitHub CLI 推出公开预览:登录时可选择启用可过期、自动刷新的 OAuth 凭证,泄露的访问令牌在数小时内失效;同时官方明确表示,未来会把该行为设为新登录的默认。
  • 原贴提到:You can now use expiring, automatically refreshing OAuth credentials in
  • 来源:github.blog

详细解读

这是什么信号:GitHub CLI 把“短期访问令牌 + 轮换刷新令牌”这套原本偏企业级的凭证模型,下放成了命令行默认体验的一个可选开关。更关键的信号在于:公告写明这会在未来版本中变成新登录的默认。也就是说,这不是一个加了就完事的小功能,而是 GitHub 正在迁移 OAuth 凭证的默认形态。

为什么重要:长期有效的访问令牌是开发者工具链里泄露面最大的资产之一:一旦被日志、截图、CI 变量、第三方工具带走,它就能无限期使用。可过期令牌把“一次泄露 = 永久访问”改成“一次泄露 = 数小时窗口”,而刷新令牌轮换进一步压缩了复用空间。安全收益不来自你多做了什么,而来自你少暴露了什么。

对谁有价值:一是写脚本和 gh 扩展的人,尤其是那些会缓存 gh auth token 结果的;二是用 gh 做 git over HTTPS 认证的团队;三是需要向审计解释“令牌为什么不能永久有效”的平台和安全工程;四是 CI/CD 维护者,因为默认切换的时间点会直接影响他们。

可以怎么行动:先把 GitHub CLI 升到 v2.103.0。个人可以单次使用 gh auth login --expiring,或一次性设置 gh config set expiring_credentials enabled,开启后日常不需要额外操作。用 HTTPS 访问 git 的,运行 gh auth setup-git,让 gh 兼任凭证助手并负责刷新;同时把 git 升到 2.46 或更新,避免凭证在生命周期结束后仍被缓存。最重要的一步是审计:把所有“取一次 token 存起来反复用”的脚本改成每次现取 gh auth token。核对状态用 gh auth status。

风险与限制:这是选择启用的,并且向后兼容;不启用则什么都不变,服务器不支持时也会干净回退到非过期令牌,所以现在并不需要急着全量切换。真正的坑在依赖长期有效令牌的工作流上,官方直接建议这类工作流暂缓。旧版本 git 能运行,但会打印一次性升级提示;GHES 需要 3.23 起才签发可过期令牌,更早版本会回退。还有一点容易被忽略:把令牌复制到其他工具里使用的路径,最终会拿到一个已过期的令牌,而且这个问题不会在切换当天暴露,而是在令牌到期时才暴露。

信息差价值

这条内容的真正价值,不只是“有人发布了一个新功能”,而是它揭示了 github.blog 背后的产品方向、工作流变化或竞争信号。对 OPC 来说,这种信息可以转化成持续追踪的栏目选题。

如果把《GitHub CLI:可选择启用可过期、自动刷新的 OAuth 令牌》放到你的内容系统里,它最大的价值在于帮助读者更快看懂“为什么值得关注”,而不是只看到一条碎片化动态。

参考来源

AI SUMMARY

这篇文章回答了什么

GitHub CLI:可选择启用可过期、自动刷新的 OAuth 令牌主要讲什么?

GitHub CLI 推出公开预览:登录时可选择启用可过期、自动刷新的 OAuth 凭证,泄露的访问令牌在数小时内失效;同时官方明确表示,未来会把该行为设为新登录的默认。

这篇文章最值得关注的要点是什么?

GitHub CLI 推出公开预览:登录时可选择启用可过期、自动刷新的 OAuth 凭证,泄露的访问令牌在数小时内失效;同时官方明确表示,未来会把该行为设为新登录的默认。;原贴提到:You can now use expiring, automatically refreshing OAuth credentials in;来源:github.blog

这篇文章和哪些AI专题相关?

它适合放在AI日报、AI工具、Agent工作流专题里阅读。 关联原因:这篇内容命中「热点解读」等主题信号。;这篇内容命中「工具」等主题信号。;这篇内容来自该专题长期覆盖的栏目。

阅读这篇文章建议先理解哪些关键词?

建议先理解AI日报、每日AI日报、AI信号、热点解读、BuilderPulse这些关键词,再结合正文判断工具、机会或风险是否值得进入自己的工作流。

上一篇 DeepMind 创始人哈萨比斯将 AGI 时间表从五年缩短至两到三年 下一篇 AIHOT 日报参考 2026-10-21
北竹游乐场 免费玩小游戏 免费玩