繁體中文

認證

ChatGPT 網頁版和 Codex 客戶端的登入方式

OpenAI 認證

使用 OpenAI 模型時,Codex 支援兩種登入方式:

  • 使用 ChatGPT 登入,以使用訂閱權益。
  • 使用 API key 登入,以按用量計費。

ChatGPT 桌面 App、Codex CLI 和 IDE 擴充套件在本機工作時都支援這兩種方式。Codex 雲端則必須使用 ChatGPT 登入。

登入方式還會決定適用哪些管理員控制和資料處理策略:

  • 使用 ChatGPT 登入時,Codex 會遵循 ChatGPT 工作區權限、基於角色的存取控制(RBAC),以及 ChatGPT Enterprise 的資料保留和駐留設定。
  • 使用 API key 時,則遵循 API 組織的資料保留和共享設定。

對於受管理工作區,認證只是存取控制的一層。工作區成員身份和預配決定誰能登入;席位和工作區角色則決定使用者可以使用哪些產品介面和功能。本機使用 ChatGPT 桌面 App、Codex CLI 或 IDE 擴充套件時,權限設定檔還會限制智能體能在裝置上執行什麼操作。規劃這些控制時,請參閱群組與預配角色與工作區權限

使用 ChatGPT 登入

在 ChatGPT 桌面 App、Codex CLI 或 IDE 擴充套件中使用 ChatGPT 登入時,系統會開啟瀏覽器視窗。完成登入後,瀏覽器會把憑據返回給 Codex。

ChatGPT 桌面 App

在未登入頁面選擇 Continue to sign in(繼續登入),然後完成瀏覽器中的登入流程。

使用 API key 登入

你也可以使用 API key 登入 ChatGPT 桌面 App、Codex CLI 或 IDE 擴充套件。API key 可從 OpenAI 控制面板獲取。

ChatGPT 桌面 App

在未登入頁面選擇 Sign in another way(使用其他方式登入),輸入 API key,然後選擇 Continue(繼續)

使用 API key 產生的費用會按標準 API 費率計入 OpenAI Platform 賬戶。參閱 API 定價頁面

API key 認證支援本機 Codex 工作流程,但部分依賴 ChatGPT 工作區存取或雲服務的功能會受限或不可用。可在功能可用性中按套餐比較支援情況。

使用 API key 登入時,Codex 使用標準 API 定價,而不是 ChatGPT 套餐內含的額度。

API key 認證適合程式化 Codex CLI 工作流程,例如 CI/CD job。不要把 Codex 執行能力暴露在不受信任或公開的環境中。

檢查認證狀態或退出登入

打開個人資料選單,可以檢視當前賬戶或 API key 狀態。選擇 Log out(退出登入) 會清除當前憑據。

使用 Codex 存取令牌進行企業自動化

在 ChatGPT Enterprise 工作區中,管理員可以授予存取令牌權限,讓獲准成員為可信、非互動式的 Codex 本機工作流程建立 Codex access token。當自動化需要 ChatGPT 工作區存取、由 ChatGPT 管理的 Codex 權益或企業工作區控制,並且不適合使用瀏覽器登入時,可以使用存取令牌。

存取令牌面向可信指令碼、排程器和私有 CI 執行器。普通 OpenAI API 呼叫仍應使用 Platform API key。

設定步驟、權限、輪換和撤銷方式請參閱存取令牌

保護 Codex 雲端賬戶

Codex 雲端會直接與程式碼庫互動,因此需要比許多其他 ChatGPT 功能更嚴格的保護。請啟用多重身份驗證(MFA)。

如果使用 Google、Microsoft 或 Apple 等社交登入提供商,不強制在 ChatGPT 賬戶中啟用 MFA,但可以在對應提供商中設定:

通過單點登入(SSO)存取 ChatGPT 時,組織的 SSO 管理員應為所有使用者強制啟用 MFA。

如果使用郵箱和密碼登入,必須先為賬戶設定 MFA,才能存取 Codex 雲端。如果賬戶支援多種登入方式,其中一種是郵箱和密碼,那麼即使本次採用其他方式登入,也必須先設定 MFA 才能存取 Codex。

登入快取

無論使用 ChatGPT 還是 API key 登入,ChatGPT 桌面 App、Codex CLI 或 IDE 擴充套件都會快取並複用登入資訊。CLI 與擴充套件共享同一份快取憑據;從任一端退出後,下次啟動 CLI 或擴充套件時都需要重新登入。

Codex 會把登入資訊快取在明文檔案 ~/.codex/auth.json,或儲存在作業系統的憑據儲存中。

對於 ChatGPT 登入會話,Codex 會在 token 過期前自動重新整理,因此活躍會話通常無需再次通過瀏覽器登入。

憑據儲存

使用 cli_auth_credentials_store 控制 Codex CLI 把快取憑據儲存在哪裡:

# file | keyring | auto
cli_auth_credentials_store = "keyring"
  • file:把憑據儲存在 CODEX_HOME 下的 auth.json 中;預設目錄是 ~/.codex
  • keyring:使用作業系統的憑據儲存。
  • auto:優先使用作業系統憑據儲存;不可用時回退到 auth.json

完整 config.toml schema 請參閱設定參考

強制登入方式或工作區

在受管理環境中,管理員可以限制允許使用者使用的認證方式:

# Only allow ChatGPT login or only allow API key login.
forced_login_method = "chatgpt" # or "api"

# When using ChatGPT login, restrict users to a specific workspace.
forced_chatgpt_workspace_id = "00000000-0000-0000-0000-000000000000"

如果當前憑據不符合設定限制,Codex 會退出登入並結束執行。

這些設定通常通過受管理設定統一應用,而不是由每位使用者單獨設定。參閱受管理設定

其他模型提供商

在設定檔中定義自定義模型提供商時,可以選擇以下認證方式:

  • OpenAI authentication:設定 requires_openai_auth = true,使用 OpenAI 認證。之後可以通過 ChatGPT 或 API key 登入。通過 LLM 代理伺服器存取 OpenAI 模型時可使用此方式。當 requires_openai_auth = true 時,Codex 會忽略 env_key
  • Environment variable authentication:設定 env_key = "<ENV_VARIABLE_NAME>",從名為 <ENV_VARIABLE_NAME> 的本機環境變數讀取提供商專用 API key。
  • No authentication:不設定 requires_openai_auth(或設為 false),同時不設定 env_key 時,Codex 會假定提供商無需認證。這適合本機模型。