Pour fournir des étapes claires et reproductibles permettant de générer un jeton porteur Adobe IO afin d’exécuter des appels API pour les solutions DMA telles que Target.
Procédure à suivre pour créer un jeton porteur afin d’exécuter des appels API d’Adobe IO :
- Générer une clé privée et un certificat public
- Création d’une intégration dans la console d’Adobe IO
- Générer un jeton JWT
- Échange de jeton JWT pour un jeton porteur d’accès
- Jeton porteur d’accès utilisateur pour exécuter les appels d’API
-
Générez la clé privée et le certificat public selon la documentation suivante : https://www.adobe.io/apis/cloudplatform/console/authentication/createcert.html
Sur Mac, les commandes suivantes sont intégrées au terminal.
Sur un ordinateur, vous devez télécharger Cygwin (ou tout autre outil de préférences personnelles) et l’exécuter à partir de la ligne de commande. Voici les étapes de téléchargement et d’installation de Cygwin :- Accédez à https://cygwin.com/install.html
- Télécharger et exécuter setup-x86_64.exe
Remarque : votre répertoire personnel est le suivant : C:\cygwin64\home\WINDOWSUSER
Vous pouvez rechercher et installer des packages supplémentaires lors de l’installation. Je vous conseille d’installer tout ce qui concerne «curl» et «ssh.»Voici la commande à exécuter :
$ openssl req -nodes -text -x509 -newkey rsa:2048 -keyout secret.pem -out certificate.pem -days 356
Remarque: Il vous pose plusieurs questions que vous devez compléter pour générer le certificat, consultez la capture d’écran ci-dessous :
Une fois les fichiers créés, vous pouvez convertir le fichier secret.key en secret.pem à l’aide de la commande suivante :
$ openssl pkcs8 -topk8 -inform PEM -outform DER -in secret.pem -nocrypt > secret.key
Voici les fichiers créés dans votre système de fichiers ( à ce stade vous pouvez déplacer ces fichiers à un autre emplacement de votre ordinateur pour votre propre organisation) :
Remarque :
Les fichiers sont générés dans votre répertoire personnel : C:\cygwin64\home\WINDOWSUSER
-
Créez l’intégration avec la console Adobe IO :
- Accédez à https://console.adobe.io/
- Sélectionnez l’entreprise.
- Cliquez sur le bouton « Nouvelle intégration ».
- Sélectionnez la solution Adobe (actuellement disponible uniquement pour la cible).
Remarque : l’utilisateur doit être un utilisateur d’Experience Cloud ET avoir accès à cette solution.
- Faites glisser le fichier « certificate.pem » du système de fichiers dans le formulaire à télécharger.
- Une fois le fichier téléchargé, cliquez sur le bouton « Créer une intégration » - Voir la capture d’écran : fileuploaded_createint.
-
Générez le jeton Web JSON (JWT) :
Dans l’interface utilisateur d’intégration, cliquez sur l’onget JWT, collez dans la clé privée, cliquez sur Générez le bouton JWT - voir la capture d’écran : générez JWT - Saisie.
- Une fois généré, le JWT et un exemple de commande CURL s’affichent.
- Cliquez sur l’icône « copie » ci-dessous sous « JWT généré ».
-
Échanger JWT pour le jeton porteur d’accès :
Remarque : si vous exécutez cela sur un terminal Mac, la réponse semble être tronquée. Au lieu de cela, utilisez Postman.
- Téléchargez et installez l’outil gratuit d’API nommé « Postman » (disponible sur Mac, Windows ou Linux) : https://www.getpostman.com/
- Importez cet appel api dans Postman en copiant le code ci-dessous dans un fichier texte sur votre ordinateur avec une extension .json :
{"id":"f6854718-2800-64a8-238e-e785e344f6cf","name":"Exchange JWT for Bearer token","description":"","order":["048b6fc7-f1db-5028-ff21-45778613e2c5"],"folders":[],"folders_order":[],"timestamp":1516812553075,"owner":"860614","public":false,"events":[],"variables":[],"auth":null,"requests":[{"id":"048b6fc7-f1db-5028-ff21-45778613e2c5","name":"Exchange JWT for Bearer token","collectionId":"f6854718-2800-64a8-238e-e785e344f6cf","method":"POST","description":"JWT exchange flow","headers":"","dataMode":"params","data":[{"key":"client_id","value":"0fa5e762277c414f903649dd51424ac6","type":"text"},{"key":"client_secret","value":"9ff026f2-dfa4-4228-8dfa-11d809d4706b","type":"text"},{"key":"jwt_token","value":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0ODg4ODMzMzIsImlzcyI6IjY1NzhBNTU0NTZFODRFMjQ3RjAwMDEwMUBBZG9iZU9yZyIsInN1YiI6IjlDQjEyOTlENThCM0VDNkYwQTQ5NUM3RkB0ZWNoYWNjdC5hZG9iZS5jb20iLCJhdWQiOiJodHRwczovL2ltcy1uYTEuYWRvYmVsb2dpbi5jb20vYy8wZmE1ZTc2MjI3N2M0MTRmOTAzNjQ5ZGQ1MTQyNGFjNiIsImh0dHBzOi8vaW1zLW5hMS5hZG9iZWxvZ2luLmNvbS9zL2VudF9zbWFydGNvbnRlbnRfc2RrIjp0cnVlfQ.LwiDDjhwUfZ2ap89vfWd2ZVnfG-FwpQplKvzEecTLua_hvGNfQAZBPTHbVaXICPkeNjr41cRUr_OmNuOmtFOwVokUjd5rQCaGOqBNWWKPAyAAdXhBdE05oFa2Gar6adytKv-vf7gAnVQbv-PUADbCCtmxoOygbafXi9V3ZHz1FBwPJ8vpnZH4Il3zVf420XwnzLa9IB02nUciG_fQ0b1Qgj429Yi7m-lhW--2bMZKyNdSnioNaICFg6ASY1vnNm1zICPla224K_Lwzbrye8itgQStRUp1mH53Ww36xzqVxNIYLQCEoI9qxAJlR0HQhaXeSPrU9PmcExIyKBim2CZzg","type":"text"}],"rawModeData":"","url":"https:\/\/ims-na1.adobelogin.com\/ims\/exchange\/jwt\/","responses":[],"pathVariableData":[],"queryParams":[],"headerData":[],"auth":null,"collection_id":"08283cc0-461e-155c-e07f-ca64bae1dcae","isFromCollection":true,"collectionRequestId":"29f7fc5f-7e6d-01d4-de86-2f273b8a6429","currentHelper":null,"helperAttributes":null}]}
- Importez le fichier dans Postman en accédant à Fichier > Importer : vous pouvez faire glisser le fichier .json ici ou rechercher le fichier.
- Cela crée une « collection » dans Postman sur le côté gauche, avec un appel API nommé « Exchange JWT for Bearer token ».
- Cliquez sur l’appel d’API « Exchange JWT for Bearer token ».
- Dans la section principale de l’interface utilisateur, voici ce que vous voyez :
Remarque : comme indiqué en rouge ci-dessus, je suis dans l’onglet « Body ». Si vous êtes dans un autre onglet, vous ne voyez pas les trois informations nécessaires.
Informations requises :
client_id: obtenir de la page d’aperçu de l’intégration
client_secret: générer sur la page d’aperçu de l’intégration
jwt_token: coller le jeton JWT généré que vous avez copié à l’étape précédente
Cliquez « Send ».
Le jeton porteur est récupéré, qui est utilisé pour effectuer des appels API.Access_token est ce qui est utilisé dans le cadre des appels API que vous avez l’intention d’exécuter.
"access_token": "eyJ4NXUiOiJpbXNfbmExLWtleS0xLmNlciIsImFsZyI6IlJTMjU2In0.eyJpZCI6IjE1MTY3NDgxNjU5MzZfMjdiNTkwYmUtYjVlYy00ZjhiLTkzNWEtZTAyMjZmYTZiYTk1X3VlMSIsImNsaWVudF9pZCI6IjQyOTkxMzRlNzRkNTRkNTZhY2YyYTc4YjcyYTdlNDFlIiwidXNlcl9pZCI6IjkwNTEyQTlDNUE2N0I3ODEwQTQ5NUM5NEB0ZWNoYWNjdC5hZG9iZS5jb20iLCJ0eXBlIjoiYWNjZXNzX3Rva2VuIiwiYXMiOiJpbXMtbmExIiwiZmciOiJTRDRZQUNZSEhQSDdPRkFBQUFBQUFBQUFFST09PT09PSIsIm1vaSI6IjM3NTliZjQxIiwiYyI6IndTVTd3b1hIZkZSQk5xQmo3M2Z4anc9PSIsImV4cGlyZXNfaW4iOiI4NjQwMDAwMCIsInNjb3BlIjoib3BlbmlkLEFkb2JlSUQsdGFyZ2V0X3NkayxyZWFkX29yZ2FuaXphdGlvbnMsYWRkaXRpb25hbF9pbmZvLnByb2plY3RlZFByb2R1Y3RDb250ZXh0IiwiY3JlYXRlZF9hdCI6IjE1MTY3NDgxNjU5MzYifQ.fVJVREKZH3PM71-Y05Kkqqxq_O_z7BL5NL6S4ypNoSwLuqR9WOiXsF0GYcWZr6oO-jgYj8WrRePQLkg4GSoVthSbbXU6aqajPV2TsFNHpXRuJFBhql0e2eVCEE_pVI9O_uCa8RloGjJuFyyEAvroQFEIJzC7Q-OAnkXMT7xD-3r1cEV2xP_N3s86t34M5udO4fjas3RCJtAS1BEZOotlF_rB0kfvCZR9Krf-SVi_VedpsK7ipoJGfs7CLdN-_a4YGTC2CBJXwdK-4T0QJRkWedr8ooS0tzzfVcQ4WEZfw1edi-OYSuIbXf-Obl5R9NCzi5RMceiGTyGMyRrEcmy3WQ"
Documentation de référence :
- Accueil Adobe IO : https://www.adobe.io/
- Console Adobe IO Console (Authentication SSO) : https://console.adobe.io/integrations
- Adobe IO pour toutes les solutions Cross-Cloud : https://www.adobe.io/apis.html
- Adobe IO pour des solutions d’Experience Cloud : https://www.adobe.io/apis/marketingcloud.html
- Adobe IO Target API : https://www.adobe.io/apis/marketingcloud/target/docs/getting-started.html
- Adobe Target API (contient les API qui ont migré vers Adobe IO ainsi que les API qui n’ont pas encore été déplacées vers Adobe IO) - Similaire à la documentation ci-dessus, mais comprend davantage d’exemples et une bibliothèque Postman de tous les appels Adobe API : http://developers.adobetarget.com/api/
- Statut Adobe IO : http://status.adobe.com/adobeio
Telechargement