Saltar al contenido principal

Error 403 en el intercambio de token de Codex: inicio de sesión, proxy, región y caché

A
9 min de lecturaHerramientas de desarrollo con IA

Localiza el paso que rechazó la autenticación, conserva la respuesta y cambia un solo responsable del recorrido cada vez.

Error 403 en el intercambio de token de Codex: inicio de sesión, proxy, región y caché

Token exchange failed: token endpoint returned status 403 Forbidden confirma que se rechazó una petición de autenticación, pero no demuestra por sí solo una caída de OpenAI, un proxy defectuoso, una restricción regional o credenciales antiguas. Primero separa la devolución a localhost, el intercambio saliente del código por tokens y la primera petición autenticada. Antes de restablecer nada, guarda codex --version, ejecuta codex login status, anota dónde se ejecuta realmente Codex y conserva el cuerpo de la respuesta sin secretos. Mientras no conozcas el punto de rechazo, no borres ~/.codex, no desactives TLS, no eludas una restricción regional y no compartas la URL de callback ni tokens.

Lo que ocurrióPaso que fallóPrimera comprobación útil
El navegador no volvió a Codexcallback localhost¿El navegador puede alcanzar al proceso que escucha?
El navegador autorizó y después apareció el 403 exactointercambio salienteCuerpo, proxy/WAF, CA, región/cuenta y entorno de ejecución
El inicio terminó y la primera operación devolvió 403petición autenticadaPermisos del espacio, modelo, proveedor y origen de credenciales

Un fallo de callback no es un rechazo del token endpoint. Un 403 posterior de API tampoco es un fallo de intercambio. Corrige el paso que puedas demostrar. Si el cuerpo nombra cuenta, espacio de trabajo, política o país compatible, deja de modificar el proxy.

Comprobado el 12 de julio de 2026: OpenAI Status no mostraba un incidente general conocido. Ese estado no garantiza la ruta de una red corporativa, una cuenta, un espacio de trabajo o una región concretos.

Cinco comprobaciones antes de cambiar la configuración

1. Registra la versión y la sesión en el mismo entorno

bash
codex --version codex login status

Ejecuta ambos comandos en el mismo macOS, Windows, Linux, WSL, contenedor, host SSH o terminal del IDE donde apareció el error. La prueba actual mostró codex-cli 0.144.0-alpha.4; es una observación, no una versión mínima.

2. Comprueba el estado del servicio

Abre OpenAI Status y conserva la hora. Si hay un incidente de autenticación o Codex, espera antes de reescribir ajustes locales. Si está operativo, continúa con la ruta local.

3. Identifica el entorno que ejecuta Codex

El navegador puede estar en el portátil mientras Codex vive en WSL, un contenedor o un servidor remoto. Si el navegador no alcanza al listener, el problema es la topología del callback. Si Codex recibió el callback y luego informó del 403 del token endpoint, investiga el intercambio saliente.

4. Conserva la respuesta de forma segura

Guarda el error exacto, fecha y zona horaria, versión, comando, código breve y request ID. Elimina authorization code, access/refresh token, URL completa de callback, cookies, API key, correo, ID de organización y credenciales del proxy. Un código de política o una página corporativa de bloqueo tiene más valor diagnóstico que el número 403.

5. Haz un solo reintento controlado

Cambia una variable: versión de Codex, red autorizada, entorno correcto, CA aprobada o estado de sesión. La señal de éxito no es solo la pantalla del navegador: codex login status debe mostrar el método esperado en el mismo entorno y una operación pequeña debe funcionar.

Las cinco etapas de autenticación

Ruta de Codex desde la autorización del navegador hasta la primera petición

El recorrido es: autorización del navegador, callback localhost, intercambio del código, almacenamiento de credenciales y primera petición autenticada. El mensaje exacto pertenece a la tercera etapa. Todavía pueden rechazarlo controles de cuenta o política de OpenAI, un proxy/WAF corporativo, inspección TLS y CA, el entorno equivocado o un contexto de sesión antiguo.

La documentación de autenticación de Codex define los métodos admitidos y el almacenamiento. La referencia de variables documenta CODEX_CA_CERTIFICATE para una CA personalizada aprobada. Es el camino seguro frente a desactivar la verificación.

Matriz de prueba, acción y parada

Matriz de recuperación para proxy, CA, entorno, región, espacio y caché

