GitHub CLIの期限付きOAuth:コピーしたトークンの寿命を点検する

Dev
閲覧数 7

CLIはログインしたままなのに、昨日から動く補助スクリプトだけが失敗する。古いトークンを保持していないだろうか。2026年10月21日のGitHub発表を機に、まず認証情報が通る経路を整理したい。

点検図: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

バージョン、ホスト、キャッシュ管理者、再取得時点、検証結果のみ記録し、秘密値は残さない。