Saltar para o conteúdo principal
Rotacionar seu aplicativo gera um novo client_secret e invalida o anterior imediatamente. Você só precisa enviar client_id e email para rotacionar. Qualquer outro campo que você incluir atualizará o aplicativo. Campos omitidos permanecem inalterados.
O client_secret antigo é invalidado imediatamente após a rotação. Atualize seu aplicativo assim que receber as novas credenciais por e-mail.

Quando rotacionar

  • Seu client_secret foi comprometido ou perdido
  • Você precisa alterar o nome, descrição ou avatar do aplicativo
  • Você precisa adicionar ou remover URIs de redirecionamento

Como funciona

A rotação usa o client_id e o email como prova de propriedade. As novas credenciais são sempre enviadas para o e-mail cadastrado no aplicativo. Esse e-mail não pode ser alterado e nunca é retornado pela API.
1

Envie a requisição de rotação

Chame POST /v1/auth/rotate-app com seu client_id, email e os campos que deseja atualizar.
2

Receba as novas credenciais por e-mail

Um novo client_secret é gerado e enviado para o e-mail cadastrado no aplicativo. O secret antigo é invalidado imediatamente.
3

Atualize seu aplicativo

Substitua o client_secret armazenado no seu aplicativo pelo novo valor.

Rotacionar via API

Requisição mínima: apenas rotaciona as credenciais, mantém todos os dados atuais do aplicativo:
curl -X POST https://api.vendaze.com/v1/auth/rotate-app \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
    "email": "voce@suaempresa.com"
  }'
Com atualizações opcionais: rotaciona as credenciais e atualiza o aplicativo ao mesmo tempo:
curl -X POST https://api.vendaze.com/v1/auth/rotate-app \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
    "email": "voce@suaempresa.com",
    "app_name": "Minha Integração v2",
    "description": "Descrição atualizada da Minha Integração",
    "avatar_url": "https://meuapp.com/assets/logo-v2.png",
    "redirect_uris": ["https://meuapp.com/oauth/callback"]
  }'
Resposta (200):
{
  "data": {
    "app_name": "Minha Integração v2",
    "client_id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
    "avatar_url": "https://storage.vendaze.com/assets/integrations/minhaintegracaov2.jpg",
    "message": "New credentials sent by email."
  }
}
O novo client_secret é enviado somente por e-mail e nunca retorna na resposta da API. Guarde-o com segurança assim que receber.

Parâmetros da requisição

ParâmetroTipoObrigatórioDescrição
client_idstringSimclient_id atual do aplicativo a ser rotacionado.
emailstringSimE-mail cadastrado no aplicativo. Usado para verificar a propriedade. A API nunca revela qual e-mail está cadastrado. Retorna erro se o valor não corresponder.
app_namestringNãoNovo nome exibido aos usuários na tela de consentimento. Máx. 100 chars. Se omitido, o nome atual é mantido.
descriptionstringNãoNova descrição do que seu app faz. Máx. 500 chars. Se omitido, a descrição atual é mantida.
avatar_urlstringNãoURL HTTPS do logo do seu app. Formatos aceitos: JPEG, PNG, WebP, GIF, BMP, TIFF. Se omitido, o avatar atual é mantido.
redirect_urisstring[]NãoNova lista de URIs HTTPS de redirecionamento. Substitui a lista anterior integralmente. Se omitido, a lista atual é mantida.
Os escopos não podem ser alterados via rotação. Eles são definidos no registro e são permanentes durante toda a vida útil do aplicativo. Para solicitar escopos diferentes, é necessário registrar um novo aplicativo com um endereço de e-mail diferente, já que cada e-mail só pode estar associado a um aplicativo registrado. Registrar um novo aplicativo gera um novo client_id, o que invalida todas as autorizações existentes dos usuários. Eles precisarão passar pelo fluxo de consentimento novamente.

O que muda após a rotação

CampoApós a rotação
client_secretNovo valor. Enviado por e-mail. Atualize seu app.
client_idNão muda. Permanece o mesmo.
NomeAtualizado se enviado na requisição.
DescriçãoAtualizada se enviada na requisição.
AvatarAtualizado se avatar_url enviado na requisição.
URIs de redirectAtualizadas se enviadas na requisição.
Tokens ativosNão afetados. Sessões existentes continuam.

Relacionados