RamaPruebaAcción acotadaÉxitoLímite
proxy/WAFpágina corporativa o ID del proxypedir al responsable de red que permita la ruta; mantener loopback localun inicio limpio en la ruta aprobadano eludir la política de la organización
CA corporativaerror de cadena e inspección TLS documentadaconfigurar el PEM aprobadointercambio con verificación activano usar TLS inseguro
WSL/contenedor/remotonavegador y listener en redes distintasiniciar donde el callback sea alcanzable o usar autenticación oficial alternativael mismo proceso recibe el callbackno publicar el listener
región/cuentaunsupported_country_region_territory o restricción de cuentaconsultar países compatibles y contactar con soporte si es erróneola ruta oficial queda habilitadano usar VPN ni cuenta ajena para eludir
espacio administradocuenta personal funciona, SSO se rechazapedir al administrador que confirme Codex e identity policyacceso al espacio correctodejar de tocar el proxy cuando la política es explícita
caché de autenticaciónred y política correctas; logout cambia el resultadocodex logout y un solo codex login limpiométodo esperado y petición correctano borrar todo el directorio primero

Proxy y certificados: loopback no es salida a Internet

Si el proxy es obligatorio, el tráfico local suele mantenerse fuera:

bash
export NO_PROXY="localhost,127.0.0.1,::1"

El token endpoint saliente puede necesitar el proxy corporativo autorizado. No añadas todos los dominios de OpenAI a NO_PROXY sin confirmación. Cuando exista inspección TLS aprobada, utiliza el PEM proporcionado por seguridad:

bash
export CODEX_CA_CERTIFICATE="/path/to/company-ca-bundle.pem" codex login

Un error de certificado y un HTTP 403 son señales distintas; aplica esta rama solo si hay evidencia de cadena o inspección.

Restablece únicamente la capa de autenticación

bash
codex logout codex login

No empieces por rm -rf ~/.codex: puede borrar configuración, estado y diagnóstico. Consulta la función de cada archivo en Codex config.toml. No copies el auth.json de otra persona ni publiques el tuyo.

El CLI comprobado el 12 de julio de 2026 ofrece --device-auth, --with-api-key y --with-access-token. Device auth puede resolver la topología navegador-localhost, pero no una política de cuenta o región. Una API key cambia a facturación y funciones de desarrollador; revisa API key frente a suscripción de Codex. Un access token solo debe entrar en automatizaciones de confianza y documentadas.

Cómo interpretar variantes concretas

Si el navegador muestra éxito y el terminal sigue esperando, probablemente el callback no llegó al proceso Codex. Comprueba si navegador y CLI están separados entre host, WSL, contenedor o SSH. La pantalla de éxito confirma el consentimiento, no la entrega al listener. Usa un entorno alcanzable o device auth oficial; no expongas el puerto local a Internet.

Si aparece el token endpoint 403 exacto, distingue un JSON con código de política de un HTML corporativo con block ID. Conserva el cuerpo redactado, request ID y hora. El mismo código de cuenta o región en varias redes autorizadas pesa más que la hipótesis de proxy.

Cuando conviven un error de certificado y un 403, ordénalos en el tiempo. Un fallo de TLS puede ocurrir antes de recibir un HTTP real. Si una CA aprobada arregla el handshake pero queda un JSON 403, la confianza ya está corregida y queda otra rama. No descargues certificados desconocidos ni desactives TLS globalmente.

Una nota reproducible debe incluir hora, OS/entorno, versión, método de autenticación, resultado del callback, estado de exchange redactado, tipo de red, un único cambio y resultado. Cambiar navegador, red, cuenta y versión a la vez elimina la causalidad. Tampoco confundas el 403 de un proveedor API compatible con el OAuth oficial de OpenAI.

Escalada y paquete de pruebas

Paquete seguro de pruebas para soporte por un 403 de Codex

Escala de inmediato si el cuerpo identifica política, cuenta, espacio de trabajo o región. En los demás casos, detente tras un reintento limpio con una versión actual y una ruta aprobada. Entrega error y cuerpo redactado, hora, versión, método de autenticación, sistema y entorno, resultado del callback, presencia de proxy/WAF/TLS, request ID o ID de /feedback, y el único cambio probado.

No envíes callback URL, authorization code, token, API key, cookie, auth.json completo ni URL de proxy con credenciales. Una vez reparado el acceso, los problemas de consumo pertenecen a límites de Codex, no al intercambio de autenticación.

Preguntas frecuentes

¿Por qué el navegador indica éxito y Codex falla?

La autorización del usuario y el intercambio del código son peticiones distintas. La segunda puede ser rechazada por proxy, política, cuenta o contexto antiguo.

¿Debo poner los dominios de OpenAI en NO_PROXY?

No de forma indiscriminada. Mantén localhost local, pero deja que la petición saliente siga la política de red autorizada.

¿Una API key evita el 403?

Puede ser el método correcto para desarrollo, pero cambia facturación y funciones. No evita políticas de cuenta, espacio o país compatible.

¿Cuándo debo dejar de probar localmente?

Cuando el cuerpo nombre policy/account/workspace/region o cuando un único reintento limpio por la ruta aprobada produzca la misma evidencia.

#OpenAI Codex#Codex CLI#intercambio de token#403 Forbidden#OAuth#solución de problemas
Share: