For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主导航

身份验证

ChatGPT 网页版和 Codex 客户端的登录方式

OpenAI 身份验证

使用 OpenAI 模型时,Codex 支持两种登录方式:

  • 使用 ChatGPT 登录,享用订阅权益
  • 使用 API 密钥登录,按用量付费

ChatGPT 桌面应用、Codex CLI 和 IDE 扩展在本地工作时均支持这两种登录方式。 使用 Codex 云端必须通过 ChatGPT 登录。

您的登录方式还决定适用哪些管理控制措施和数据处理政策。

  • 使用 ChatGPT 登录时,Codex 的使用受您的 ChatGPT 工作空间权限、 基于角色的访问控制(RBAC)以及 ChatGPT Enterprise 的 数据保留和数据驻留设置约束。
  • 使用 API 密钥时,则适用您所属 API 组织的 数据保留和数据共享设置。

对于受管理的工作空间,身份验证只是访问控制的一个层面。 工作空间的成员资格和预配决定谁可以登录, 而席位和工作空间角色决定他们可以使用哪些产品界面和功能。 在 ChatGPT 桌面应用、Codex CLI 或 IDE 扩展中进行本地工作时, 权限配置方案会限制智能体在设备上可执行的操作。 请参阅群组与预配角色与工作空间权限, 以规划相关控制措施。

使用 ChatGPT 登录

在 ChatGPT 桌面应用、Codex CLI 或 IDE 扩展中使用 ChatGPT 登录时,登录流程会打开浏览器窗口。登录后,浏览器会将您的凭据返回给 Codex。

ChatGPT 桌面应用

在未登录界面上,选择 继续登录, 然后在浏览器中完成登录流程。

使用 API 密钥登录

您也可以使用 API 密钥登录 ChatGPT 桌面应用、Codex CLI 或 IDE 扩展。请从 OpenAI 控制面板获取 API 密钥。

ChatGPT 桌面应用

在未登录界面上,选择 使用其他方式登录,输入密钥, 然后选择 继续

OpenAI 会通过您的 OpenAI Platform 账户,按照标准 API 费率对 API 密钥用量计费。请参阅API 定价页面

API 密钥身份验证支持本地 Codex 工作流, 但部分依赖 ChatGPT 工作空间访问权限或云服务的功能会受限或无法使用。 如需比较不同方案的支持情况, 请参阅功能可用性

在 Codex CLI 和 ChatGPT 桌面应用中的 Codex 中, 使用 API 密钥进行身份验证后,可以访问受支持的 OpenAI 精选插件。 部分插件无法使用,因为其连接流程需要尚不受支持的 OAuth 功能。 请参阅使用插件

使用 API 密钥登录时,Codex 按标准 API 定价计费, 而不会使用 ChatGPT 方案中包含的额度。

对于以程序方式运行的 Codex CLI 工作流,例如 CI/CD 作业, 请使用 API 密钥进行身份验证。请勿在不受信任或公开的环境中暴露 Codex 执行功能。

检查身份验证状态或退出登录

打开个人资料菜单,查看当前账户或 API 密钥状态。 选择退出登录 以清除当前凭据。

使用 Codex 访问令牌实现企业自动化

在 ChatGPT Enterprise 工作空间中,管理员可以授予访问令牌权限, 使获准成员能够为受信任、非交互式的 Codex 本地工作流创建 Codex 访问令牌。 如果自动化流程需要在不通过浏览器登录的情况下访问 ChatGPT 工作空间、 使用由 ChatGPT 管理的 Codex 权益,或应用企业工作空间控制措施, 请使用访问令牌。

访问令牌适用于受信任的脚本、调度程序和私有 CI 运行器。 对于常规 OpenAI API 调用,请继续使用 Platform API 密钥。

有关设置步骤、权限、轮换和撤销的指导, 请参阅访问令牌

如果您的云平台、CI 系统或集群 已签发短期有效的工作负载令牌, 请使用工作负载身份联合, 而不要存储 OpenAI 凭据。

保护您的 Codex 云端账户

Codex 云端会直接与您的代码库交互,因此其安全要求高于许多其他 ChatGPT 功能。请启用多重身份验证(MFA)。

如果您使用社交登录提供商(Google、Microsoft、Apple)登录,则不强制要求您在 ChatGPT 账户上启用 MFA,但您可以在社交登录提供商处设置 MFA。

有关设置说明,请参阅:

如果您通过单点登录(SSO)访问 ChatGPT,您所在组织的 SSO 管理员应强制所有用户启用 MFA。

如果您使用电子邮件和密码登录,则必须先为账户设置 MFA,才能访问 Codex 云端。

如果您的账户支持多种登录方式,且其中一种是电子邮件和密码,那么即使使用其他方式登录,也必须先设置 MFA,才能访问 Codex。

登录信息缓存

使用 ChatGPT 或 API 密钥登录 ChatGPT 桌面应用、Codex CLI 或 IDE 扩展时,您的登录信息会被缓存并重复使用。CLI 和扩展共享同一份缓存的登录信息。如果您从任一端退出登录,下次启动 CLI 或扩展时都需要重新登录。

Codex 会将登录信息缓存在本地明文文件 ~/.codex/auth.json 中,或缓存在操作系统专用的凭据存储区中。

对于使用 ChatGPT 登录的会话,Codex 会在使用期间自动刷新即将过期的 Token,因此活跃会话通常可以继续,无需再次通过浏览器登录。

凭据存储

使用 cli_auth_credentials_store 控制 Codex CLI 存储缓存凭据的位置:

# file | keyring | auto | ephemeral
cli_auth_credentials_store = "keyring"
  • file 将凭据存储在 CODEX_HOME(默认为 ~/.codex)目录下的 auth.json 中。
  • keyring 将凭据存储在操作系统的凭据存储区中;如果该存储区不可用,操作会失败。
  • auto 在操作系统的凭据存储区可用时使用该存储区,否则回退到 auth.json
  • ephemeral 仅在当前进程的内存中保存凭据。

有关完整的 config.toml 模式, 请参阅配置参考

管理员可以通过 本地身份验证要求强制设置 cli_auth_credentials_storechatgpt_base_url。 用户无法通过 config.toml 或 CLI 覆盖选项更改这些要求。

如果您使用文件存储,请像保护密码一样保护 ~/.codex/auth.json: 其中包含访问令牌。请勿将其提交到代码仓库、粘贴到工单中, 或在聊天中分享。

强制使用指定的登录方式或工作空间

在托管环境中,管理员可以限制用户获准使用的身份验证方式:

# 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 身份验证:设置 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 会认为该提供商不要求身份验证。这适用于本地模型。