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

These credentials are shown once. Copiez ces trois valeurs et conservez-les en lieu sûr : Altium ne les stocke pas et ne peut pas les afficher à nouveau une fois que vous avez quitté la page de création. Traitez le jeton de renouvellement et le secret client comme des mots de passe.

É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

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

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 :

  1. 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).

  2. Au démarrage, appelez le point de terminaison de jetons pour obtenir un nouveau jeton d’accès.

  3. Utilisez le jeton d’accès pour les requêtes API. Conservez-le en cache jusqu’à son expiration.

  4. À son expiration (code d’état HTTP 401 Unauthorized, ou 200 OK avec le code d’erreur AuthExpiredToken dans 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

 

AI-LocalizedLocalisé par IA
Si vous trouvez un problème, sélectionnez le texte/l’image et appuyez surCtrl + Enterpour nous envoyer vos commentaires.
Contents
Contents