Utilisation d’un jeton d’actualisation
Le flux utilisant un jeton de renouvellement est une méthode plus sécurisée pour autoriser les requêtes API. Au lieu d’utiliser directement un identifiant unique à longue durée de validité, vous échangez un jeton de renouvellement contre un jeton d’accès à courte durée de validité. Lorsque ce jeton d’accès expire, vous procédez à un nouvel échange.
Notez que le jeton de renouvellement ne peut pas être utilisé seul pour autoriser les requêtes API ; il doit toujours être échangé au préalable contre un jeton de renouvellement.
Pour utiliser ce flux, sélectionnez l’option refresh token lors de la création d’un jeton dans Admin → Developer. Trois valeurs vous seront fournies au moment de la création :
-
Client ID – identifie votre intégration
-
Client secret – authentifie la requête d’échange
-
Refresh token – sert à obtenir des jetons d’accès
Échanger un jeton de renouvellement contre un jeton d’accès
Envoyez une requête POST au point de terminaison de jetons d’Altium Identity.
Token Endpoint
Domaine |
URL |
Altium 365 |
|
Altium 365 Gov Cloud |
|
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": "..."
}
Utilisez le access_token de la réponse pour autoriser les requêtes API. expires_in est exprimé en secondes et indique la durée de validité du jeton d’accès.
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}"
Intégration dans votre application
Voici une procédure type pour les intégrations fonctionnant sur de longues périodes :
-
Stockez le jeton de renouvellement, l’identifiant client et le secret client de manière sécurisée (par exemple, dans des variables d’environnement ou un gestionnaire de secrets).
-
Au démarrage, appelez le point de terminaison de jetons pour obtenir un nouveau jeton d’accès.
-
Utilisez le jeton d’accès pour les requêtes API. Conservez-le en cache jusqu’à son expiration.
-
À son expiration (code d’état HTTP
401 Unauthorized, ou200 OKavec le code d’erreurAuthExpiredTokendans la réponse GraphQL), échangez à nouveau le jeton de renouvellement pour obtenir un nouveau jeton d’accès.
Les jetons de renouvellement expirent à l’issue de la durée de validité configurée lors de leur création (jusqu’à 1 an). Lorsqu’un jeton de renouvellement expire, vous devez en créer un nouveau dans Admin → Développeur.
Voir aussi