Como gerenciar múltiplas contas Cloudflare pelo CLI (Wrangler) sem dor de cabeça
Usando tokens de API dedicados (CLOUDFLARE_API_TOKEN) para isolar projetos de clientes no terminal, sem precisar deslogar do OAuth.
Você desenvolve localmente e faz o deploy do seu portfólio usando a CLI do Cloudflare, o Wrangler. Tudo funciona perfeitamente, logado via OAuth (wrangler login) na sua conta pessoal (ex: minha-conta).
Então, um cliente pede para você subir um sistema na conta dele.
O instinto inicial de todo dev júnior é dar wrangler logout, rodar wrangler login de novo, pedir a senha do cliente, abrir o navegador, logar no cliente, fazer o deploy… E amanhã, refazer todo esse inferno para voltar para a conta pessoal. Pior ainda, o login via OAuth pode misturar sessões em navegadores, gerando implantações no lugar errado.
A solução profissional é o isolamento por tokens de ambiente.
A Mágica do CLOUDFLARE_API_TOKEN
O Wrangler é desenhado para priorizar variáveis de ambiente em relação ao login OAuth global (que fica guardado em ~/.config/.wrangler).
Se uma variável chamada CLOUDFLARE_API_TOKEN estiver presente no terminal no momento em que você executa um comando, o Wrangler ignora o seu usuário logado e opera exclusivamente na conta a qual o token pertence.
O Processo Limpo
-
Gere o Token na conta do Cliente
- Acesse o painel do Cloudflare do seu cliente (ou peça para ele fazer isso).
- Vá no Perfil de Usuário > API Tokens.
- Clique em Create Token e escolha um template (ex:
Edit Cloudflare Workerspara Workers, ou Custom para Pages). - Isso gerará uma string alfanumérica longa. Guarde-a de forma segura.
-
Configure o
wrangler.tomldo Cliente Certifique-se de que oaccount_idda conta do cliente está especificado no arquivo de configuração do projeto:name = "projeto-do-cliente" account_id = "abc123identificador_da_conta_cliente" -
Faça o Deploy Isolado No terminal, em vez de exportar a variável globalmente (o que poderia poluir a sessão), passe o token temporariamente (inline) apenas para a execução do comando de deploy:
CLOUDFLARE_API_TOKEN="cole_o_token_do_cliente_aqui" npx wrangler deploy
O comando será executado nos servidores do seu cliente, usando a autenticação e permissões do cliente. Quando o processo terminar, o seu terminal continua intacto.
Se você rodar npx wrangler pages list no minuto seguinte, ele vai mostrar os projetos da sua conta pessoal, pois a variável inline já deixou de existir. Isolamento perfeito, sem suor e sem logins paralelos.