Klare, reproduzierbare Schritte zur Generierung eines Adobe IO-Trägertokens für die Ausführung von API-Aufrufen für DMA-Lösungen wie Target bereitzustellen.
Schritte zum Erstellen von Trägertoken zur Ausführung von API-Aufrufen mit Adobe IO:
- Privaten Schlüssel und öffentliches Zertifikat erstellen
- Integration innerhalb der Adobe IO-Konsole herstellen
- JWT-Token generieren
- JWT-Token gegen einen Access-Trägertoken austauschen
- Benutzer-Access-Trägertoken zum Ausführen von API-Aufrufen
-
Privaten Schlüssel und öffentliches Zertifikat gemäß folgender Dokumentation generieren: https://www.adobe.io/apis/cloudplatform/console/authentication/createcert.html
Auf einem Mac sind die folgenden Befehle im Terminal integriert.
Auf einem Computer müssen Sie „Cygwin“ (oder ein anderes Tool Ihrer Wahl) herunterladen und von der Kommandozeile aus starten. Nachfolgend finden Sie die Schritte zum Herunterladen und Installieren von „Cygwin“:- Geben Sie im Browser die URL https://cygwin.com/install.html ein.
- „setup-x86_64.exe“ herunterladen und ausführen
Hinweis: Ihr Basisverzeichnis ist: C:\cygwin64\home\WINDOWSUSER
Sie können während der Installationsphase nach weiteren Paketen suchen und diese installieren. Es ist empfehlenswert, alles zu installieren, was mit „curl“ und „ssh“ in Verbindung steht.Dies ist der auszuführende Befehl:
$ openssl req -nodes -text -x509 -newkey rsa:2048 -keyout secret.pem -out certificate.pem -days 356
Hinweis: Es werden Ihnen einige Fragen gestellt, die Sie beantworten müssen, um das Zertifikat zu generieren, siehe Screenshot unten:
Nach der Erstellung der Dateien konvertieren Sie „secret.key“ mithilfe des folgenden Befehls in „secret.pem“:
$ openssl pkcs8 -topk8 -inform PEM -outform DER -in secret.pem -nocrypt > secret.key
Im Folgenden finden Sie die Dateien, die auf Ihrem Dateisystem erstellt werden (Sie können diese Dateien zu diesem Zeitpunkt aus organisatorischen Gründen an einen anderen Ort auf Ihrem Rechner verschieben):
Hinweis:
Die Dateien werden in Ihrem Basisverzeichnis angelegt: C:\cygwin64\home\WINDOWSUSER
-
Integration innerhalb der Adobe-IO-Konsole erstellen:
- Gehen Sie zu https://console.adobe.io/
- Wählen Sie „Unternehmen“.
- Klicken Sie auf die Schaltfläche „Neue Integration“.
- Wählen Sie „Adobe Solution“ (derzeit nur für Target verfügbar).
Hinweis: Der Benutzer muss ein Benutzer von Experience Cloud sein UND Zugang zu dieser Lösung haben.
- Nach dem Hochladen der Datei klicken Sie auf die Schaltfläche „Integration erstellen“ - siehe Screenshot: fileuploaded_createint.
-
JSON-Web-Token (JWT) generieren:
Klicken Sie in der Benutzeroberfläche der Integration auf die Registerkarte „JWT“, fügen Sie den privaten Schlüssel ein, klicken Sie auf die Schaltfläche „JWT generieren“ - siehe Screenshot: „JWT generieren“ - Eingabe.
- Nach der Generierung sehen Sie das JWT und ein Beispiel für einen CURL-Befehl.
- Klicken Sie auf das Symbol „Kopie“ unter „Generierte JWT“.
-
JWT gegen Träger-Zugriffstoken austauschen:
Hinweis: Bei der Ausführung auf einem Mac-Terminal scheint die Antwort gekürzt zu werden. Verwenden Sie stattdessen „Postman“.
- Laden Sie das kostenlose API-Tool „Postman“ herunter und installieren Sie es (verfügbar auf Mac, Windows oder Linux): https://www.getpostman.com/
- Importieren Sie diesen API-Aufruf in Postman, indem Sie den untenstehenden Code in eine Textdatei auf Ihrem Computer mit der Erweiterung „.json“ kopieren:
{"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}]}
- Importieren Sie die Datei in Postman, indem Sie zur Datei > „Importieren“ gehen: Sie können die .json-Datei hier per Drag-and-Drop verschieben oder nach der Datei suchen.
- Dadurch wird in Postman auf der linken Seite eine „Collection“ mit einem API-Aufruf namens „Austausch von JWT gegen Trägertoken“ erstellt.
- Klicken Sie auf den API-Aufruf „Austausch von JWT gegen Trägertoken“.
- Im Hauptbereich der Benutzeroberfläche sehen Sie Folgendes:
Hinweis: Wie oben in Rot hervorgehoben, befinde ich mich in der Registerkarte "Textkörper". Wenn Sie sich in einer anderen Registerkarte befinden, werden die drei erforderlichen Informationen nicht angezeigt.
Erforderliche Information:
client_id: erhalten Sie auf der Integrationsübersichtsseite
client_secret: generieren Sie auf der Integrationsübersichtsseite
jwt_token: in generiertes JWT-Token einfügen, das Sie im vorherigen Schritt kopiert haben
Klicken Sie auf „Senden“.
Das Trägertoken wird abgerufen, mit dessen Hilfe API-Aufrufe getätigt werden."access_token": "eyJ4NXUiOiJpbXNfbmExLWtleS0xLmNlciIsImFsZyI6IlJTMjU2In0.eyJpZCI6IjE1MTY3NDgxNjU5MzZfMjdiNTkwYmUtYjVlYy00ZjhiLTkzNWEtZTAyMjZmYTZiYTk1X3VlMSIsImNsaWVudF9pZCI6IjQyOTkxMzRlNzRkNTRkNTZhY2YyYTc4YjcyYTdlNDFlIiwidXNlcl9pZCI6IjkwNTEyQTlDNUE2N0I3ODEwQTQ5NUM5NEB0ZWNoYWNjdC5hZG9iZS5jb20iLCJ0eXBlIjoiYWNjZXNzX3Rva2VuIiwiYXMiOiJpbXMtbmExIiwiZmciOiJTRDRZQUNZSEhQSDdPRkFBQUFBQUFBQUFFST09PT09PSIsIm1vaSI6IjM3NTliZjQxIiwiYyI6IndTVTd3b1hIZkZSQk5xQmo3M2Z4anc9PSIsImV4cGlyZXNfaW4iOiI4NjQwMDAwMCIsInNjb3BlIjoib3BlbmlkLEFkb2JlSUQsdGFyZ2V0X3NkayxyZWFkX29yZ2FuaXphdGlvbnMsYWRkaXRpb25hbF9pbmZvLnByb2plY3RlZFByb2R1Y3RDb250ZXh0IiwiY3JlYXRlZF9hdCI6IjE1MTY3NDgxNjU5MzYifQ.fVJVREKZH3PM71-Y05Kkqqxq_O_z7BL5NL6S4ypNoSwLuqR9WOiXsF0GYcWZr6oO-jgYj8WrRePQLkg4GSoVthSbbXU6aqajPV2TsFNHpXRuJFBhql0e2eVCEE_pVI9O_uCa8RloGjJuFyyEAvroQFEIJzC7Q-OAnkXMT7xD-3r1cEV2xP_N3s86t34M5udO4fjas3RCJtAS1BEZOotlF_rB0kfvCZR9Krf-SVi_VedpsK7ipoJGfs7CLdN-_a4YGTC2CBJXwdK-4T0QJRkWedr8ooS0tzzfVcQ4WEZfw1edi-OYSuIbXf-Obl5R9NCzi5RMceiGTyGMyRrEcmy3WQ"
Referenzdokumentation:
- Adobe IO-Startseite: https://www.adobe.io/
- Adobe IO-Konsole (SSO-Authentifizierung): https://console.adobe.io/integrations
- Adobe IO für alle Cross-Cloud-Lösungen: https://www.adobe.io/apis.html
- Adobe IO für Experience Cloud-Lösungen: https://www.adobe.io/apis/marketingcloud.html
- Adobe IO Target-APIs: https://www.adobe.io/apis/marketingcloud/target/docs/getting-started.html
- Adobe Target-APIs (enthält APIs, die auf Adobe IO migriert sind, sowie APIs, die noch nicht auf Adobe IO umgestellt wurden) - In ähnlicher Weise wie oben beschrieben, enthält aber weitere Beispiele und die Postman-Bibliothek mit allen Adobe-API-Aufrufen: http://developers.adobetarget.com/api/
- Adobe IO-Status: http://status.adobe.com/adobeio
Herunterladen