Questo documento spiega come creare i certificati, le chiavi e i token necessari.

Obiettivo

Per fornire passaggi chiari e riproducibili per generare un token portatore Adobe IO per eseguire chiamate API per soluzioni DMA come Target.

Passaggi

Passaggi per creare il Token portatore per eseguire le chiamate Adobe IO API

  1. Genera una chiave privata e un certificato pubblico
  2. Crea l'integrazione all'interno della console di Adobe IO
  3. Genera il gettone JWT
  4. Sostituisci il gettone JWT con un token portatore di accesso
  5. Token portatore di accesso dell'utente per eseguire chiamate API
  1. Genera una chiave privata e un certificato pubblico seguendo la seguente documentazione: https://www.adobe.io/apis/cloudplatform/console/authentication/createcert.html

    Su Mac, i seguenti comandi sono integrati nel terminale. 
    Su un computer, è necessario scaricare Cygwin (o un altro strumento a piacimento) ed eseguirlo dalla riga di comando. Di seguito sono descritti i passaggi per scaricare e installare Cygwin:

    1. Vai al sito https://cygwin.com/install.html
    2. Scarica ed esegui setup-x86_64.exe

    Nota: il tuo percorso home è: C:\cygwin64\home\WINDOWSUSER
    Puoi cercare e installare pacchetti aggiuntivi durante la fase di installazione. Consiglio di installare tutto ciò che riguarda "curl" e "ssh".

    Il comando da eseguire è il seguente:

    $ openssl req -nodes -text -x509 -newkey rsa:2048 -keyout secret.pem -out certificate.pem -days 356

    Nota:  la creazione del certificato richiede alcuni dati, come riportato nella schermata di seguito:

    rtaImage

    Dopo che i file sono stati creati, devi convertire secret.key in secret.pem usando il seguente comando:

    $ openssl pkcs8 -topk8 -inform PEM -outform DER -in secret.pem  -nocrypt > secret.key

    Qui sono presenti i file che vengono creati sul tuo file system (se lo desideri, puoi spostare questi file in un altro percorso sul tuo computer):

    rtaimage_1_

    Nota:

    I file vengono generati nella tua directory home: C:\cygwin64\home\WINDOWSUSER

  2. Creare l'integrazione all'interno della console Adobe IO:

    rtaimage_2_
    • Seleziona l'opzione "Accedi a un'API", quindi fai clic su "continua"
    rtaimage_3_
    • Seleziona la soluzione Adobe (attualmente disponibile solo per Target).

    Nota: l'utente deve essere un utente dell'Experience Cloud E avere accesso a quella soluzione.

    rtaimage_4_
    • Seleziona "Nuova integrazione" e fai clic su "Continua"
    rtaimage_5_
    • Compila il modulo di integrazione.
    rtaimage_6_
    • Trascina "certificate.pem" dal file system al modulo per caricarlo
    rtaimage_7_
    • Una volta caricato il file, fai clic sul pulsante "Crea integrazione" - vedi la schermata: fileuploaded_createint.
    rtaimage_8_
    • Al termine dell'elaborazione, fai clic su "continua con i dettagli dell'integrazione."
    rtaimage_9_

    Operazione riuscita! L'integrazione è stata creata.

    rtaimage_10_
  3. Generare Token JSON Web (JWT)

    Nell'interfaccia utente di integrazione, fariclic sulla scheda JWT, incolla la chiave privata, fai clic sul pulsante Genera JWT - vedi schermata: generare JWT - input.

    rtaimage_11_
    • Una volta generato, si vedrà il JWT e un esempio di comando CURL.
    • Fai clic sull'icona "copia" sotto "JWT generato"
    rtaimage_12_
  4. Sostituire JWT con il token portatore di accesso:

    Nota: se lo si esegue su un terminale Mac, la risposta sembra essere troncata. In alternativa, usa Postman.

    • Scarica e installa lo strumento API gratuito denominato "Postman" (disponibile su Mac, Windows o Linux): https://www.getpostman.com/
    • Importa questa chiamata api in Postman copiando il codice sottostante in un file di testo con estensione .json sul tuo computer:
    {"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}]}

    Esempio nome di file: exchangeJwt.json

    rtaimage_13_
    • Importa file in Postman andando a File -> Importa: qui puoi trascinare e rilasciare il file .json o caricare il file.
    rtaimage_14_
    • Questo crea una "collezione" sul lato sinistro di Postman, con una chiamata API denominata "Exchange JWT for Bearer token"
    rtaimage_15_
    • Fai clic sulla chiamata API "Exchange JWT for Bearer token"
    • Nella sezione principale dell'interfaccia utente, questo è ciò che si vede:
    rtaimage_16_

    Nota: come evidenziato in rosso sopra, mi trovo nella scheda "Corpo". Se ti trovi in un'altra scheda, non potrai vedere i tre dati di cui hai bisogno.

    Informazioni necessarie:
    client_id: ottenibile dalla pagina di panoramica dell'integrazione
    client_secret: generabile dalla pagina di panoramica dell'integrazione
    jwt_token: incolla nel token JWT generato che hai copiato nel passaggio precedente

    Fai clic su "Invia".
    Viene recuperato il token portatore, che viene utilizzato per effettuare chiamate API.

    rtaimage_17_

    L'access_token è ciò che viene utilizzato come parte delle chiamate API che si intende eseguire.

    "access_token": "eyJ4NXUiOiJpbXNfbmExLWtleS0xLmNlciIsImFsZyI6IlJTMjU2In0.eyJpZCI6IjE1MTY3NDgxNjU5MzZfMjdiNTkwYmUtYjVlYy00ZjhiLTkzNWEtZTAyMjZmYTZiYTk1X3VlMSIsImNsaWVudF9pZCI6IjQyOTkxMzRlNzRkNTRkNTZhY2YyYTc4YjcyYTdlNDFlIiwidXNlcl9pZCI6IjkwNTEyQTlDNUE2N0I3ODEwQTQ5NUM5NEB0ZWNoYWNjdC5hZG9iZS5jb20iLCJ0eXBlIjoiYWNjZXNzX3Rva2VuIiwiYXMiOiJpbXMtbmExIiwiZmciOiJTRDRZQUNZSEhQSDdPRkFBQUFBQUFBQUFFST09PT09PSIsIm1vaSI6IjM3NTliZjQxIiwiYyI6IndTVTd3b1hIZkZSQk5xQmo3M2Z4anc9PSIsImV4cGlyZXNfaW4iOiI4NjQwMDAwMCIsInNjb3BlIjoib3BlbmlkLEFkb2JlSUQsdGFyZ2V0X3NkayxyZWFkX29yZ2FuaXphdGlvbnMsYWRkaXRpb25hbF9pbmZvLnByb2plY3RlZFByb2R1Y3RDb250ZXh0IiwiY3JlYXRlZF9hdCI6IjE1MTY3NDgxNjU5MzYifQ.fVJVREKZH3PM71-Y05Kkqqxq_O_z7BL5NL6S4ypNoSwLuqR9WOiXsF0GYcWZr6oO-jgYj8WrRePQLkg4GSoVthSbbXU6aqajPV2TsFNHpXRuJFBhql0e2eVCEE_pVI9O_uCa8RloGjJuFyyEAvroQFEIJzC7Q-OAnkXMT7xD-3r1cEV2xP_N3s86t34M5udO4fjas3RCJtAS1BEZOotlF_rB0kfvCZR9Krf-SVi_VedpsK7ipoJGfs7CLdN-_a4YGTC2CBJXwdK-4T0QJRkWedr8ooS0tzzfVcQ4WEZfw1edi-OYSuIbXf-Obl5R9NCzi5RMceiGTyGMyRrEcmy3WQ"
  5. Esempio di chiamata API

    • Destinazione
    • Esegui la chiamata a Target con il token di accesso
    rtaimage_18_

Informazioni aggiuntive

Documentazione di riferimento:

Scarica

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online