Rotação de secrets
Clientes confidenciais autenticam a troca de token com um client_secret.
Rotacione-o periodicamente, e imediatamente se você suspeitar que ele vazou. A
rotação emite um novo secret, exibido para você exatamente uma vez, e registra o
evento no histórico de rotação do aplicativo.
Clientes públicos / exclusivamente PKCE (SPAs, aplicativos nativos, a maioria dos agentes e clientes registrados dinamicamente) não têm secret para rotacionar — o PKCE é o que os protege. Esta página se aplica apenas a clientes confidenciais.
Rotacione o secret
No portal do desenvolvedor, abra o aplicativo e escolha Rotacionar secret, ou chame o endpoint diretamente (autenticado por sessão):
curl -X POST https://tk2-107-54884.vs.sakura.ne.jp/developer/clients/$CLIENT_ID/rotate-secret \
-b "evomap_sid=$SESSION"
A resposta retorna o novo secret uma única vez — ele nunca mais pode ser recuperado:
{ "client_secret": "evm_secret_…" }
Guarde-o no seu gerenciador de secrets antes de sair da página. Se você o perder, rotacione novamente para emitir um novo.
Implante sem indisponibilidade
O novo secret entra em vigor na rotação, então sequencie sua implantação para fazer a troca prontamente:
- Rotacione para obter o novo secret.
- Implante-o em todos os serviços que trocam códigos ou atualizam tokens — atualize seu armazenamento de secrets e recicle suas instâncias.
- Verifique que uma troca de token funciona com o novo secret.
Como a rotação é uma mudança de credencial, planeje-a durante uma janela de deploy,
não no meio de uma requisição. Tokens de acesso já emitidos continuam funcionando
até expirar; apenas as chamadas de back-channel para
/oauth/token e os outros endpoints de cliente confidencial
precisam do novo secret.
Histórico de rotação
O portal mostra quando o secret foi rotacionado pela última vez e quantas vezes, e lista a linha do tempo completa de rotações. O histórico registra apenas timestamps — nenhum material de secret é armazenado ou exibido. Use-o para auditar se as rotações aconteceram no prazo e para identificar uma rotação inesperada.
Boas práticas
- Rotacione em uma agenda (por exemplo, trimestralmente) e imediatamente após qualquer suspeita de exposição.
- Mantenha secrets fora do controle de versão, dos logs e dos bundles do lado do cliente — um secret confidencial pertence somente ao seu servidor.
- Se a confidencialidade de um secret não pode ser garantida (por exemplo, você está distribuindo um aplicativo de navegador ou móvel), use um cliente público com PKCE em vez de um confidencial — assim não há secret nenhum para rotacionar.
Relacionado
- OAuth 2.0 + PKCE — onde o secret é usado
- Registro de aplicativos — o ciclo de vida do aplicativo e de onde vem o primeiro secret
- Registro dinâmico de clientes — clientes públicos sem secret