English version:
vignette("authentication", package = "ellmercodex").
ellmercodex nunca inicia sesión por su cuenta. Cargar el
paquete, ejecutar sus ejemplos, construir sus viñetas y correr sus
pruebas no abre el navegador, no lee credenciales guardadas ni hace
solicitudes de red. La autenticación ocurre solo cuando llamas a
codex_login().
codex_login() abre un navegador donde eliges una cuenta
y un espacio de trabajo de ChatGPT y autorizas el uso del plan. Por
detrás:
http://127.0.0.1:1455/callback
(define ELLMERCODEX_CALLBACK_PORT para usar otro
puerto);chatgpt.tokens.use.direct.El primer inicio de sesión crea un registro vinculado a la cuenta y el espacio de trabajo elegidos; los siguientes lo reutilizan.
codex_account() muestra un resumen del estado de la
sesión. Nunca imprime tokens y oculta el identificador de la cuenta.
Las credenciales se guardan en credentials.json dentro
de tools::R_user_dir("ellmercodex", "config"). El archivo
se escribe de forma atómica, con permisos solo para tu usuario.
ellmercodex no usa el Llavero de macOS ni otro almacén de
claves del sistema operativo, y nunca lee el archivo de credenciales del
CLI de Codex ni la sesión de otra aplicación.
Para usar otro directorio privado, define
ELLMERCODEX_HOME antes del primer acceso a la
credencial:
El mismo directorio guarda host-id, un identificador de
equipo estable y opaco que OpenAI exige antes del primer inicio de
sesión.
Los access tokens duran una hora y se renuevan automáticamente. Los refresh tokens rotan, así que las renovaciones se serializan entre los procesos de R que comparten el directorio.
Usa persist = FALSE para mantener la credencial solo en
el proceso de R actual:
Los tokens nunca se escriben en disco, y codex_logout()
los borra.
codex_logout() revoca el refresh token con OpenAI (pasa
revoke = FALSE para omitirlo) y después elimina el archivo
de credenciales del paquete y cualquier credencial que exista solo en el
proceso. Conserva el identificador del equipo y no toca credenciales del
CLI de Codex ni de otros clientes.
Para usar otra cuenta u otro espacio de trabajo, cierra sesión y
vuelve a llamar a codex_login().
La versión 0.2.0 pasó al flujo documentado por OpenAI “Sign in with
ChatGPT”. Las credenciales de 0.1.x no se conservan, así que vuelve a
iniciar sesión con codex_login() después de actualizar.
OpenAI limita el uso del plan de ChatGPT a apps de código abierto que se ejecutan localmente. Para tu propia app en tu propia VM Linux, la guía experimental de despliegue en un solo proceso (en inglés) describe una configuración posible. Las apps que atienden a otras personas necesitan primero la aprobación de OpenAI.