Autenticação da OpenAI
O Codex oferece duas formas de login ao usar modelos da OpenAI:
- Entrar com o ChatGPT para ter acesso pela assinatura
- Entrar com uma chave de API para ter acesso com cobrança por uso
O aplicativo do ChatGPT para desktop, a Codex CLI e a extensão para IDE oferecem suporte aos dois métodos de login para trabalho local. O Codex Cloud exige que você entre com o ChatGPT.
O método de login também determina quais controles administrativos e políticas de tratamento de dados se aplicam.
- Ao entrar com o ChatGPT, o uso do Codex segue as permissões do seu workspace do ChatGPT, o controle de acesso baseado em funções (RBAC) e as configurações de retenção e residência de dados do ChatGPT Enterprise.
- Já com uma chave de API, o uso segue as configurações de retenção e de compartilhamento de dados da sua organização da API.
Em workspaces gerenciados, a autenticação é apenas uma camada de acesso. A associação ao workspace e o provisionamento determinam quem pode entrar, enquanto as licenças e as funções no workspace determinam quais interfaces e recursos do produto cada membro pode usar. Para o trabalho local no aplicativo do ChatGPT para desktop, na Codex CLI ou na extensão para IDE, os perfis de permissão limitam o que o agente pode fazer no dispositivo. Consulte Grupos e provisionamento e Funções e permissões do workspace para planejar esses controles.
Entrar com o ChatGPT
Ao entrar com o ChatGPT pelo aplicativo do ChatGPT para desktop, pela Codex CLI ou pela extensão para IDE, o fluxo de login abre uma janela do navegador. Depois que você entra, o navegador repassa suas credenciais ao Codex.
ChatGPT na Web
Abra o ChatGPT, entre e escolha o workspace em que deseja trabalhar. O ChatGPT na Web mantém a sessão autenticada no navegador.
Aplicativo do ChatGPT para desktop
Na tela de login, selecione Continuar para entrar e conclua o fluxo no navegador.
Codex CLI
Execute codex login e conclua o fluxo no navegador. Esse é o método padrão de
autenticação quando não há uma sessão válida disponível.
Extensão para IDE
Na tela de login, selecione Entrar com o ChatGPT e conclua o fluxo no navegador.
Entrar com uma chave de API
Você também pode entrar no aplicativo do ChatGPT para desktop, na Codex CLI ou na extensão para IDE com uma chave de API. Obtenha sua chave de API no painel da OpenAI.
Aplicativo do ChatGPT para desktop
Na tela de login, selecione Entrar de outra forma, informe sua chave e selecione Continuar.
Codex CLI
Envie a chave por um pipe para codex login via stdin:
printenv OPENAI_API_KEY | codex login --with-api-key Extensão para IDE
Na tela de login, selecione Usar chave de API, informe sua chave e selecione OK.
A OpenAI cobra o uso da chave de API pela sua conta da plataforma da OpenAI, de acordo com os preços padrão da API. Consulte a página de preços da API.
A autenticação por chave de API oferece suporte a fluxos de trabalho locais do Codex, mas alguns recursos que dependem do acesso ao workspace do ChatGPT ou de serviços de nuvem são limitados ou indisponíveis. Compare a disponibilidade por plano em Disponibilidade de recursos.
Na Codex CLI e no Codex do aplicativo do ChatGPT para desktop, a autenticação por chave de API inclui acesso aos plug-ins compatíveis selecionados pela OpenAI. Alguns plug-ins não estão disponíveis porque seus fluxos de conexão exigem recursos OAuth sem suporte. Consulte Usar plug-ins.
Ao entrar com uma chave de API, o Codex usa os preços padrão da API em vez dos créditos incluídos no plano do ChatGPT.
Use a autenticação por chave de API em fluxos de trabalho programáticos da Codex CLI, como tarefas de CI/CD. Não exponha a execução do Codex em ambientes não confiáveis ou públicos.
Verificar a autenticação ou sair
Abra o menu do perfil para confirmar a conta e o workspace ativos. Para encerrar a sessão do ChatGPT na Web nesse navegador, selecione Sair.
Abra o menu do perfil para ver a conta ativa ou o status da chave de API. Selecione Sair para remover as credenciais atuais.
Execute codex login status para ver o método de autenticação ativo. Se a autenticação estiver
armazenada, execute codex logout para remover as credenciais atuais. Quando
o processo seleciona a identidade de cargas de trabalho, o Codex rejeita codex login e
codex logout, pois o ambiente do processo controla a autenticação.
Abra o menu do perfil para ver a conta ativa ou o status da chave de API. Selecione Sair para remover as credenciais atuais.
Usar tokens de acesso do Codex para automação empresarial
Nos workspaces do ChatGPT Enterprise, os administradores podem conceder a permissão de token de acesso para que membros autorizados criem tokens de acesso do Codex para fluxos de trabalho locais confiáveis e não interativos do Codex. Use um token de acesso quando a automação precisar de acesso ao workspace do ChatGPT, dos direitos de uso do Codex gerenciados pelo ChatGPT ou dos controles do workspace empresarial sem login pelo navegador.
Os tokens de acesso se destinam a scripts confiáveis, agendadores e executores privados de CI. Para chamadas gerais à API da OpenAI, continue usando chaves de API da plataforma.
Para ver as etapas de configuração e orientações sobre permissões, rotação e revogação, consulte Tokens de acesso.
Se sua plataforma de nuvem, seu sistema de CI ou seu cluster já emite tokens de curta duração para cargas de trabalho, use a federação de identidade de cargas de trabalho em vez de armazenar uma credencial da OpenAI.
Se seu ambiente já fornece um token de acesso do Codex, envie-o por um pipe para a CLI:
printenv CODEX_ACCESS_TOKEN | codex login --with-access-token Proteger sua conta do Codex Cloud
O Codex Cloud interage diretamente com sua base de código e, por isso, exige mais segurança do que muitos outros recursos do ChatGPT. Ative a autenticação multifator (MFA).
Se você usa um provedor de login social (Google, Microsoft ou Apple), não é obrigatório ativar a MFA na sua conta do ChatGPT, mas você pode configurá-la no seu provedor de login social.
Para ver as instruções de configuração, consulte:
Se você acessa o ChatGPT por login único (SSO), o administrador de SSO da sua organização deve exigir MFA para todos os usuários.
Se você entra usando e-mail e senha, precisa configurar a MFA na sua conta antes de acessar o Codex Cloud.
Se sua conta oferece mais de um método de login e um deles usa e-mail e senha, você precisa configurar a MFA antes de acessar o Codex, mesmo que entre de outra forma.
Cache de login
Quando você entra no aplicativo do ChatGPT para desktop, na Codex CLI ou na extensão para IDE usando o ChatGPT ou uma chave de API, seus dados de login são armazenados em cache e reutilizados. A CLI e a extensão compartilham os mesmos dados de login em cache. Se você sair de qualquer uma delas, precisará entrar novamente na próxima vez que iniciar a CLI ou a extensão.
O Codex armazena os dados de login em cache localmente, em um arquivo de texto simples no caminho ~/.codex/auth.json ou no armazenamento de credenciais específico do sistema operacional.
Nas sessões iniciadas com o ChatGPT, o Codex renova os tokens automaticamente durante o uso, antes que expirem. Por isso, as sessões ativas normalmente continuam sem exigir outro login pelo navegador.
Armazenamento de credenciais
Use cli_auth_credentials_store para controlar onde a Codex CLI armazena as credenciais em cache:
# file | keyring | auto | ephemeral
cli_auth_credentials_store = "keyring"filearmazena as credenciais emauth.json, no diretório definido porCODEX_HOME(por padrão,~/.codex).keyringarmazena as credenciais no armazenamento de credenciais do sistema operacional e falha se ele estiver indisponível.autousa o armazenamento de credenciais do sistema operacional quando disponível; caso contrário, usaauth.json.ephemeralmantém as credenciais apenas na memória do processo atual.
Consulte a referência de configuração para ver o esquema completo de
config.toml.
Os administradores podem impor cli_auth_credentials_store e chatgpt_base_url por meio dos
requisitos de autenticação local.
Os usuários não podem substituir esses requisitos por meio de config.toml ou de opções de substituição da CLI.
Se você usa armazenamento em arquivo, trate ~/.codex/auth.json como uma senha: ele
contém tokens de acesso. Não o inclua em commits, cole em chamados nem compartilhe em
chats.
Exigir um método de login ou workspace
Em ambientes gerenciados, os administradores podem restringir os métodos de autenticação permitidos aos usuários:
# 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"Se as credenciais ativas não atenderem às restrições configuradas, o Codex encerra a sessão do usuário e sua própria execução.
Essas configurações também podem ser fornecidas por meio da configuração gerenciada legada. Para saber mais sobre restrições de login impostas por administradores, consulte Gerenciar a autenticação localmente.
Diagnóstico de login
As execuções diretas de codex login gravam um arquivo dedicado, codex-login.log, no
diretório de logs configurado. Use esse arquivo para depurar falhas de login pelo navegador ou
por código de dispositivo, ou quando o suporte solicitar logs específicos de login.
Pacotes personalizados de certificados de CA
Se sua rede usa um proxy TLS corporativo ou uma CA raiz privada, configure
CODEX_CA_CERTIFICATE para apontar para um pacote PEM antes de fazer login. Quando
CODEX_CA_CERTIFICATE não está definida, o Codex usa SSL_CERT_FILE como alternativa. As mesmas
configurações de CA personalizada se aplicam ao login, às requisições HTTPS normais e às conexões
WebSocket seguras.
export CODEX_CA_CERTIFICATE=/path/to/corporate-root-ca.pem
codex loginLogin em dispositivos sem interface gráfica
Ao entrar no ChatGPT com a Codex CLI, a interface de login pelo navegador pode não funcionar em algumas situações:
- Você está executando a CLI em um ambiente remoto ou sem interface gráfica.
- Sua configuração de rede local bloqueia o callback em localhost que o Codex usa para devolver o token OAuth à CLI após o login.
Nessas situações, prefira a autenticação por código de dispositivo (beta). Na interface interativa de login, escolha Entrar com código de dispositivo ou execute codex login --device-auth diretamente. Se a autenticação por código de dispositivo não funcionar no seu ambiente, use um dos métodos alternativos.
Preferencial: autenticação por código de dispositivo (beta)
- Ative o login por código de dispositivo nas configurações de segurança do ChatGPT (conta pessoal) ou nas permissões do workspace do ChatGPT (administrador do workspace).
- No terminal em que você está executando o Codex, escolha uma destas opções:
- Na interface interativa de login, selecione Entrar com código de dispositivo.
- Execute
codex login --device-auth.
- Abra o link no navegador, faça login e insira o código de uso único.
Se o login por código de dispositivo não estiver disponível no seu ambiente, use um dos métodos alternativos abaixo.
Alternativa: autentique-se localmente e copie o cache de autenticação
Se você conseguir concluir o fluxo de login em uma máquina com navegador, poderá copiar as credenciais em cache para a máquina sem interface gráfica.
- Em uma máquina em que você possa usar o fluxo de login pelo navegador, execute
codex login. - Confirme que o cache de login existe em
~/.codex/auth.json. - Copie
~/.codex/auth.jsonpara~/.codex/auth.jsonna máquina sem interface gráfica.
Trate ~/.codex/auth.json como uma senha: ele contém tokens de acesso. Não o inclua em commits, cole em chamados nem compartilhe em chats.
Se o sistema operacional armazena as credenciais em um repositório de credenciais em vez de ~/.codex/auth.json, este método pode não se aplicar. Consulte
Armazenamento de credenciais para saber como configurar o armazenamento em arquivo.
Copie para uma máquina remota via SSH:
ssh user@remote 'mkdir -p ~/.codex'
scp ~/.codex/auth.json user@remote:~/.codex/auth.jsonOu use um comando de uma linha que dispensa scp:
ssh user@remote 'mkdir -p ~/.codex && cat > ~/.codex/auth.json' < ~/.codex/auth.jsonCopie para um contêiner 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 uma versão mais avançada desse mesmo procedimento em executores confiáveis de CI/CD, consulte
Manter a autenticação da conta Codex em CI/CD (avançado).
Esse guia explica como permitir que o Codex atualize auth.json durante as execuções normais e
depois preserve o arquivo atualizado para o próximo job. As chaves de API continuam sendo a opção
padrão recomendada para automação.
Alternativa: encaminhe o callback em localhost via SSH
Se você puder encaminhar portas entre sua máquina local e o host remoto, poderá usar o fluxo padrão pelo navegador criando um túnel para o servidor de callback local do Codex (por padrão, localhost:1455).
- Na sua máquina local, inicie o encaminhamento de portas:
ssh -L 1455:localhost:1455 user@remote- Nessa sessão SSH, execute
codex logine abra o endereço exibido na sua máquina local.
Provedores alternativos de modelos
Ao definir um provedor de modelos personalizado no arquivo de configuração, você pode escolher um destes métodos de autenticação:
- Autenticação da OpenAI: defina
requires_openai_auth = truepara usar a autenticação da OpenAI. Você poderá então entrar com o ChatGPT ou uma chave de API. Isso é útil quando você acessa modelos da OpenAI por meio de um servidor proxy de LLM. Quandorequires_openai_auth = true, o Codex ignoraenv_key. - Autenticação por variável de ambiente: defina
env_key = "<ENV_VARIABLE_NAME>"para usar uma chave de API específica do provedor, obtida da variável de ambiente local chamada<ENV_VARIABLE_NAME>. - Sem autenticação: se você não definir
requires_openai_auth(ou definir seu valor comofalse) e não definirenv_key, o Codex presume que o provedor não exige autenticação. Isso é útil para modelos locais.