Skip to main content

認証

Copilot SDKは複数の認証方法をサポートします。用途に合わせて選択してください。

認証方法

BYOKは Custom providers を参照。

GitHubログイン(CLI)

copilot もしくは gh CLIでログイン済みの場合は、何も指定しなければ保存済みの認証情報が使われます。

OAuth GitHub App / PAT

OAuthフローで取得したユーザーアクセストークン、またはFine-grained PATをgithub_tokenに渡します。
  • gho_ / ghu_ / github_pat_ を想定
  • ghp_(Classic PAT)は非推奨
github_tokenを指定するとuse_logged_in_userは自動でfalseになります。明示的に切り替えたい場合は次の通り。
詳細は GitHub token を参照。 github_tokenとuse_logged_in_userはstdioモード専用です。TCPモードではCopilot CLI側で認証済みである必要があります。

環境変数

環境変数でトークンを渡す場合は、CLIが自動的に検出します。優先順位は上から順です。
  1. COPILOT_GITHUB_TOKEN
  2. GH_TOKEN
  3. GITHUB_TOKEN
TCPモードではCLIサーバー側の環境変数を設定してください。

認証の優先順位

SDKは以下の順で認証情報を解決します。
  1. github_token(明示指定)
  2. 環境変数トークン(COPILOT_GITHUB_TOKEN → GH_TOKEN → GITHUB_TOKEN)
  3. CLIに保存されたOAuth認証情報
  4. gh CLIの認証情報

自動ログインを無効化

保存済みの認証情報を使いたくない場合はuse_logged_in_userをfalseにします。
github_tokenと同様にstdioモードのみ対応です。TCPモードではCopilot CLI側で認証済みである必要があります。

認証状態の確認

auth.getStatusの結果を取得して確認できます。

対話型ログインのアカウント選択

セッションRPCからloginAccountsを列挙すると、指定したプロバイダーで再利用できる保存済みIDを取得できます。各項目のlabelは表示用、activeはそのIDが現在のセッションの有効なアカウントに対応するかを示します。accountIdはプロバイダーが所有する不透明なIDです。内容を解析・加工せず、そのままログイン開始時に渡してください。
通常のプロバイダー動作で保存済みIDを使う場合はmode: 'default'を指定します。プロバイダーのアカウント選択UIを明示的に表示したい場合はmode: 'selectAccount'を使い、この場合はaccountIdを渡しません。既存のbegin(LoginProviderKind::ENTRA)のような呼び出しも引き続き利用できます。
最新情報は GitHub リポジトリ を参照してください。
最終更新日 2026年10月19日