身份验证
OpenAI 身份验证
Section titled “OpenAI 身份验证”使用 OpenAI 模型时,Codex 支持两种登录方式:
- 使用 ChatGPT 登录以访问订阅
- 使用 API 密钥登录以按使用量计费
ChatGPT 桌面应用、Codex CLI 和 IDE 扩展支持在本地工作时使用这两种登录方式。Codex cloud 要求使用 ChatGPT 登录。
你的登录方式还决定了适用的管理员控制和数据处理政策。
- 使用 ChatGPT 登录时,Codex 的使用遵循你的 ChatGPT 工作区权限、基于角色的访问控制(RBAC)以及 ChatGPT Enterprise 的保留和数据驻留设置。
- 使用 API 密钥时,使用情况则遵循你的 API 组织的保留和数据共享设置。
对于受管理的工作区,身份验证只是访问控制的一层。工作区成员资格和配置决定谁可以登录,而席位和工作区角色决定他们可以使用哪些产品界面和功能。对于在 ChatGPT 桌面应用、Codex CLI 或 IDE 扩展中进行本地工作,权限配置文件会限制代理在设备上可以执行的操作。请参阅群组和配置以及角色和工作区权限,以规划这些控制措施。
使用 ChatGPT 登录
Section titled “使用 ChatGPT 登录”从 ChatGPT 桌面应用、Codex CLI 或 IDE 扩展使用 ChatGPT 登录时,登录流程会打开浏览器窗口。登录后,浏览器会将你的凭据返回给 Codex。
ChatGPT 桌面应用
Section titled “ChatGPT 桌面应用”在已退出登录的屏幕上,选择继续登录,然后完成浏览器流程。
使用 API 密钥登录
Section titled “使用 API 密钥登录”你也可以使用 API 密钥登录 ChatGPT 桌面应用、Codex CLI 或 IDE 扩展。从 OpenAI 控制台获取 API 密钥。
ChatGPT 桌面应用
Section titled “ChatGPT 桌面应用”在已退出登录的屏幕上,选择使用其他方式登录,输入密钥,然后选择继续。
OpenAI 会通过你的 OpenAI Platform 账户,按照标准 API 费率对 API 密钥的使用量计费。请参阅 API 定价页面。
API 密钥身份验证支持本地 Codex 工作流,但依赖 ChatGPT 工作区访问权限或云服务的某些功能会受到限制或无法使用。请按套餐在功能可用性中比较支持情况。
在 Codex CLI 和 ChatGPT 桌面应用中的 Codex 中,API 密钥身份验证包括对受 OpenAI 筛选的插件的访问权限。某些插件不可用,因为其连接流程需要不受支持的 OAuth 功能。请参阅使用插件。
使用 API 密钥登录时,Codex 使用标准 API 定价,而不是 ChatGPT 套餐中包含的额度。
将 API 密钥身份验证用于编程式 Codex CLI 工作流,例如 CI/CD 作业。不要在不受信任或公开的环境中暴露 Codex 执行过程。
检查身份验证或退出登录
Section titled “检查身份验证或退出登录”打开个人资料菜单,查看当前账户或 API 密钥状态。选择退出登录以清除当前凭据。
使用 Codex 访问令牌进行企业自动化
Section titled “使用 Codex 访问令牌进行企业自动化”在 ChatGPT Enterprise 工作区中,管理员可以授予访问令牌权限,使获准成员能够为受信任的非交互式 Codex 本地工作流创建 Codex 访问令牌。当自动化需要 ChatGPT 工作区访问权限、ChatGPT 管理的 Codex 权益或企业工作区控制,而无需通过浏览器登录时,请使用访问令牌。
访问令牌适用于受信任的脚本、调度程序和私有 CI 运行器。对于一般的 OpenAI API 调用,请继续使用 Platform API 密钥。
有关设置步骤、权限、轮换和撤销指南,请参阅访问令牌。
保护你的 Codex cloud 账户
Section titled “保护你的 Codex cloud 账户”Codex cloud 会直接与你的代码库交互,因此需要比许多其他 ChatGPT 功能更强的安全措施。请启用多重身份验证(MFA)。
如果你使用社交登录提供商(Google、Microsoft、Apple),则无需在 ChatGPT 账户上启用 MFA,但可以在社交登录提供商处进行设置。
有关设置说明,请参阅:
如果你通过单点登录(SSO)访问 ChatGPT,你所在组织的 SSO 管理员应为所有用户强制启用 MFA。
如果你使用电子邮件和密码登录,则必须先在账户上设置 MFA,然后才能访问 Codex cloud。
如果你的账户支持多种登录方式,且其中一种是电子邮件和密码,则必须先设置 MFA,然后才能访问 Codex,即使你使用其他方式登录也是如此。
当你使用 ChatGPT 或 API 密钥登录 ChatGPT 桌面应用、Codex CLI 或 IDE 扩展时,登录信息会被缓存并重复使用。CLI 和扩展共享相同的缓存登录信息。如果你从其中任意一个退出登录,下次启动 CLI 或扩展时都需要重新登录。
Codex 会将登录信息以明文形式缓存在本地文件 ~/.codex/auth.json 中,或缓存在操作系统专用的凭据存储中。
对于使用 ChatGPT 登录的会话,Codex 会在令牌过期前的使用过程中自动刷新令牌,因此活动会话通常会持续存在,无需再次通过浏览器登录。
使用 cli_auth_credentials_store 控制 Codex CLI 存储缓存凭据的位置:
# file | keyring | autocli_auth_credentials_store = "keyring"file将凭据存储在CODEX_HOME下的auth.json中(默认为~/.codex)。keyring将凭据存储在操作系统的凭据存储中。auto在可用时使用操作系统的凭据存储,否则回退到auth.json。
完整的 config.toml 架构请参阅配置参考。
如果使用基于文件的存储,请像保护密码一样保护 ~/.codex/auth.json:其中包含访问令牌。不要提交它、将其粘贴到工单中,也不要在聊天中分享。
强制使用登录方式或工作区
Section titled “强制使用登录方式或工作区”在受管理的环境中,管理员可以限制允许用户进行身份验证的方式:
# 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 会将用户退出登录并退出。
这些设置通常通过受管理的配置应用,而不是通过每个用户的设置应用。请参阅受管理的配置。
备用模型提供商
Section titled “备用模型提供商”在配置文件中定义自定义模型提供商时,可以选择以下身份验证方式之一:
- OpenAI 身份验证:设置
requires_openai_auth = true以使用 OpenAI 身份验证。随后可以使用 ChatGPT 或 API 密钥登录。当你通过 LLM 代理服务器访问 OpenAI 模型时,此方式很有用。当requires_openai_auth = true时,Codex 会忽略env_key。 - 环境变量身份验证:设置
env_key = "<ENV_VARIABLE_NAME>",以使用本地环境中名为<ENV_VARIABLE_NAME>的环境变量所提供的提供商专用 API 密钥。 - 无身份验证:如果未设置
requires_openai_auth(或将其设置为false),且未设置env_key,Codex 会假定该提供商不需要身份验证。这对于本地模型很有用。