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をcredential helperとして設定し、トークンを保存するスクリプトやアプリケーションも別途確認してください。
画像の役割:カバー — 中心となるテーマ
セクション:
ビジュアルの内容:GitHub CLIの認証コマンドを表示するターミナルと、物理的なセキュリティキーを並べた、テクノロジーをテーマにしたエディトリアル写真
© jsonscraper · AI生成イラスト

更新可能な認証情報を有効にする

GitHub CLIのバージョン2.103.0以降が必要です。個別のログイン時にフラグ --expiring を追加します。

gh auth login --expiring

以後のログインでも更新可能な認証情報を要求するには、次のコマンドを実行します。

gh config set expiring_credentials enabled

CLIは、有効期限付きアクセストークンとローテーションするリフレッシュトークンを保存し、認証情報が必要になったときに更新します。認証状態と現在のトークンの有効期限は、コマンド gh auth status で確認できます。このフラグは更新可能な認証情報を要求するものですが、実際に発行されるかどうかはホストの機能とOAuthアプリの設定によります。サーバーが対応していない場合、CLIは有効期限のない通常のトークンを使用します。

Gitを認証情報の利用側として設定する

HTTPSを使うリポジトリでは、GitHub CLIをGitのcredential helperとして設定します。

gh auth setup-git

これによりGitはghから認証情報を取得し、使用前に更新できるようになります。GitHubはGitバージョン2.46以降を推奨しています。このバージョンでは、CLIが有効期限付き認証情報を示せるため、Gitが期限切れ後も認証情報をキャッシュするのを防げます。それより古いGitでもGitHub CLIは動作しますが、一度だけアップグレードを促すメッセージが表示されます。

設定後、リモートリポジトリの状態を読み取るなど、HTTPS経由で通常のGit操作を試してください。Gitがhelper経由で認証情報を取得していることを確認します。これにより、CLIへのログインだけでなく、認証の経路全体を検証できます。

スクリプトと外部アプリケーションを確認する

注意が必要なのは、gh auth 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を公開—6モデルの廃止と同日に
Read the next article

読んだ内容を実用的な連携へ

jsonscraperのソーシャルデータAPIを調べ、リクエストを試し、次のワークフローを構築しましょう。

APIを探す