jsonscraper

GitHub CLI 新增可过期 OAuth 令牌:如何启用并检查集成

自 10 月 21 日起,GitHub CLI 支持可自动刷新的过期凭据。本文介绍如何启用,以及保存令牌的自动化流程可能在哪些地方出问题。

编辑政策 报告错误

曾经复制到变量或脚本中的令牌,可能会在过期后失效。2026 年 10 月 21 日,GitHub 宣布在 GitHub CLI 中公开预览支持自动刷新的过期 OAuth 凭据。此模式为可选功能,适用于由 CLI 管理身份验证的工作流程。

文章:GitHub CLI 新增可过期 OAuth 令牌:如何启用并检查集成
摘要:在 GitHub CLI 的公开预览版中,可以请求可自动刷新的过期 OAuth 凭据。对于 HTTPS Git 操作,请将 CLI 配置为凭据助手;同时检查保存令牌的脚本和应用。
图片用途:封面——核心主题
章节:
视觉主体:编辑风格的科技照片,展示终端中的 GitHub CLI 身份验证命令,旁边有一台实体设备
© jsonscraper · AI 生成插图

如何启用可刷新的凭据

需要使用 2.103.0 或更高版本的 GitHub CLI。单次登录时,添加 --expiring 标志:

gh auth login --expiring

若希望之后登录时也请求可刷新的凭据,请运行:

gh config set expiring_credentials enabled

CLI 会将可过期的 access token 与 rotating refresh token 一同保存,并在需要时刷新凭据。运行 gh auth status 可查看身份验证状态和当前令牌的有效期。该标志用于请求可刷新的凭据;能否发放取决于主机支持情况以及 OAuth 应用的配置。如果服务器不支持,CLI 会改用普通的非过期令牌。

将 Git 配置为凭据使用方

对于使用 HTTPS 的仓库,请将 GitHub CLI 配置为 Git 凭据助手:

gh auth setup-git

之后,Git 会向 gh 请求凭据,由它在使用前刷新凭据。GitHub 建议使用 Git 2.46 或更高版本:此版本允许 CLI 标记可过期凭据,避免 Git 在凭据过期后继续缓存它们。较旧版本的 Git 仍可使用,但 GitHub CLI 会提示升级一次。

完成配置后,使用 HTTPS 执行常规 Git 操作进行测试,例如读取远程仓库状态。确认 Git 是通过凭据助手获取凭据,这样测试覆盖的是完整的身份验证流程,而不仅仅是 CLI 登录。

检查脚本和外部应用

容易出问题的是这类脚本或扩展:它们运行一次 gh auth token,保存返回的字符串,之后反复使用。这样的 access token 可能会过期。如果外部进程需要令牌,请在每次运行时通过 gh auth token 获取新令牌。使用方本身必须能够使用最新值,并处理令牌过期的情况。

在工作环境中启用此模式前,请检查 CI 任务、本地脚本、编辑器扩展,以及从环境变量或配置文件中读取令牌的工具。确认它们会在启动时获取最新值,还是依赖已保存的副本。对于需要长期有效令牌的进程,请保留原有的身份验证方案。

功能适用范围

GitHub 宣布该功能支持 github.com 和 ghe.com。GitHub Enterprise Server 从 3.23 版本开始发放这类凭据;在更早版本中,请求可刷新凭据会退回到普通的非过期令牌。此模式目前需主动启用;GitHub 计划逐步将其设为新登录的默认方式。

实用步骤:升级 GitHub CLI,启用可刷新凭据请求,通过 gh auth setup-git 配置 Git,并检查外部进程是否保存令牌。这样有助于在切换前发现不兼容的使用场景。

GitHub 在预览公告和 gh auth login 命令文档中发布了详细信息。

People

No people listed for this article yet.

Keep readingGitHub 将 Copilot 模型管理纳入 REST API,同日停用六款模型
Read the next article

将阅读内容转化为可用的集成

探索 jsonscraper 社交数据 API、测试请求并构建下一个工作流。

查看 API