OAuth
O OpenClaw oferece suporte a “autenticação por assinatura” via OAuth para provedores que a disponibilizam (notavelmente OpenAI Codex (ChatGPT OAuth)). Para Anthropic, a divisão prática agora é:- Chave de API da Anthropic: cobrança normal da API Anthropic
- Anthropic Claude CLI / autenticação por assinatura dentro do OpenClaw: a equipe da Anthropic nos informou que esse uso é permitido novamente
- como funciona a troca de token do OAuth (PKCE)
- onde os tokens são armazenados (e por quê)
- como lidar com múltiplas contas (perfis + substituições por sessão)
O coletor de tokens (por que ele existe)
Provedores OAuth costumam emitir um novo token de atualização durante fluxos de login/atualização. Alguns provedores (ou clientes OAuth) podem invalidar tokens de atualização antigos quando um novo é emitido para o mesmo usuário/app. Sintoma prático:- você faz login pelo OpenClaw e pelo Claude Code / Codex CLI → um deles acaba sendo “desconectado” aleatoriamente depois
auth-profiles.json como um coletor de tokens:
- o runtime lê credenciais de um único lugar
- podemos manter vários perfis e roteá-los de forma determinística
- quando credenciais são reutilizadas de uma CLI externa como Codex CLI, o OpenClaw as espelha com proveniência e relê essa fonte externa em vez de rotacionar o próprio token de atualização
Armazenamento (onde os tokens ficam)
Os segredos são armazenados por agente:- Perfis de autenticação (OAuth + chaves de API + refs opcionais no nível do valor):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Arquivo legado de compatibilidade:
~/.openclaw/agents/<agentId>/agent/auth.json(entradas estáticasapi_keysão limpas quando descobertas)
~/.openclaw/credentials/oauth.json(importado paraauth-profiles.jsonno primeiro uso)
$OPENCLAW_STATE_DIR (substituição do diretório de estado). Referência completa: /gateway/configuration
Para refs estáticas de segredos e comportamento de ativação de snapshot em runtime, consulte Gerenciamento de segredos.
Compatibilidade com token legado da Anthropic
O OpenClaw também expõe o setup-token da Anthropic como um caminho compatível de autenticação por token, mas agora prefere a reutilização do Claude CLI eclaude -p quando disponíveis.
Migração do Anthropic Claude CLI
O OpenClaw oferece suporte novamente à reutilização do Anthropic Claude CLI. Se você já tiver um login local do Claude no host, o onboarding/configuração pode reutilizá-lo diretamente.Troca OAuth (como o login funciona)
Os fluxos de login interativo do OpenClaw são implementados em@mariozechner/pi-ai e conectados aos assistentes/comandos.
Setup-token da Anthropic
Formato do fluxo:- inicie o setup-token da Anthropic ou cole o token a partir do OpenClaw
- o OpenClaw armazena a credencial resultante da Anthropic em um perfil de autenticação
- a seleção de modelo permanece em
anthropic/... - os perfis de autenticação existentes da Anthropic continuam disponíveis para controle de rollback/ordem
OpenAI Codex (ChatGPT OAuth)
O OAuth do OpenAI Codex tem suporte explícito para uso fora do Codex CLI, incluindo fluxos de trabalho do OpenClaw. Formato do fluxo (PKCE):- gerar verificador/desafio PKCE +
statealeatório - abrir
https://auth.openai.com/oauth/authorize?... - tentar capturar o callback em
http://127.0.0.1:1455/auth/callback - se o callback não puder ser associado (ou se você estiver remoto/headless), cole a URL/código de redirecionamento
- fazer a troca em
https://auth.openai.com/oauth/token - extrair
accountIddo token de acesso e armazenar{ access, refresh, expires, accountId }
openclaw onboard → opção de autenticação openai-codex.
Atualização + expiração
Os perfis armazenam um carimbo de data/horaexpires.
Em runtime:
- se
expiresestiver no futuro → usar o token de acesso armazenado - se tiver expirado → atualizar (sob um bloqueio de arquivo) e sobrescrever as credenciais armazenadas
- exceção: credenciais reutilizadas de CLI externa continuam sendo gerenciadas externamente; o OpenClaw relê o armazenamento de autenticação da CLI e nunca consome o token de atualização copiado por conta própria
Múltiplas contas (perfis) + roteamento
Dois padrões:1) Preferido: agentes separados
Se você quer que “pessoal” e “trabalho” nunca interajam, use agentes isolados (sessões + credenciais + workspace separados):2) Avançado: múltiplos perfis em um agente
auth-profiles.json oferece suporte a vários IDs de perfil para o mesmo provedor.
Escolha qual perfil será usado:
- globalmente por meio da ordem na configuração (
auth.order) - por sessão por meio de
/model ...@<profileId>
/model Opus@anthropic:work
openclaw channels list --json(mostraauth[])
- /concepts/model-failover (regras de rotação + cooldown)
- /tools/slash-commands (superfície de comandos)
Relacionado
- Autenticação — visão geral da autenticação de provedores de modelo
- Segredos — armazenamento de credenciais e SecretRef
- Referência de configuração — chaves de configuração de autenticação