Autenticación de OpenAI
Codex admite dos formas de iniciar sesión al usar modelos de OpenAI:
- Iniciar sesión con ChatGPT para acceder mediante una suscripción
- Iniciar sesión con una clave de API para acceder con pago por uso
La aplicación de escritorio de ChatGPT, Codex CLI y la extensión para IDE admiten ambos métodos de inicio de sesión para trabajar de forma local. Codex Cloud requiere iniciar sesión con ChatGPT.
Tu método de inicio de sesión también determina qué controles administrativos y políticas de tratamiento de datos se aplican.
- Cuando inicias sesión con ChatGPT, el uso de Codex se rige por los permisos de tu espacio de trabajo de ChatGPT, el control de acceso basado en roles (RBAC) y la configuración de retención y residencia de datos de ChatGPT Enterprise.
- En cambio, con una clave de API, el uso se rige por la configuración de retención y uso compartido de datos de tu organización de la API.
En los espacios de trabajo administrados, la autenticación es solo una capa de acceso. La pertenencia al espacio de trabajo y el aprovisionamiento determinan quién puede iniciar sesión, mientras que los puestos y roles del espacio de trabajo determinan qué interfaces y funciones del producto pueden usar. Para trabajar de forma local en la aplicación de escritorio de ChatGPT, Codex CLI o la extensión para IDE, los perfiles de permisos limitan lo que el agente puede hacer en el dispositivo. Consulta Grupos y aprovisionamiento y Roles y permisos del espacio de trabajo para planificar esos controles.
Iniciar sesión con ChatGPT
Cuando inicias sesión con ChatGPT desde la aplicación de escritorio de ChatGPT, Codex CLI o la extensión para IDE, el flujo de inicio de sesión abre una ventana del navegador. Después de iniciar sesión, el navegador devuelve tus credenciales a Codex.
ChatGPT en la web
Abre ChatGPT, inicia sesión y elige el espacio de trabajo en el que quieras trabajar. ChatGPT en la web mantiene la sesión autenticada en tu navegador.
Aplicación de escritorio de ChatGPT
En la pantalla que aparece cuando no has iniciado sesión, selecciona Continuar para iniciar sesión y luego completa el proceso en el navegador.
Codex CLI
Ejecuta codex login y luego completa el proceso en el navegador. Este es el método de
autenticación predeterminado cuando no hay una sesión válida disponible.
Extensión para IDE
En la pantalla que aparece cuando no has iniciado sesión, selecciona Iniciar sesión con ChatGPT y luego completa el proceso en el navegador.
Iniciar sesión con una clave de API
También puedes iniciar sesión en la aplicación de escritorio de ChatGPT, Codex CLI o la extensión para IDE con una clave de API. Obtén tu clave de API en el panel de OpenAI.
Aplicación de escritorio de ChatGPT
En la pantalla que aparece cuando no has iniciado sesión, selecciona Iniciar sesión de otra forma, ingresa tu clave y luego selecciona Continuar.
Codex CLI
Envía la clave a codex login mediante una canalización a stdin:
printenv OPENAI_API_KEY | codex login --with-api-key Extensión para IDE
En la pantalla que aparece cuando no has iniciado sesión, selecciona Usar clave de API, ingresa tu clave y luego selecciona Aceptar.
OpenAI factura el uso con clave de API a través de tu cuenta de la Plataforma de OpenAI según las tarifas estándar de la API. Consulta la página de precios de la API.
La autenticación con clave de API admite flujos de trabajo locales de Codex, pero algunas funciones que dependen del acceso al espacio de trabajo de ChatGPT o de servicios en la nube tienen limitaciones o no están disponibles. Compara las funciones disponibles según el plan en Disponibilidad de funciones.
En Codex CLI y Codex en la aplicación de escritorio de ChatGPT, la autenticación con clave de API incluye acceso a los complementos compatibles seleccionados por OpenAI. Algunos complementos no están disponibles porque sus flujos de conexión requieren capacidades de OAuth no admitidas. Consulta Usar complementos.
Cuando inicias sesión con una clave de API, Codex aplica los precios estándar de la API en lugar de usar los créditos incluidos en el plan de ChatGPT.
Usa la autenticación con clave de API para flujos de trabajo programáticos de Codex CLI, como las tareas de CI/CD. No expongas la ejecución de Codex en entornos públicos o que no sean de confianza.
Comprobar la autenticación o cerrar sesión
Abre el menú del perfil para confirmar la cuenta y el espacio de trabajo activos. Para finalizar la sesión de ChatGPT en la web en ese navegador, selecciona Cerrar sesión.
Abre el menú del perfil para ver la cuenta activa o el estado de la clave de API. Selecciona Cerrar sesión para borrar las credenciales actuales.
Ejecuta codex login status para ver el método de autenticación activo. Si usas credenciales
almacenadas, ejecuta codex logout para borrar las credenciales actuales. Cuando
el proceso selecciona la identidad de carga de trabajo, Codex rechaza codex login y
codex logout porque el entorno del proceso controla la autenticación.
Abre el menú del perfil para ver la cuenta activa o el estado de la clave de API. Selecciona Cerrar sesión para borrar las credenciales actuales.
Usar tokens de acceso de Codex para la automatización empresarial
En los espacios de trabajo de ChatGPT Enterprise, los administradores pueden otorgar el permiso para tokens de acceso para que los miembros autorizados creen tokens de acceso de Codex destinados a flujos de trabajo locales de Codex de confianza y no interactivos. Usa un token de acceso cuando la automatización necesite acceso al espacio de trabajo de ChatGPT, derechos de uso de Codex administrados por ChatGPT o controles empresariales del espacio de trabajo sin iniciar sesión en un navegador.
Los tokens de acceso están destinados a scripts, planificadores y ejecutores privados de CI que sean de confianza. Para las llamadas generales a la API de OpenAI, sigue usando claves de API de la Plataforma.
Para conocer los pasos de configuración y obtener orientación sobre permisos, rotación y revocación, consulta Tokens de acceso.
Si tu plataforma en la nube, sistema de CI o clúster ya emite tokens de corta duración para cargas de trabajo, usa la federación de identidades de carga de trabajo en lugar de almacenar una credencial de OpenAI.
Si tu entorno ya proporciona un token de acceso de Codex, envíalo a la CLI mediante una canalización:
printenv CODEX_ACCESS_TOKEN | codex login --with-access-token Proteger tu cuenta de Codex Cloud
Codex Cloud interactúa directamente con tu base de código, por lo que necesita mayor seguridad que muchas otras funciones de ChatGPT. Habilita la autenticación multifactor (MFA).
Si usas un proveedor de inicio de sesión social (Google, Microsoft o Apple), no es obligatorio habilitar la MFA en tu cuenta de ChatGPT, pero puedes configurarla con tu proveedor de inicio de sesión social.
Para ver las instrucciones de configuración, consulta:
Si accedes a ChatGPT mediante inicio de sesión único (SSO), el administrador de SSO de tu organización debería exigir la MFA a todos los usuarios.
Si inicias sesión con un correo electrónico y una contraseña, debes configurar la MFA en tu cuenta antes de acceder a Codex Cloud.
Si tu cuenta admite más de un método de inicio de sesión y uno de ellos es el correo electrónico y la contraseña, debes configurar la MFA antes de acceder a Codex, incluso si inicias sesión de otra forma.
Almacenamiento en caché del inicio de sesión
Cuando inicias sesión en la aplicación de escritorio de ChatGPT, Codex CLI o la extensión para IDE con ChatGPT o una clave de API, tus datos de inicio de sesión se almacenan en caché y se reutilizan. La CLI y la extensión comparten los mismos datos de inicio de sesión almacenados en caché. Si cierras sesión en cualquiera de las dos, tendrás que volver a iniciar sesión la próxima vez que inicies la CLI o la extensión.
Codex almacena en caché los datos de inicio de sesión de forma local, en un archivo de texto sin formato ubicado en ~/.codex/auth.json o en el almacén de credenciales de tu sistema operativo.
En las sesiones iniciadas con ChatGPT, Codex renueva automáticamente los tokens durante el uso antes de que caduquen, por lo que las sesiones activas suelen continuar sin requerir otro inicio de sesión en el navegador.
Almacenamiento de credenciales
Usa cli_auth_credentials_store para controlar dónde almacena Codex CLI las credenciales en caché:
# file | keyring | auto | ephemeral
cli_auth_credentials_store = "keyring"filealmacena las credenciales enauth.json, dentro deCODEX_HOME(cuyo valor predeterminado es~/.codex).keyringalmacena las credenciales en el almacén de credenciales de tu sistema operativo y falla si este no está disponible.autousa el almacén de credenciales del sistema operativo cuando está disponible; de lo contrario, recurre aauth.json.ephemeralmantiene las credenciales solo en la memoria del proceso actual.
Consulta la referencia de configuración para ver el esquema completo de
config.toml.
Los administradores pueden imponer cli_auth_credentials_store y chatgpt_base_url mediante
requisitos de autenticación local.
Los usuarios no pueden anular esos requisitos mediante config.toml ni mediante opciones de la CLI.
Si usas almacenamiento basado en archivos, trata ~/.codex/auth.json como una contraseña:
contiene tokens de acceso. No lo incluyas en commits, no lo pegues en tickets ni lo compartas por
chat.
Exigir un método de inicio de sesión o un espacio de trabajo
En entornos administrados, los administradores pueden restringir los métodos que los usuarios tienen permitido usar para autenticarse:
# 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"Si las credenciales activas no cumplen con las restricciones configuradas, Codex cierra la sesión del usuario y finaliza su ejecución.
Estos ajustes también se pueden proporcionar mediante la configuración administrada heredada. Para obtener información sobre las restricciones de inicio de sesión impuestas por los administradores, consulta Administrar la autenticación localmente.
Diagnóstico del inicio de sesión
Al ejecutar codex login directamente, se escribe un archivo codex-login.log específico en
el directorio de registros que tengas configurado. Úsalo cuando necesites depurar errores de inicio de sesión en el navegador o
con código de dispositivo, o cuando el equipo de soporte te pida registros específicos del inicio de sesión.
Paquetes de certificados de CA personalizados
Si tu red usa un proxy TLS corporativo o una CA raíz privada, configura
CODEX_CA_CERTIFICATE para que apunte a un paquete PEM antes de iniciar sesión. Cuando
CODEX_CA_CERTIFICATE no está definida, Codex recurre a SSL_CERT_FILE. La misma
configuración de CA personalizada se aplica al inicio de sesión, a las solicitudes HTTPS normales y a las conexiones
WebSocket seguras.
export CODEX_CA_CERTIFICATE=/path/to/corporate-root-ca.pem
codex loginInicio de sesión en dispositivos sin interfaz gráfica
Si inicias sesión en ChatGPT con Codex CLI, hay algunas situaciones en las que la interfaz de inicio de sesión en el navegador puede no funcionar:
- Estás ejecutando la CLI en un entorno remoto o sin interfaz gráfica.
- Tu configuración de red local bloquea el callback de localhost que Codex usa para devolver el token OAuth a la CLI después de que inicias sesión.
En estas situaciones, usa preferentemente la autenticación con código de dispositivo (beta). En la interfaz interactiva de inicio de sesión, elige Iniciar sesión con código de dispositivo o ejecuta codex login --device-auth directamente. Si la autenticación con código de dispositivo no funciona en tu entorno, usa uno de los métodos alternativos.
Opción recomendada: autenticación con código de dispositivo (beta)
- Habilita el inicio de sesión con código de dispositivo en la configuración de seguridad de ChatGPT (cuenta personal) o en los permisos del espacio de trabajo de ChatGPT (administrador del espacio de trabajo).
- En la terminal donde ejecutas Codex, elige una de estas opciones:
- En la interfaz interactiva de inicio de sesión, selecciona Iniciar sesión con código de dispositivo.
- Ejecuta
codex login --device-auth.
- Abre el enlace en tu navegador, inicia sesión y luego ingresa el código de un solo uso.
Si el inicio de sesión con código de dispositivo no está disponible en tu entorno, usa uno de los métodos alternativos que se indican a continuación.
Alternativa: autenticarse localmente y copiar la caché de autenticación
Si puedes completar el flujo de inicio de sesión en un equipo con navegador, puedes copiar tus credenciales almacenadas en caché al equipo sin interfaz gráfica.
- En un equipo donde puedas usar el flujo de inicio de sesión en el navegador, ejecuta
codex login. - Confirma que la caché de inicio de sesión exista en
~/.codex/auth.json. - Copia
~/.codex/auth.jsona~/.codex/auth.jsonen el equipo sin interfaz gráfica.
Trata ~/.codex/auth.json como una contraseña: contiene tokens de acceso. No lo incluyas en commits, no lo pegues en tickets ni lo compartas por chat.
Si tu sistema operativo guarda las credenciales en un almacén de credenciales en lugar de ~/.codex/auth.json, es posible que este método no sea aplicable. Consulta
Almacenamiento de credenciales para saber cómo configurar el almacenamiento basado en archivos.
Copia el archivo a un equipo remoto mediante SSH:
ssh user@remote 'mkdir -p ~/.codex'
scp ~/.codex/auth.json user@remote:~/.codex/auth.jsonO usa un comando de una sola línea que evita usar scp:
ssh user@remote 'mkdir -p ~/.codex && cat > ~/.codex/auth.json' < ~/.codex/auth.jsonCopia el archivo a un contenedor Docker:
# Replace MY_CONTAINER with the name or ID of your container.
CONTAINER_HOME=$(docker exec MY_CONTAINER printenv HOME)
docker exec MY_CONTAINER mkdir -p "$CONTAINER_HOME/.codex"
docker cp ~/.codex/auth.json MY_CONTAINER:"$CONTAINER_HOME/.codex/auth.json"Para ver una versión más avanzada de este mismo enfoque en ejecutores de CI/CD de confianza, consulta
Mantener la autenticación de la cuenta de Codex en CI/CD (avanzado).
Esa guía explica cómo permitir que Codex actualice auth.json durante las ejecuciones normales y
luego conservar el archivo actualizado para el siguiente trabajo. Las claves de API siguen siendo la opción
predeterminada recomendada para la automatización.
Alternativa: reenviar el callback de localhost mediante SSH
Si puedes reenviar puertos entre tu equipo local y el host remoto, puedes usar el flujo estándar en el navegador mediante un túnel al servidor de callback local de Codex (de forma predeterminada, localhost:1455).
- Desde tu equipo local, inicia el reenvío de puertos:
ssh -L 1455:localhost:1455 user@remote- En esa sesión SSH, ejecuta
codex loginy abre la dirección que aparece en la salida en tu equipo local.
Proveedores de modelos alternativos
Cuando defines un proveedor de modelos personalizado en tu archivo de configuración, puedes elegir uno de estos métodos de autenticación:
- Autenticación de OpenAI: establece
requires_openai_auth = truepara usar la autenticación de OpenAI. Luego puedes iniciar sesión con ChatGPT o con una clave de API. Esto es útil cuando accedes a modelos de OpenAI a través de un servidor proxy de LLM. Cuandorequires_openai_auth = true, Codex ignoraenv_key. - Autenticación mediante variable de entorno: establece
env_key = "<ENV_VARIABLE_NAME>"para usar una clave de API específica del proveedor desde la variable de entorno local llamada<ENV_VARIABLE_NAME>. - Sin autenticación: si no defines
requires_openai_auth(o lo estableces enfalse) y no definesenv_key, Codex asume que el proveedor no requiere autenticación. Esto es útil para modelos locales.