OAuth 權杖
最後更新
Copilot/Codex/Grok 權杖存在哪裡、如何登入、如何刷新。
Keychain 儲存
三家 OAuth 供應商的權杖由 go-pkg/filesystem/keychain 保存在系統 keychain(macOS Keychain、Linux secret-tool)。
| 供應商 | Keychain 鍵 | 登入方式 |
|---|---|---|
| Copilot | COPILOT_OAUTH_TOKEN |
device flow,LoginWithCallback 回傳 *DeviceCode 供顯示驗證碼 |
| Codex | CODEX_OAUTH_TOKEN |
PKCE,LoginWithCallback 回傳授權 URL |
| Grok | GROK_OAUTH_TOKEN |
PKCE,同上 |
三者讀取時皆相容舊鍵 agenvoy.<provider>.token,既有安裝不需重新登入。
使用已保存的權杖
token, err := codex.Load()
if err != nil {
return err
}
agent, err := router.New(router.Config{Name: "codex@gpt-5.1-codex", Token: token})
刷新
EnsureFresh(Copilot 為 EnsureFreshSession)在權杖距過期 60 秒內自動換新,Agent 每次組 header 時都會呼叫,因此長時間執行的程序不需要自行排程刷新。
相關頁面
- OAuth 函式:
Load、LoginWithCallback、EnsureFresh簽名