Ir para o conteúdo

Guia de Conexão Salesforce JWT OAuth

Nota

Este guia de conexão é o processo recomendado para autenticação de conta de serviço entre App Builder e Salesforce. Veja o Provedor de segurança - Salesforce / OpenID Connect artigo se você estiver procurando 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 Salesforce ativa e um ambiente sandbox para se conectar.

Limitações

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

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 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 detalhes como País, Nome Comum ou Endereço Email. Você não precisa preencher todas as informações, mas 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 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, vá para 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 App Builder integração 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 intitulado "Gerenciar detalhes do consumidor". Isso deve 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 para o aplicativo. Anote isso, pois precisaremos disso 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ê deverá ver uma seção "Perfis" perto do final. Clique no botão "Gerenciar Perfis".
  12. Adicione o perfil que você está conectando, 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 que App Builder está em execução, para permitir App Builder para acessá-lo.

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

    JWT_properties.png

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

Configuração em App Builder

Crie a Fonte de Dados Salesforce ADO.NET em App Builder

Agora que criamos o aplicativo no Salesforce e carregamos nosso certificado nele, podemos prosseguir para criar a fonte de dados do Salesforce em 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.

    Servidor JWT.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 - 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, encadeadas em uma linha, sem espaços, e separe 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