執行期切換用於認證的 GitHub token
透過 Socialite 等驗證後,可依每位使用者以其 GitHub token 執行 Copilot CLI 的方式。Personal Access Token 需具備
Copilot Requests 權限。Socialite 的 token 應該也需符合相同要求。
若無法從 Socialite 取得可用 token,可改為讓使用者直接輸入 PAT。cli_url)中指定 github_token 或 use_logged_in_user 會發生錯誤。
以下的「每個 session 的 GitHub token(v0.3.0+)」在 TCP 模式下也可以使用。
github_token 選項
這是 SDK 的官方選項。Token 會透過環境變數 COPILOT_SDK_AUTH_TOKEN 傳給 CLI。
use_logged_in_user 選項
指定 github_token 後 use_logged_in_user 會自動變為 false。
如此 CLI 就不會使用已儲存的 OAuth token 或 gh CLI 認證,僅使用明確傳入的 token。
也可以明確將 use_logged_in_user 設為 true。
github_token 的情況下將 use_logged_in_user 設為 false,則會追加 --no-auto-login 旗標,CLI 不會自動登入。
每個 session 的 GitHub token(v0.3.0+)
透過SessionConfig 的 gitHubToken 欄位,可於同一 CLI 程序內為每個 session 指定不同的 GitHub token(支援多租戶)。
由於此 token 是作為 session.create JSON-RPC 的參數傳遞,在 stdio 與 TCP 模式皆可使用。即使在 CLI 已啟動的 TCP 模式,也能以 session 為單位切換 token。
github_token(CLI 程序啟動時的 token)為獨立運作。
若想以 session 為單位切換使用者 token,可使用此欄位。
最新資訊請參考 GitHub 儲存庫。