AIプロダクトの操作画面とモジュールを表す抽象ビジュアル
NAW / PRODUCTS 03

IMAGE: AI生成ビジュアル

PRODUCTS / GitHub

GitHub Appのステートレス・インストールトークンが全面移行 — 40文字から約520文字に、統合側の確認が必要

GitHubは2026年10月2日、GitHub Appのインストールトークンの新形式(ステートレス形式)への段階的移行が完了し、新規発行分は既定で新形式になるとChangelogで発表した。トークンは約520文字に長大化し、文字数固定の検証や短いDB列・Authorizationヘッダーの切り詰めがあると障害になる。一時ヘッダーは2026年11月30日に廃止予定。

GitHubは2026年10月2日(米国時間)、GitHub Appのインストールトークンの新形式(ステートレス形式)への段階的移行が完了したとChangelogで発表した。2026年4月27日に始まった移行が終わり、今後は新規発行のトークンが既定で新形式になる。発行と検証の高速化とGitHub APIの信頼性向上が目的とされている。以下は同Changelogの記載内容の整理である。

何が変わったか — 既定がステートレス形式に

  • 移行完了: 2026年4月27日に始まったステートレスGitHub Appインストールトークン形式の段階的ロールアウトが完了した。新規発行のインストールトークンは既定でステートレス形式(ghs_APPID_JWT形式)になる。
  • 目的: トークンの発行と検証を高速化し、GitHub APIの信頼性を高めるための変更である。
  • 長さの変化: インストールトークンは引き続きghs_接頭辞で始まるが、長さは約40文字から約520文字に変わる。
  • 不変の仕様: トークンの権限、リポジトリのスコープ、1時間の有効期限、インストールアクセストークンのREST APIエンドポイントは変わらない。切り替え前に発行されたトークンは有効期限まで従来どおり使える。

今後の予定 — 一時ヘッダーは11月30日に廃止

  • 廃止日: 新形式をオンデマンドで検証するために導入された一時的なリクエストヘッダーX-GitHub-Stateless-S2S-Tokenは、2026年11月30日に廃止される。廃止後はGitHubがこのヘッダーを尊重しなくなり、対象アプリは常にステートレス形式のトークンを受け取る。
  • 対応: 両方のトークン形式でアプリとワークフローを検証したら、2026年11月30日より前に本番コードからこのヘッダーを除去することが求められている。

統合の確認 — トークンは不透明な文字列として扱う

  • 基本方針: インストールトークンを扱う全システムが、トークンを不透明な文字列(opaque string)として扱っていることを確認する。
  • 確認ポイント: 公式が挙げるのは、トークンがちょうど40文字であることを要求する検証や旧形式前提のパターン、固定長・短い最大長のDB列・シークレット保管・環境変数、長いAuthorizationヘッダーを切り詰め・拒否するプロキシやゲートウェイやミドルウェア、旧形式パターンにだけ一致するログ記録・シークレットのマスク規則である。
  • 詳細: トークン生成の詳細は公式ドキュメント「Generating an installation access token for a GitHub App」に記載されている。

出典