Configuración de IO de Adobe: Autenticación: paso a paso

Descripción


Problema


Cómo generar un token al portador de E/S de Adobe para ejecutar llamadas de API para soluciones de marketing digital como Target.

Resolución

Pasos para crear un token de portador para ejecutar llamadas a la API de E/S de Adobe:

  1. Generar clave privada y certificado público
  2. Crear integración dentro de la consola de IO de Adobe
  3. Generar token JWT
  4. Intercambio de token JWT por un token de acceso al portador
  5. Token de acceso al usuario para ejecutar las llamadas a la API
  • Genere la clave privada y el certificado público según la siguiente documentación: https://www.adobe.io/apis/cloudplatform/console/authentication/createcert.html
    En un Mac, los siguientes comandos están integrados en el terminal.

    En un ordenador, tienes que descargar Cygwin (u otra herramienta de preferencia personal) y ejecutarla desde la línea de comandos. Estos son los pasos para descargar e instalar Cygwin:

    1. Vaya a https://cygwin.com/install.html
    2. Descargue y ejecute setup-x86_64.exe

    *Nota:  El directorio principal es: C:\cygwin64\home\WINDOWSUSER

    Puede buscar e instalar paquetes adicionales durante la fase de instalación. Recomiendo instalar todo lo relacionado con "curl" y "ssh".*
    Este es el comando para ejecutar:

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

    Nota:  Le hace varias preguntas que debe completar para generar el certificado; vea la captura de pantalla a continuación:rtaImage

      Una vez creados los archivos, convierta secret.key a secret.pem con el siguiente comando:

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


  Estos son los archivos que se crean en su sistema de archivos (puede mover estos archivos a otra ubicación de su equipo en este momento para la organización):
rtaimage_1_ Nota: Los archivos se generan en el directorio de inicio: C:\cygwin64\home\WINDOWSUSER

  • Cree la integración dentro de la consola de IO de Adobe:

rtaimage_2_

- Seleccione la opción "Acceso a una API" y, a continuación, haga clic en "Continuar".

rtaimage_3_

- Seleccione Solución de Adobe (actualmente solo disponible para Target).

<b>Nota:</b> el usuario debe ser un usuario de Experience Cloud y tener acceso a esa solución.

rtaimage_4_

- Seleccione "Nueva integración" y haga clic en "Continuar".

rtaimage_5_

- Rellene el formulario de integración.

rtaimage_6_

- Arrastre "certificate.pem" desde el sistema de archivos al formulario para cargarlo.
rtaimage_7_
- Una vez cargado el archivo, haga clic en el botón "Crear integración" (véase la captura de pantalla): fileuploaded_createint.
rtaimage_8_
- Cuando termine el procesamiento, haga clic en "Continuar con los detalles de la integración".

rtaimage_9_
 
Correcto! Ha creado una integración.
rtaimage_10_

  • Generar token web JSON (JWT):

    En la interfaz de usuario de integración, haga clic en la pestaña JWT, pegue la clave privada, haga clic en el botón Generar JWT - ver captura de pantalla: generación de JWT: entrada.
    rtaimage_11_

    • Una vez generado, verá el JWT y un ejemplo de comando CURL.
    • Haga clic en el icono "copiar" debajo de "JWT generado".
rtaimage_12_
  • Intercambio del JWT por un token de acceso al portador:

    Nota: si se ejecuta en un terminal de Mac, la respuesta parece quedar truncada. En su lugar, utilice Postman.

    • Descargue e instale la herramienta de API gratuita denominada "Postman" (disponible en Mac, Windows o Linux): https://www.getpostman.com/
    • Importe esta llamada de API a Postman copiando el código siguiente en un archivo de texto del equipo con la extensión .json:


 
 

