GitHub App 无状态安装 token 正式推出

GitHub 已完成无状态安装令牌的分阶段上线,新签发的 App installation token 默认改为约 520 字符的 ghs_APPID_JWT 格式,签发与校验更快,但所有把它当作定长 40 字符串处理的代码都需要提前改造。

一句话看懂:GitHub 已完成无状态安装令牌的分阶段上线,新签发的 App installation token 默认改为约 520 字符的 ghs_APPID_JWT 格式,签发与校验更快,但所有把它当作定长 40 字符串处理的代码都需要提前改造。

事件核心:发生了什么

GitHub 在 2026 年 10 月 2 日的 Changelog 中确认,自 4 月 27 日启动的无状态 GitHub App 安装令牌迁移已经全部完成。新令牌仍以 ghs_ 开头,长度从原来的 40 字符变为约 520 字符,底层采用 ghs_APPID_JWT 格式。权限范围、仓库授权、一小时的过期时间以及 installation access token 的 REST API 端点均未变化;迁移前签发的旧令牌在过期前仍然有效。

GitHub 还提到,用于按需验证新格式的临时请求头 X-GitHub-Stateless-S2S-Token 将于 2026 年 11 月 30 日弃用,此后 GitHub 不再识别该请求头,符合条件的应用将一律收到无状态令牌。

为什么重要

这不是面向终端用户的功能更新,而是基础设施层面的格式变更。令牌变长意味着签发和验证过程不再依赖服务端保存的状态,理论上可以降低 GitHub API 的延迟、提升可靠性,对大规模调用 GitHub API 的自动化平台、CI/CD 流水线和 AI 编程代理更友好。但代价是兼容性:任何把令牌当作固定长度字符串的系统都可能在中途失败。GitHub 采用分阶段上线并给出临时验证头,属于典型的“先兼容、再切换”策略,也给依赖 GitHub 生态的第三方工具留出了调整窗口。

对用户/开发者/创作者的影响

普通用户基本无感,但开发者和平台维护者需要立刻自查。重点检查四类位置:一是校验逻辑里写死 40 字符长度或旧格式正则的地方;二是数据库字段、密钥管理服务和环境变量中按小长度设定的上限;三是会截断或拒绝超长 Authorization 请求头的代理、网关和中间件;四是只匹配旧令牌模式的日志脱敏规则。官方建议把安装令牌一律当作不透明字符串处理,不要在业务逻辑中解析其内部结构。目前公开信息显示,旧令牌仍可正常工作至过期,因此不必强制立即重新签发,但代码改造应在 11 月 30 日前完成。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

值得关注的后续

可以观察三点:GitHub 是否会在 11 月 30 日后清理仍使用临时请求头的应用;主流 CI/CD、GitOps 和 AI 编程工具是否及时发布兼容版本;以及无状态令牌在真实大规模调用下,API 延迟和失败率是否出现可感知的改善。

来源:GitHub Changelog

celebrityanime
celebrityanime
文章: 27035

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注