Accéder au contenu principal Passer au contenu complémentaire

Générer un jeton de compte de service

Appelez l'endpoint /security/oauth/token pour générer un jeton pour le compte de service.

Avant de commencer

  • Le compte de service pour lequel vous générez un jeton doit déjà exister.
  • Vous avez combiné l'ID et le secret du compte de service au format suivant : ID:secret et avez encodé cette paire dans une application d'encodage en Base64 de votre choix.

    Talend API Tester fournit un outil natif pour effectuer le chiffrement en Base64. Si vous utilisez Talend API Tester pour tester ce cas d'usage, suivez la procédure Ajouter l'en-tête Authorization pour chiffrer votre paire ID:secret.

Pourquoi et quand exécuter cette tâche

Dans cette section, l'appel d'API suivant est émis :
method: POST
endpoint: https://api.<env>.cloud.talend.com/security/oauth/token
headers: {
 "Content-Type": "application/json",
 "Authorization": "Basic <encoded_Base64_value_of_id-secret_pair>"
}
payload: {
  "audience":"https://api.<env>.cloud.talend.com",
  "grant_type":"client_credentials"
}
Il est implémenté dans Talend API Tester à des fins de démonstration.

Procédure

  1. Sélectionnez POST dans la liste Method (Méthode) et, dans le champ à côté, saisissez l'endpoint de jeton à utiliser : https://api.<env>.cloud.talend.com/security/oauth/token
  2. Cliquez deux fois sur Add header (Ajouter un en-tête) pour ajouter deux lignes et saisissez les paires key:value (clé:valeur) suivantes :
    • Content-Type : application/json.
    • Authorization : Basic <encoded_Base64_value_of_id-secret_pair>
  3. Dans la zone Body, saisissez le contenu de cet appel.

    Exemple

    {
      "audience":"https://api.<env>.cloud.talend.com",
      "grant_type":"client_credentials"
    }
    • Le code 200 est retourné avec un jeton. Ce jeton s'affiche uniquement à ce moment. Conservez ce jeton dans un emplacement secret. Le compte de service a besoin de ce jeton pour émettre les appels d'API.
    • Lorsque vous utilisez ce jeton dans l'en-tête Authorization pour émettre un appel d'API, ajoutez toujours Bearer, un espace, puis la valeur du jeton. Par exemple, Bearer your_service_account_token. Cet exemple, Using a service account to get users (en anglais), montre comment utiliser un jeton de compte de service dans une requête d'API.
    • Ce jeton expire au bout de 30 minutes.

      Mettez en cache ou stockez ce jeton. Vous pouvez le réutiliser jusqu'à expiration. Utilisez ensuite à nouveau la combinaison ID:secret encodée en Base64 pour obtenir un nouveau jeton.

  4. Sauvegardez cette requête d'API et nommez-la par exemple, Renew the SAT, afin de pouvoir la réutiliser pour actualiser le jeton.

Résultats

Votre compte de service est prêt à être utilisé pour appeler les services Talend.

Que faire ensuite

Vous devez monitorer l'expiration de votre jeton de manière réactive ou proactive.
  • Réactive : supposez que le jeton est valide dans chaque requête et agissez lorsque vous recevez la réponse 401 unauthorized.
  • Proactive : une fois généré, un jeton est valide 30 minutes. Soyez conscient·e de l'heure d'expiration et renouvelez le jeton en fonction.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.