Este documento explica cómo crear los certificados, claves y tokens para poder ejecutarlos.

Target

Proporcionar pasos claros y reproducibles para generar un token de portador de Adobe IO para ejecutar llamadas de API para soluciones DMA como Target.

Pasos

Pasos para crear un token al portador para ejecutar llamadas a la API de Adobe IO

  1. Generar clave privada y certificado público
  2. Crear integración dentro de la consola de Adobe IO
  3. Generar token JWT
  4. Intercambiar la token JWT por un token Access Bearer
  5. Token al portador de acceso de usuario para ejecutar llamadas de API
  1. Generar clave privada y 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. Aquí están los pasos para descargar e instalar Cygwin:

    1. Busque en https://cygwin.com/install.html
    2. Descargar y ejecutar setup-x86_64.exe

    Nota:  El directorio de tu casa 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”.

    Aquí está 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 tiene que llenar para generar el certificado, vea la captura de pantalla a continuación:

    rtaImage

    Una vez creados los archivos, convierta el archivo secret.key en secret.pem utilizando el siguiente comando:

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

    Aquí están los archivos que se crean en su sistema de archivos (puede mover estos archivos a otra ubicación en su equipo en este momento para la organización):

    rtaimage_1_

    Nota:

    Los archivos se generan en el directorio raíz: C:\cygwin64\home\WINDOWSUSER

  2. Cree la integración dentro de la consola de Adobe IO:

    rtaimage_2_
    • Seleccione la opción “Acceder a una API” y, a continuación, haga clic en “Continuar.”
    rtaimage_3_
    • Seleccione Solución de Adobe (actualmente solo disponible para Target).

    Nota: El usuario debe ser usuario de Experience Cloud Y tener acceso a esa solución.

    rtaimage_4_
    • Seleccione “Nueva integración” y haga clic en “Continuar.”
    rtaimage_5_
    • Completar 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”: ver captura de pantalla: fileuploaded_createint.
    rtaimage_8_
    • Cuando termine el proceso, haga clic en “Continuar con los detalles de la integración.”
    rtaimage_9_

    Correcto! Se ha creado una integración.

    rtaimage_10_
  3. Generar token a la Web de JSON (JWT):

    En la interfaz 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 comando CURL de ejemplo.
    • Haga clic en el icono “Copiar” debajo de “Generar JWT.”
    rtaimage_12_
  4. Intercambiar JWT por un testigo de token al portador:

    Nota: Si lo ejecuta en un terminal Mac, la respuesta parece truncarse. En su lugar, use el Postman.

    • Descargue e instale gratuitamente la herramienta de API denominada “Postman” (disponible en Mac, Windows o Linux): https://www.getpostman.com/
    • Importe esta llamada API en Postman copiando el código que aparece abajo en un archivo de texto de su equipo con una 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":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}]}

    Ejemplo de nombre de archivo: exchangeJwt.json

    rtaimage_13_
    • Importar archivo al Postman yendo a 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 “Cambio de JWT por token de portador.”
    rtaimage_15_
    • Haga clic en la llamada de API “Cambio de JWT por token al portador”.
    • En la sección principal de la interfaz de usuario, esto es lo que ves:
    rtaimage_16_

    Nota: como se ha resaltado en rojo arriba, estoy en la pestaña “Cuerpo”. Si se encuentra en otra ficha, no verá las tres informaciones necesarias.

    Información necesaria:
    client_id:obtener de la página de descripción de la integración
    client_secret:generar en la página de descripción de la integración
    jwt_token:pegar en el token JWT generado que ha copiado en el paso anterior Haga

    clic en “Enviar”.
    Se recupera el token al portador, que se utiliza para realizar llamadas a la API.

    rtaimage_17_

    El access_token es lo que se utiliza como parte de las llamadas de API que desea ejecutar.

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

    • Target
    • Ejecutar llamada de destino con testigo de token
    rtaimage_18_

Información adicional

Documentación de referencia:

Descargar

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea