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
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.
Échanger le JWT pour récupérer un jeton d’accès
-
Envoyez une requête POST à :
code language-none https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
-
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}