Ir para o conteúdo

Guia de conexão Salesforce JWT OAuth 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 Provedor de segurança - Salesforce / OpenID Connect artigo se você deseja configurar a autenticação de conta em nível de usuário.

Pré-requisitos

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

Limitações

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

Criando um certificado

O Salesforce aceita apenas JWTs assinados por RSA SHA256, então você precisa de um certificado x509 e sua chave privada associada.

  1. Baixe e instale o OpenSSL

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

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

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

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

      req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myKey.key -out myCertificate.crt
      
    • Você será solicitado a preencher informações como País, Nome Comum ou Endereço de Email. Não é necessário 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ê deverá encontrar dois arquivos criados

    Exemplo dos arquivos gerados

Nota

Certifique-se de anotar ou copiar os arquivos do Certificado e da Chave para um local de fácil acesso.

Configuração no Salesforce

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

Crie um aplicativo OAuth personalizado

  1. Faça login no Salesforce .com ou no seu ambiente sandbox do Salesforce
  2. Na página inicial, acesse Ferramentas da plataforma > Aplicativos > Gerenciador de aplicativos
  3. Clique no botão Novo aplicativo conectado e digite 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 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 do OAuth - Marque esta caixa de seleção e as seguintes configurações aparecerão
    • URL de retorno de chamada - sfdc://oauth/jwt/success
    • Usar assinaturas digitais - Marque esta caixa de seleção e carregue o arquivo myCertificate.crt que criamos anteriormente
    • Escopos OAuth selecionados - Escolha "Gerenciar dados do usuário por meio de APIs (api)", "Acesso total (full)" e "Executar solicitações a qualquer momento (refresh_token, offline_access)"
  4. Clique em Salvar e depois em Continuar
  5. Agora que o aplicativo conectado foi criado, precisamos copiar o ID do cliente e o Segredo do cliente para este aplicativo
  6. Na página principal do aplicativo conectado, clique no botão "Gerenciar detalhes do consumidor". Isso abrirá uma nova página após concluir um prompt de segurança, que contém o ID do cliente e o Segredo do cliente do aplicativo. Anote isso, pois precisaremos deles 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 e, na próxima página, clique no botão "Editar políticas"
  9. Na seção Políticas de OAuth, altere o menu suspenso Usuários Permitidos de "Todos os usuários podem se autoautorizar" para "Usuários aprovados pelo administrador são pré-autorizados".
  10. Clique em Salvar
  11. Assim que a página for atualizada, você verá a seção "Perfis" perto da parte inferior. Clique no botão "Gerenciar Perfis".
  12. Adicione o perfil que você está conectando como, neste exemplo estamos usando o perfil Administrador do Sistema
  13. Clique em Salvar
  14. Isso conclui a seção de configuração do Salesforce

Configuração no servidor de aplicativos

Agora que criamos o aplicativo no Salesforce e carregamos nosso certificado nele, precisamos colocar o arquivo de chave no servidor de aplicativos em que o App Builder está sendo executado, para permitir que o App Builder o acesse.

  1. No servidor do aplicativo ou do App Builder, crie ou use uma pasta existente para armazenar 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 do mouse na pasta onde esses arquivos estão localizados e clique em Propriedades e, em seguida, na aba Segurança. Certifique-se de que essa pasta tenha controle total sobre o pool de aplicativos em que o App Builder está implantado.

    JWT_properties.png

  3. Isso conclui a configuração no servidor de aplicativos.

Configuração no App Builder

Crie a fonte de dados do Salesforce ADO.NET no App Builder

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

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

    JWT_server.png

  6. Após salvar a fonte de dados, clique no ícone de pasta 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 - O local 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 o 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 separe cada configuração com ponto e vírgula. (;). Aqui está um exemplo:

    advancedsettings.png

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

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