Configurer et utiliser les applications OAuth 2 personnalisées de votre organisation à l’aide du flux JWT

Pour intégrer Workfront et permettre à votre application client de communiquer avec Workfront au nom de l’utilisateur ou de l’utilisatrice, vous devez procéder comme suit :

  • Créer une application OAuth2
  • Créer un certificat de clé publique
  • Créer un jeton web JSON (JWT)

Créer une application OAuth2

Pour des instructions sur la création de l’application OAuth2, voir Créer une application OAuth2 à l’aide de l’authentification serveur (flux JWT) dans Créer des applications OAuth2 pour les intégrations Workfront

NOTE
Vous pouvez avoir jusqu’à dix applications OAuth2 à la fois.

Créer un certificat de clé publique

Le JWT doit être signé et encodé en Base64 pour être inclus dans la demande d’accès. Les bibliothèques JWT fournissent des fonctions permettant d’effectuer ces tâches.

Le jeton doit être signé à l’aide de la clé privée d’un certificat de signature numérique. Dans ce cas, vous pouvez utiliser la clé privée de tout certificat associé pour signer votre JWT.

L’algorithme utilisé est RS256 (signature RSA avec SHA-256). Il s’agit d’un algorithme asymétrique qui utilise une paire de clés publique/privée. Le fournisseur d’identité dispose d’une clé privée (secrète) utilisée pour générer la signature, et le client du JWT obtient une clé publique pour valider la signature.

Pour générer la clé publique, faites l’une des opérations suivantes.

  • Ouvrez votre terminal MacOS/Linux et exécutez la commande suivante, puis chargez certificate_pub.crt en utilisant le bouton Ajouter une clé publique dans la configuration de l’application OAuth2 dans Workfront.

    code language-none
    openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout private.key -out certificate_pub.crt
    
  • Utilisez le bouton Générer une paire de clés publique/privée dans la configuration de l’application OAuth2 dans Workfront pour générer le RSA.

Créer un jeton web JSON

Un jeton web JSON pour l’authentification d’un compte de service nécessite un ensemble particulier de revendications et doit être signé à l’aide d’un certificat de signature numérique valide. Nous vous recommandons d’utiliser l’une des bibliothèques ou l’un des outils accessibles au public pour créer votre JWT.

Le tableau suivant contient des informations sur les champs qui peuvent être nécessaires lors de la configuration du jeton JWT.

exp

Requis. Le paramètre d’expiration est un paramètre obligatoire qui mesure le temps absolu depuis le 01/01/1970 GMT. Vous devez vous assurer que le délai d’expiration est postérieur à l’heure de l’événement. Passé ce délai, le JWT n’est plus valide.

Note : nous vous recommandons d’utiliser un jeton à durée de vie très courte (quelques minutes), de sorte qu’il expire peu après avoir été échangé contre un jeton d’accès. Chaque fois qu’un nouveau jeton d’accès est requis, un JWT est signé et échangé. Il s’agit d’une approche plus sûre. Nous ne recommandons pas les jetons à longue durée de vie qui sont réutilisés pour obtenir des jetons d’accès en fonction des besoins.

iss
Requis. L’émetteur est l’ID du client ou de la cliente figurant dans les détails de l’application OAuth2.
sub
Requis. Le sujet est l’ID de l’utilisateur ou l’utilisatrice qui a créé la clé publique lors de l’installation.

Échanger le JWT pour récupérer un jeton d’accès

  1. Envoyez une requête POST à :

    code language-none
    https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
    
  2. Le corps de la demande doit contenir des paramètres codés en URL avec votre identifiant client, votre secret client et votre JWT :

    code language-none
    client_id={client_id_value}&client_secret={client_secret_value}&jwt_token={base64_encoded_JWT}
    
recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43