| "{""id"":""f6854718-2800-64a8-238e-e785e344f6cf",""name":""Exchange JWT for Bearer token"",""description"":""""," "order":""048b6fc7-f1db-5028-ff21-45778613e2c5"",""folders":,""folders_order":,""timestamp"":1516812553 075,""owner":""860614"",""public":"false",""events"":,""variables":,""auth":null,""request":{""id":""048b6fc7-f1db-5028-ff 21-45778613e2c5",""name":""Exchange JWT for Bearer token"",""collectionId"":""f6854718-2800-64a8-238e-e78 5e344f6cf"",""método":""POST"",""descripción":""Flujo de intercambio JWT"",""encabezados":"""",""dataMode"":""params",""data":{""clave":""client_id"",""value":":"0fa"5e762277c414f903649dd51424ac6"",""type":""text"},{""key":""client_secret"",""value"":""9ff026f2-dfa4 -4228-8dfa-11d809d4706b"",""type"":""text"},{""key"":""jwt_token"",""value":""eyJ0eXAiOiJKV1QiLCJhhl bGciOiJSUzI1NiJ9.eyJleHAiOjE0ODg4ODMzMzIsImlzcyI6IjY1NzhBNTU0NTZFODRFMjQ3RjAwMDEwMUBZG9iZU ZyIsInN1YiI6IjlDQjEyOTlENThCM0VDNkYwQTQ5NUM3RkB0ZWNYWNjdC5hZG9iZS5jb20iLCJhdWQi OiJodHRwczovL2ltcy1uYTEuYWRvYmVsb2dpbi5jb20vYy8wZmE1ZTc2MjI3N2M0MTRmOTAzNjQ5ZGQ1MTQ NGFjNiIsImh0dHBzOi8vaW1zLW5hMS5hZG9iZWxvZ2luLmNvbS9zL2VudF9zbWFydGNvbnRlbnRfc2RrIjr p0cnVlfQ.LwiDDjhwUfZ2ap89vfWd2ZVnfG-FwpQplKvzEecTLua_hvGNfQAZBPTHbVaXICPkeNjr41cRUr OmNuOmtFOwVokUjd5rQCaGOqBNWKPAyAAdXhBdE05oFa2Gar6adytKv-vf7gAnVQbv-PUADbCtmxoOygbaf Xi9V3ZHz1FBwPJ8vpnZH4Il3zVf420XwnzLa9IB02nUciG_fQ0b1Qgj429Yi7m-lhW—2bMZKyNdSnioNa ICFg6ASY1vnNm1zICPla224K_Lwzbrye8itgQStRUp1mH53Ww36xzqVxNIYLQCEoI9qxAJlR0HQhaXeSPr9PmcExIyKBim2CZzg",""type":""text"},""rawModeData"":"""",""url":""https:\/\/ims-na1.adobelogin.com\/ims\/exchange\/jwt\/"",""responses":,""pathVariableData": ,""queryParams":,""headerData":,""auth"":null,""collection_id"":""08283cc0-461e-155c-e07f-ca64bae1dase"",""isFromCollection":"true", "collectionRequestId"":""29f7fc5f-7e6d-01d4-de86-2f273b8a6429"",""currentHelper"":null,""helperAttributes"":null}` |
| — |




Ejemplo de nombre de archivo: exchangeJwt.json
rtaimage_13_
- Importar archivo en Postman accediendo al archivo Importar: puede arrastrar y soltar el archivo .json aquí o buscar el archivo.
rtaimage_14_
- Esto crea una "colección" en Postman en el lado izquierdo, con una llamada a la API llamada "Intercambiar JWT por token de portador".
rtaimage_15_
- Haga clic en la llamada de API "Intercambiar JWT por token de portador".
- En la sección principal de la interfaz de usuario, esto es lo que se ve:

![rtaimage_16_](https://helpx.adobe.com/content/dam/help/en/marketing-cloud-core/kb/adobe-io-authentication-step-by-step/jcr%3acontent/main-pars/procedure/proc_par/step_3/step_par/image_287339656/rtaimage_16_.png "rtaimage_16_")


  Nota: como se indica arriba en rojo, estoy en la pestaña "Cuerpo". Si se encuentra en otra pestaña, no verá los tres datos necesarios.

Información necesaria

:<b>client_id</b>: obténgalo de la página de resumen de la integración

<b>client_secret</b>: genérelo en la página de resumen de la integración

<b>jwt_token</b>: pegue el token JWT generado que copió en el paso anterior



Haga clic en "Enviar".

Se recupera el token de portador, que se usa para hacer llamadas a la API.
![rtaimage_17_](https://helpx.adobe.com/content/dam/help/en/marketing-cloud-core/kb/adobe-io-authentication-step-by-step/jcr%3acontent/main-pars/procedure/proc_par/step_3/step_par/image_1624742308/rtaimage_17_.png "rtaimage_17_")


  El access_token es lo que se usa como parte de las llamadas a las API que pretende ejecutar.

 

| `"access_token"` `: ` `"eyJ4NXUiOiJpbXNfbmExLWtleS0xLmNlciIsImFsZyI6IlJTMjU2In0.eyJpZCI6IjE1MTY3NDgxNjU5MzZfMjdiNTkwYmUtYjVlYy00ZjhiLTkzNWEtZTAyMjZmYTZiYTk1X3VlMSIsImNsaWVudF9pZCI6IjQyOTkxMzRlNzRkNTRkNTZhY2YyYTc4YjcyYTdlNDFlIiwidXNlcl9pZCI6IjkwNTEyQTlDNUE2N0I3ODEwQTQ5NUM5NEB0ZWNoYWNjdC5hZG9iZS5jb20iLCJ0eXBlIjoiYWNjZXNzX3Rva2VuIiwiYXMiOiJpbXMtbmExIiwiZmciOiJTRDRZQUNZSEhQSDdPRkFBQUFBQUFBQUFFST09PT09PSIsIm1vaSI6IjM3NTliZjQxIiwiYyI6IndTVTd3b1hIZkZSQk5xQmo3M2Z4anc9PSIsImV4cGlyZXNfaW4iOiI4NjQwMDAwMCIsInNjb3BlIjoib3BlbmlkLEFkb2JlSUQsdGFyZ2V0X3NkayxyZWFkX29yZ2FuaXphdGlvbnMsYWRkaXRpb25hbF9pbmZvLnByb2plY3RlZFByb2R1Y3RDb250ZXh0IiwiY3JlYXRlZF9hdCI6IjE1MTY3NDgxNjU5MzYifQ.fVJVREKZH3PM71-Y05Kkqqxq_O_z7BL5NL6S4ypNoSwLuqR9WOiXsF0GYcWZr6oO-jgYj8WrRePQLkg4GSoVthSbbXU6aqajPV2TsFNHpXRuJFBhql0e2eVCEE_pVI9O_uCa8RloGjJuFyyEAvroQFEIJzC7Q-OAnkXMT7xD-3r1cEV2xP_N3s86t34M5udO4fjas3RCJtAS1BEZOotlF_rB0kfvCZR9Krf-SVi_VedpsK7ipoJGfs7CLdN-_a4YGTC2CBJXwdK-4T0QJRkWedr8ooS0tzzfVcQ4WEZfw1edi-OYSuIbXf-Obl5R9NCzi5RMceiGTyGMyRrEcmy3WQ"` |
| --- |
  • Ejemplo de llamada a la API:

    • Target
    • Ejecutar llamada de Target con token de acceso
rtaimage_18_

En esta página