Ir para o conteúdo

Guia de conexão JWT OAuth do Salesforce para Jitterbit App Builder

Nota

Este guia de conexão é o processo recomendado para autenticação de Conta de Serviço entre o App Builder e o Salesforce. Consulte o artigo Provedor de segurança - Salesforce / OpenID Connect se você estiver procurando configurar a autenticação de Conta em nível de usuário.

Pré-requisitos

  • Você deve ter uma conta do Salesforce com pelo menos 1 licença de usuário ativo do Salesforce e um ambiente sandbox para se conectar.

Limitações

  • Você pode ter apenas uma conexão JWT do Salesforce por instância do App Builder.

Criando um certificado

O Salesforce aceita apenas JWTs assinados com RSA SHA256, portanto, você precisa de um Certificado x509 e sua chave privada associada.

  1. Baixe e instale o OpenSSL

    • O OpenSSL é uma ferramenta completa para criptografia e comunicação segura. Você pode baixá-lo gratuitamente: https://www.openssl.org/

    • Você também pode instalar o Git, pois ele tem o OpenSSL instalado por baixo: https://git-scm.com/

  2. Após a instalação do OpenSSL, prossiga para criar um Certificado e Chave X509

    • Abra um terminal ou linha de comando, execute o OpenSSL e, em seguida, execute o seguinte comando para criar um arquivo de certificado e chave:

      req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myKey.key -out myCertificate.crt
      
    • Você será solicitado a preencher detalhes como País, Nome Comum ou Endereço de Email. Você não precisa preencher todas as informações, mas o Nome Comum é obrigatório.

    Exemplo de prompt de comando do administrador

  3. Após executar o comando acima, você deve encontrar dois arquivos criados

    Exemplo dos arquivos gerados

Nota

Certifique-se de anotar ou copiar os arquivos de Certificado e Chave para um local que seja facilmente acessível

Configuração no Salesforce

Agora que temos nosso Certificado, precisamos criar um aplicativo conectado no Salesforce.

Criar um aplicativo OAuth personalizado

  1. Faça login no Salesforce.com ou no seu ambiente sandbox do Salesforce
  2. Na página inicial, vá para Ferramentas de Plataforma > Aplicativos > Gerenciador de Aplicativos
  3. Clique no botão Novo Aplicativo Conectado e insira o seguinte:
    • Nome do Aplicativo Conectado - O nome deve conter o nome do sistema e da integração, como Integração do App Builder para identificá-lo facilmente, mas isso pode ser o que você desejar
    • Nome da API - Deixe o Salesforce preencher isso com base no nome do Aplicativo Conectado
    • Email de Contato - Qualquer email que você desejar
    • Habilitar Configurações de OAuth - Marque esta caixa de seleção, e então as seguintes configurações aparecerão
    • URL de Retorno - sfdc://oauth/jwt/success
    • Usar assinaturas digitais - Marque esta caixa de seleção, e então faça o upload do arquivo myCertificate.crt que criamos anteriormente
    • Escopos de OAuth Selecionados - Escolha "Gerenciar dados do usuário via APIs (api)", "Acesso total (full)" e "Realizar solicitações a qualquer momento (refresh_token, offline_access)"
  4. Clique em Salvar e depois clique em Continuar
  5. Agora que o aplicativo conectado foi criado, precisamos anotar o ID do Cliente e o Segredo do Cliente para este aplicativo
  6. Na página principal do aplicativo conectado, clique no botão intitulado "Gerenciar detalhes do Consumidor". Isso deve abrir uma nova página após completar um prompt de segurança, que contém o ID do Cliente e o Segredo do Cliente para o aplicativo. Anote isso, pois precisaremos mais tarde.
  7. Em seguida, precisamos ajustar as configurações do aplicativo conectado para pré-aprovar nosso usuário
  8. Na página do aplicativo conectado, clique no botão "Gerenciar" na parte superior da tela, depois na próxima página, clique no botão "Editar Políticas"
  9. Na seção Políticas de OAuth, mude o menu suspenso Usuários Permitidos de "Todos os usuários podem se autorizar" para "Usuários aprovados pelo administrador são pré-autorizados"
  10. Clique em Salvar
  11. Assim que a página for atualizada, você deve ver uma seção "Perfis" perto da parte inferior. Clique no botão "Gerenciar Perfis".
  12. Adicione o perfil com o qual você está se conectando, neste exemplo estamos usando o perfil Administrador do Sistema
  13. Clique em Salvar
  14. Isso completa a seção de configuração do Salesforce

Configuração no servidor do aplicativo

Agora que criamos o aplicativo no Salesforce e enviamos nosso Certificado para ele, precisamos colocar o arquivo de Chave no servidor do aplicativo onde o App Builder está sendo executado, para permitir que o App Builder acesse-o.

  1. No servidor da aplicação ou do App Builder, crie ou use uma pasta existente para colocar o certificado e o arquivo de chave que geramos anteriormente. Este exemplo mostra uma pasta criada chamada JWT.

    JWT_folder.png

  2. Clique com o botão direito na pasta onde esses arquivos estão localizados e clique em Propriedades, depois na aba Segurança. Certifique-se de que esta pasta tenha controle total para o pool de aplicativos em que o App Builder está implantado.

    JWT_properties.png

  3. Isso completa a configuração no servidor da aplicação.

Configuração no App Builder

Criar a fonte de dados Salesforce ADO.NET no App Builder

Agora que criamos o aplicativo no Salesforce e enviamos nosso certificado para ele, podemos prosseguir para criar a fonte de dados Salesforce no App Builder.

  1. Vá para o IDE do App Builder e clique em Servidores de Dados
  2. Clique no botão + Servidor para adicionar uma nova fonte de dados
  3. Atribua um Nome do Servidor
  4. Defina o Tipo como Salesforce ADO.NET
  5. Clique em Salvar. Certifique-se de marcar a caixa de seleção Sandbox se você estiver se conectando a uma instância sandbox.

    JWT_server.png

  6. Após a fonte de dados ser salva, clique no ícone de pasta de Configurações Avançadas

  7. Em seguida, clique em Editar e expanda a seção Avançado

    serveradvanced.png

  8. Configure as seguintes configurações:

    • AuthScheme - OAuthJWT
    • OAuthJWTCertType - PEMKEY_FILE
    • OAuthJWTCert - Localização do arquivo de chave que criamos anteriormente, deve estar em uma pasta em algum lugar. Por exemplo: C:\JWT\myKey.key
    • OAuthJWTIssuer - Este é o valor do ID do Cliente que obtivemos do Salesforce anteriormente.
    • OAuthJWTSubject - Este deve ser seu email do Salesforce, ou o email do usuário do Salesforce que estamos autenticando.

    Nota

    Insira cada configuração no campo Avançado em uma única linha, sem espaços, e separando cada configuração com um ponto e vírgula (;). Aqui está um exemplo:

    advancedsettings.png

  9. Agora que tudo está configurado, role para baixo e teste a conexão. Se tudo foi configurado corretamente, você receberá uma mensagem de Sucesso.

  10. Agora você pode importar tabelas e acessar dados do Salesforce.