Este documento explica como criar os certificados, as chaves e os tokens para poder ser executado.

Objetivo

Fornecer etapas claras e reproduzíveis para gerar um token do portador do Adobe IO para executar chamadas de API para soluções de DMA, como o Target.

Etapas

Etapas para criar um token de portador para executar chamadas de API do Adobe IO:

  1. Gerar chave privada e certificado público
  2. Criar integração no console do Adobe IO
  3. Gerar token JWT
  4. Token do Exchange JWT para um token de portador de acesso
  5. Token de portador de acesso do usuário para executar chamadas de API
  1. Gere a chave privada e o certificado público de acordo com a documentação a seguir: https://www.adobe.io/apis/cloudplatform/console/authentication/createcert.html

    Em um Mac, os seguintes comandos são construídos no terminal. 
    Em um computador, você precisa baixar o Cygwin (ou outra ferramenta de preferência pessoal) e executá-lo a partir da linha de comando. Aqui estão os passos para baixar e instalar o Cygwin:

    1. Navegue até https://cygwin.com/install.html
    2. Baixe e execute setup-x86_64.exe

    Observação: seu diretório inicial é: C:\cygwin64\home\WINDOWSUSER
    Você pode procurar e instalar pacotes adicionais durante a fase de instalação. Recomendo instalar tudo relacionado a "curl" e "ssh".

    Aqui está o comando para executar:

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

    Observação: várias perguntas são feitas e você precisa preencher para gerar o certificado, veja a captura de tela abaixo:

    rtaImage

    Depois que os arquivos forem criados, você converterá o secret.key em secret.pem usando o seguinte comando:

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

    Aqui estão os arquivos que são criados em seu sistema de arquivos (você pode mover esses arquivos para outro local em sua máquina neste momento por organização):

    rtaimage_1_

    Observação:

    Os arquivos são gerados no seu diretório pessoal: C:\cygwin64\home\WINDOWSUSER

  2. Crie integração no console do Adobe IO:

    rtaimage_2_
    • Selecione a opção "Acessar uma API" e clique em "continuar".
    rtaimage_3_
    • Selecione Adobe Solution (atualmente disponível apenas para Target).

    Observação: o usuário deve ser um usuário do Experience Cloud E ter acesso a essa solução.

    rtaimage_4_
    • Selecione "Nova integração" e clique em "Continuar".
    rtaimage_5_
    • Preencha o formulário de integração.
    rtaimage_6_
    • Arraste "certificate.pem" do sistema de arquivos para o formulário para fazer o upload.
    rtaimage_7_
    • Uma vez que o arquivo é carregado, clique no botão "Criar integração" - veja a captura de tela: fileuploaded_createint.
    rtaimage_8_
    • Quando o processamento estiver concluído, clique em "continuar com detalhes de integração".
    rtaimage_9_

    Sucesso! Você acaba de criar uma integração.

    rtaimage_10_
  3. Gerar JSON Web Token (JWT):

    Na interface de integração, clique na guia JWT, cole na chave privada, clique no botão Gerar JWT - veja a captura de tela: gerar JWT - entrada.

    rtaimage_11_
    • Uma vez gerado, você verá o JWT e um comando CURL de amostra.
    • Clique no ícone "copiar" abaixo de "JWT Gerado".
    rtaimage_12_
  4. Alterar JWT para Token de Acesso ao Portador:

    Observação: se você executar isso em um terminal Mac, a resposta parece ficar truncada. Em vez disso, use o Postman.

    • Baixe e instale a ferramenta de API gratuita chamada "Postman" (disponível no Mac, Windows ou Linux): https://www.getpostman.com/
    • Importe esta chamada de api para o Postman copiando o código abaixo em um arquivo de texto no seu computador com uma extensão .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}]}

    Nome do arquivo de exemplo: exchangeJwt.json

    rtaimage_13_
    • Importe o arquivo para o Postman indo até arquivo> Importar: você pode arrastar e soltar o arquivo .json aqui ou procurar o arquivo.
    rtaimage_14_
    • Isso cria uma "coleção" no Postman no lado esquerdo, com uma chamada de API nela chamada "Alterar JWT para token portador".
    rtaimage_15_
    • Clique na chamada da API "Alterar JWT para token portador".
    • Na seção principal da interface do usuário, é isso que você vê:
    rtaimage_16_

    Observação: conforme destacado em vermelho acima, estou na guia "Body". Se você estiver em outra guia, não verá as três informações necessárias.

    Informações necessárias:
    ID do Cliente: obter da página Visão geral da integração
    client_secret: gerar na página Visão geral da integração
    jwt_token: colar no token JWT gerado que você copiou na etapa anterior

    Clique em "Enviar".
    O token portador é recuperado, que é usado para fazer chamadas de API.

    rtaimage_17_

    O access_token é o que é usado como parte das chamadas da API que você pretende executar.

    "access_token": "eyJ4NXUiOiJpbXNfbmExLWtleS0xLmNlciIsImFsZyI6IlJTMjU2In0.eyJpZCI6IjE1MTY3NDgxNjU5MzZfMjdiNTkwYmUtYjVlYy00ZjhiLTkzNWEtZTAyMjZmYTZiYTk1X3VlMSIsImNsaWVudF9pZCI6IjQyOTkxMzRlNzRkNTRkNTZhY2YyYTc4YjcyYTdlNDFlIiwidXNlcl9pZCI6IjkwNTEyQTlDNUE2N0I3ODEwQTQ5NUM5NEB0ZWNoYWNjdC5hZG9iZS5jb20iLCJ0eXBlIjoiYWNjZXNzX3Rva2VuIiwiYXMiOiJpbXMtbmExIiwiZmciOiJTRDRZQUNZSEhQSDdPRkFBQUFBQUFBQUFFST09PT09PSIsIm1vaSI6IjM3NTliZjQxIiwiYyI6IndTVTd3b1hIZkZSQk5xQmo3M2Z4anc9PSIsImV4cGlyZXNfaW4iOiI4NjQwMDAwMCIsInNjb3BlIjoib3BlbmlkLEFkb2JlSUQsdGFyZ2V0X3NkayxyZWFkX29yZ2FuaXphdGlvbnMsYWRkaXRpb25hbF9pbmZvLnByb2plY3RlZFByb2R1Y3RDb250ZXh0IiwiY3JlYXRlZF9hdCI6IjE1MTY3NDgxNjU5MzYifQ.fVJVREKZH3PM71-Y05Kkqqxq_O_z7BL5NL6S4ypNoSwLuqR9WOiXsF0GYcWZr6oO-jgYj8WrRePQLkg4GSoVthSbbXU6aqajPV2TsFNHpXRuJFBhql0e2eVCEE_pVI9O_uCa8RloGjJuFyyEAvroQFEIJzC7Q-OAnkXMT7xD-3r1cEV2xP_N3s86t34M5udO4fjas3RCJtAS1BEZOotlF_rB0kfvCZR9Krf-SVi_VedpsK7ipoJGfs7CLdN-_a4YGTC2CBJXwdK-4T0QJRkWedr8ooS0tzzfVcQ4WEZfw1edi-OYSuIbXf-Obl5R9NCzi5RMceiGTyGMyRrEcmy3WQ"
  5. Exemplo de chamada da API:

    • Target
    • Executar chamada de Target com token de acesso
    rtaimage_18_

Informações adicionais

Documentação de referência:

Download

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online