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 cliente de communiquer avec Workfront au nom de l’utilisateur, vous devez :
- Création d’une application OAuth2
- Création d’un certificat de clé publique
- Création d’un jeton Web JSON (JWT)
Création d’une application OAuth2
Pour plus d’informations sur la création de l’application OAuth2, voir Créer une application OAuth2 à l’aide de l’authentification du serveur (flux JWT) in Création d’applications OAuth2 pour les intégrations Workfront
Création d’un certificat de clé publique
Le jeton JWT doit être signé et codé en base 64 pour être inclus dans la demande d’accès. Les bibliothèques JWT fournissent des fonctions pour exécuter ces tâches.
Le jeton doit être signé à l’aide de la clé privée d’un certificat de signature numérique. Si vous le faites, 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 consommateur du JWT obtient une clé publique pour valider la signature.
Pour générer la clé publique, procédez comme suit : one de ce qui suit.
-
Ouvrez votre terminal MacOS/Linux et exécutez la commande suivante, puis chargez
certificate_pub.crt
en utilisant la variable 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 la variable Génération d’une paire de clés publique/privée dans la configuration de l’application OAuth2 dans Workfront pour générer la RSA.
Création d’un jeton Web JSON
Un jeton Web JSON pour l’authentification du compte de service nécessite un ensemble spécifique 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 des outils disponibles publiquement pour créer votre JWT.
Le tableau suivant contient des informations sur les champs qui peuvent être requis lorsque vous configurez le jeton JWT.
Exchange du JWT pour récupérer un jeton d’accès
-
Envoyez une demande de POST à :
code language-none https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
-
Le corps de la requête doit contenir des paramètres codés URL avec votre ID 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}