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.
-
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/
-
-
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.
-
-
Após executar o comando acima, você deve encontrar dois arquivos criados
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
- Faça login no Salesforce .com ou no seu ambiente sandbox do Salesforce
- Na página inicial, vá para Ferramentas da plataforma > Aplicativos > Gerenciador de aplicativos
- 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)
- Clique em Salvar e depois em Continuar
- Agora que o aplicativo conectado foi criado, precisamos copiar o ID do cliente e o Segredo do cliente para este aplicativo
- 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.
- Em seguida, precisamos ajustar as configurações do aplicativo conectado para pré-aprovar nosso usuário
- 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"
- 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"
- Clique em Salvar
- Assim que a página for atualizada, você deverá ver uma seção "Perfis" perto do final. Clique no botão "Gerenciar Perfis".
- Adicione o perfil que você está conectando, neste exemplo estamos usando o perfil Administrador do Sistema
- Clique em Salvar
- 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.
-
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.
-
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.
-
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.
- Vá para o App Builder IDE e clique em Servidores de Dados
- Clique no botão + Servidor para adicionar uma nova fonte de dados
- Atribuir um Nome de Servidor
- Defina o Tipo como Salesforce ADO.NET
-
Clique em Salvar. Certifique-se de marcar a caixa de seleção Sandbox se estiver se conectando a uma instância de sandbox.
-
Após salvar a fonte de dados, clique no ícone de pasta Configurações avançadas
-
Em seguida, clique em Editar e expanda a seção Avançado
-
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: -
Agora que tudo está configurado, role para baixo e teste a conexão. Se tudo foi configurado corretamente, você receberá uma mensagem de Sucesso.
- Agora você pode importar tabelas e acessar dados do Salesforce