Usando um token de atualização

O fluxo de token de atualização é uma forma mais segura de autorizar solicitações de API. Em vez de usar diretamente uma única credencial de longa duração, você troca um token de atualização por um token de acesso de curta duração. Quando esse token de acesso expira, você realiza a troca novamente.

Observe que o token de atualização não pode ser usado por si só para autorizar solicitações de API; ele sempre precisa ser trocado por um token de atualização primeiro.

Para usar esse fluxo, selecione a opção refresh token ao criar um token em Admin → Developer. Você receberá três valores no momento da criação:

  • Client ID – identifica sua integração

  • Client secret – autentica a solicitação de troca

  • Refresh token – usado para obter tokens de acesso

These credentials are shown once. Copie e armazene os três valores com segurança – a Altium não os armazena e não pode exibi-los novamente depois que você sair da página de criação. Trate o token de atualização e o segredo do cliente como senhas.

Troca de um token de atualização por um token de acesso

Envie uma solicitação POST ao endpoint de tokens do Altium Identity.

Token Endpoint

Domínio

URL

Altium 365

https://auth.altium.com/connect/token

Altium 365 Gov Cloud

https://auth.365-gov.altium.com/connect/token

Request Body (application/x-www-form-urlencoded)

grant_type=refresh_token
refresh_token={refresh-token}
client_id={client-id}
client_secret={client-secret}

Response

{
  "access_token": "...",
  "expires_in": 14400,
  "token_type": "Bearer",
  "refresh_token": "...",
  "scope": "..."
}

Use o access_token da resposta para autorizar solicitações de API. expires_in é expresso em segundos e indica por quanto tempo o token de acesso é válido.

curl Example:

curl -X POST https://auth.altium.com/connect/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "grant_type=refresh_token" \
  --data-urlencode "refresh_token={refresh-token}" \
  --data-urlencode "client_id={client-id}" \
  --data-urlencode "client_secret={client-secret}"

Integração com sua aplicação

Um padrão típico para integrações de longa duração:

  1. Armazene o token de atualização, o ID do cliente e o segredo do cliente com segurança (por exemplo, em variáveis de ambiente ou em um gerenciador de segredos).

  2. Na inicialização, chame o endpoint de tokens para obter um novo token de acesso.

  3. Use o token de acesso para solicitações de API. Mantenha-o em cache até que expire.

  4. Quando ele expirar (status HTTP 401 Unauthorized, ou 200 OK com o código de erro AuthExpiredToken na resposta GraphQL), troque o token de atualização novamente para obter um novo token de acesso.

Os tokens de atualização expiram após o período de validade configurado na criação (até 1 ano). Quando um token de atualização expirar, você precisará criar um novo em Administração → Desenvolvedor.

Veja também

 

AI-LocalizedLocalizado por IA
Caso encontre um problema, selecione o texto/imagem e primaCtrl + Enterpara nos enviar o seu feedback.
Contents
Contents