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,但可以通过社交登录提供商进行设置。

有关设置说明,请参阅:

如果您通过单点登录(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
cli_auth_credentials_store = "keyring"
  • file 会将凭据存储在 auth.json 文件中;该文件位于 CODEX_HOME 目录下(默认为 ~/.codex)。
  • keyring 会将凭据存储在操作系统的凭据存储区中。
  • auto 会在操作系统凭据存储区可用时使用该存储区,否则回退到 auth.json

请参阅配置参考资料,了解完整的 config.toml 模式。

如果使用基于文件的存储,请像保护密码一样保护 ~/.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 会认为该提供商不需要身份验证。这种方式适用于本地模型。