Utilizzo di un token di aggiornamento

Il flusso con token di aggiornamento è un modo più sicuro per autorizzare le richieste API. Anziché utilizzare direttamente un'unica credenziale di lunga durata, si scambia un token di aggiornamento con un token di accesso di breve durata. Quando il token di accesso scade, si ripete lo scambio.

Nota: il token di aggiornamento non può essere utilizzato da solo per autorizzare le richieste API; deve sempre essere scambiato prima con un token di aggiornamento.

Per utilizzare questo flusso, seleziona l'opzione refresh token quando crei un token in Admin → Developer. Al momento della creazione riceverai tre valori:

  • Client ID – identifica la tua integrazione

  • Client secret – autentica la richiesta di scambio

  • Refresh token – serve per ottenere i token di accesso

These credentials are shown once. Copia e conserva tutti e tre i valori in modo sicuro: Altium non li memorizza e non può mostrarli nuovamente dopo che hai lasciato la pagina di creazione. Tratta il token di aggiornamento e il segreto client come password.

Scambio di un token di aggiornamento con un token di accesso

Invia una richiesta POST all'endpoint dei token di Altium Identity.

Token Endpoint

Realm

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": "..."
}

Utilizza il access_token presente nella risposta per autorizzare le richieste API. expires_in è espresso in secondi e indica per quanto tempo il token di accesso è valido.

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}"

Integrazione nella tua applicazione

Uno schema tipico per le integrazioni a lunga esecuzione:

  1. Conserva il token di aggiornamento, l'ID client e il segreto client in modo sicuro (ad esempio, tramite variabili d'ambiente o un gestore di segreti).

  2. All'avvio, chiama l'endpoint dei token per ottenere un nuovo token di accesso.

  3. Utilizza il token di accesso per le richieste API. Conservalo nella cache fino alla scadenza.

  4. Alla scadenza (stato HTTP 401 Unauthorized, oppure 200 OK con codice di errore AuthExpiredToken nella risposta GraphQL), scambia nuovamente il token di aggiornamento per ottenere un nuovo token di accesso.

I token di aggiornamento scadono al termine del periodo di validità configurato al momento della creazione (fino a 1 anno). Una volta scaduto un token di aggiornamento, dovrai crearne uno nuovo in Admin → Developer.

Vedi anche

 

AI-LocalizedLocalizzato tramite A
Se trovi un problema, seleziona il testo/l’immagine e premi Ctrl + Enter per inviarci il tuo feedback.
Contents
Contents