Skip to main content

Acessar dados com a integração de API

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:
  • Descrever como o OAuth 2.0 ativa a integração de API para aplicativos conectados.
  • Identificar os casos de uso da integração de API para aplicativos conectados.

Fluxo de autorização do OAuth 2.0 para aplicativos conectados

Nota

Se você for novo no OAuth 2.0, recomendamos conhecer melhor a terminologia comum do protocolo. Leia mais sobre isso no artigo da Ajuda do Salesforce, Terminologia de aplicativos conectados e OAuth.

Você pode usar um aplicativo conectado para solicitar acesso a dados do Salesforce em nome do aplicativo externo. Para um aplicativo conectado solicitar acesso, ele precisa estar integrado com a API do Salesforce usando o protocolo OAuth 2.0. OAuth 2.0 é um protocolo aberto que permite autorização e proteção de compartilhamento de dados entre aplicativos por meio de troca de tokens. Quando os desenvolvedores desejam integrar seu aplicativo com o Salesforce, eles usam APIs OAuth. Essas APIs OAuth permitem que o usuário trabalhe em um aplicativo mas veja os dados em outro.

Quando você abre o aplicativo móvel Salesforce para acessar seus dados do Salesforce, você está iniciando um fluxo de autorização do OAuth 2.0. Neste fluxo, sua organização do Salesforce é o servidor de recursos e o aplicativo móvel Salesforce é o cliente que solicita acesso. Você autoriza o aplicativo móvel Salesforce a acessar e gerenciar seus dados do Salesforce pela Web em qualquer momento.

Capturas de tela do aplicativo móvel Salesforce solicitando permissão para acessar dados.

O fluxo de eventos durante a autorização do OAuth depende do status da autenticação no dispositivo.

Fluxo de autorização na primeira vez

  1. Você abre o aplicativo móvel Salesforce.
  2. Um prompt de autenticação é exibido.
  3. Você digita o nome do usuário e a senha.
  4. O aplicativo móvel Salesforce envia suas credenciais ao Salesforce e inicia o fluxo de autorização de OAuth.
  5. Você aprova a solicitação para conceder acesso ao aplicativo móvel Salesforce, conforme mostrado na imagem acima.
  6. O Salesforce envia os tokens de acesso e atualização do aplicativo móvel como confirmação da autorização bem-sucedida.
  7. O aplicativo móvel Salesforce inicia.

Autorização em andamento

  1. Você abre o aplicativo móvel Salesforce.
  2. Se a sessão estiver ativa, o aplicativo móvel Salesforce será iniciado imediatamente. Se a sessão estiver obsoleta, o aplicativo móvel Salesforce usará o token de atualização da autorização inicial para obter uma sessão atualizada.
  3. O aplicativo móvel Salesforce inicia.

Integração de aplicativos da Web (Fluxo do servidor da Web OAuth 2.0)

Para integrar um aplicativo da Web externo à API do Salesforce, use o fluxo do servidor da Web OAuth 2.0. Com este fluxo, o servidor que hospeda o aplicativo da web deve poder proteger a identidade do aplicativo conectado, definida pelo ID do cliente e segredo do cliente.

Por exemplo, você desenvolveu recentemente um site que permite acesso seguro ao status dos pedidos de clientes. Os dados de status de pedido são armazenados com segurança em sua plataforma Salesforce CRM. Para autorizar usuários de suporte técnico a visualizar o status do pedido de um cliente, você desenvolve um aplicativo de Status do pedido e configura-o como um aplicativo conectado com o fluxo do servidor da Web.

Imagem mostrando o fluxo de autenticação do servidor da Web para o aplicativo da web de Status do pedido.
  1. Um usuário do suporte técnico clica no aplicativo da web de Status do pedido.
  2. O aplicativo conectado direciona o usuário ao Salesforce para autenticar e autorizar o aplicativo a acessar os dados do status do pedido.
  3. O usuário autoriza o aplicativo de Status do pedido a acessar os dados.
  4. O Salesforce envia uma chamada ao aplicativo de Status do pedido com um código de autorização.
  5. O aplicativo de Status do pedido passa o código de autorização ao ponto de extremidade de token do Salesforce, solicitando um token de acesso.
  6. O Salesforce valida o código de autorização e envia de volta um token de acesso que inclui permissões associadas na forma de escopos.
  7. O aplicativo de Status do pedido envia uma solicitação de volta ao Salesforce para acessar os dados do status do pedido. Esta solicitação inclui o token de acesso com os escopos associados.
  8. O Salesforce valida o token de acesso e os escopos associados.
  9. O aplicativo de Status do pedido pode acessar os dados protegidos e o status do pedido é exibido no aplicativo.

Integração de aplicativos móveis (Fluxo de agente do usuário de OAuth 2.0)

Um aplicativo conectado é o principal meio de conexão de um aplicativo móvel ao Salesforce. Embora não seja obrigatório, você pode usar o Salesforce Mobile SDK para criar aplicativos móveis como aplicativos conectados. Esses aplicativos podem acessar serviços do OAuth do Salesforce e chamar APIs REST do Salesforce.

Digamos que você use o Salesforce Mobile SDK para criar um aplicativo móvel que busque informações de contato de clientes em sua organização do Salesforce. O Mobile SDK implementa o fluxo de agente do usuário de OAuth 2.0 para seu aplicativo conectado, integrando o aplicativo móvel com sua API do Salesforce e fornecendo acesso autorizado aos dados definidos.

  1. O usuário final abre o aplicativo móvel.
  2. O aplicativo conectado direciona o usuário ao Salesforce para autenticação e autorização do aplicativo móvel.
  3. O usuário aprova o acesso para esse fluxo de autorização.
  4. O aplicativo recebe o retorno de chamada do Salesforce para a URL de redirecionamento, que extrai os tokens de acesso e atualização.
  5. O aplicativo conectado usa o token de acesso para acessar dados em nome do usuário final.

Para saber mais sobre o Salesforce Mobile SDK, confira o Módulo do Trailhead: Noções básicas sobre o Salesforce Mobile SDK.

Integração entre servidores (Fluxo do portador JWT do OAuth 2.0)

Em alguns casos, você precisa autorizar servidores sem fazer login interativamente todas as vezes que os servidores precisam trocar informações.

Para fornecer autorização para integração entre servidores, você pode usar o fluxo do portador de token da web JSON (JWT) de OAuth 2.0. Esse fluxo exige aprovação prévia do aplicativo cliente.

  1. O serviço de relatório começa seu relatório de lotes noturno.
  2. O aplicativo conectado envia o JWT, que permite compartilhar informações de identidade e segurança em domínios de segurança para o ponto de extremidade de token do Salesforce.
  3. O Salesforce valida o JWT com base em uma assinatura, usando o certificado configurado previamente e outros parâmetros.
  4. Considerando que o JWT é válido e que o aplicativo conectado tem aprovação prévia, o Salesforce emite um token de acesso. A aprovação prévia ocorre de uma das seguintes formas.
    • Se a sua política de aplicativo conectado estiver definida como “Usuários aprovados pelo administrador são pré-autorizados”, você pode usar perfis e conjuntos de permissões.
    • Se a sua política de aplicativo conectado estiver definida como “Todos os usuários podem se autoautorizar”, você pode usar a aprovação de usuário final e a emissão de um token de atualização. No entanto, o cliente não precisa de um token de atualização atual nem armazenado. O cliente também não precisa passar um segredo do cliente para o ponto de extremidade de token.
  5. O aplicativo conectado usa o token de acesso para acessar dados protegidos no servidor do Salesforce.
  6. O serviço do relatório transmite os dados autorizados para o seu relatório noturno.

Integração IoT (Fluxo de dispositivo OAuth 2.0)

Para integrar dispositivos com funcionalidades de entrada ou exibição limitadas, como Smart TVs, é possível configurar aplicativos conectados com fluxo de dispositivo OAuth 2.0.

Com o fluxo de dispositivo, os usuários finais podem autorizar aplicativos conectados a acessar dados do Salesforce usando um navegador baseado na Web.

Por exemplo, um cliente usa seu dispositivo bluetooth para controlar as luzes de casa enquanto está fora durante a noite. Você pode criar um aplicativo conectado para o dispositivo bluetooth para ativar este fluxo.

Imagem mostrando o fluxo de autenticação do dispositivo para o aplicativo bluetooth.
  1. O usuário abre o aplicativo bluetooth em seu dispositivo móvel e clica em “Ligar as luzes”.
  2. O aplicativo conectado publica uma solicitação para o ponto de extremidade de autorização do Salesforce.
  3. O Salesforce verifica a solicitação e retorna um código de usuário legível por humanos, URL de verificação e código do dispositivo.
  4. O aplicativo bluetooth exibe o código do dispositivo e instrui o usuário para inseri-lo no URL de verificação especificado. O aplicativo também começa a pedir autorização ao ponto de extremidade de token do Salesforce.
  5. O usuário clica no link do URL de verificação e insere o código.
  6. O usuário autoriza o aplicativo a acessar seus dados protegidos, neste caso a localização da sua casa.
  7. O Salesforce envia um token de acesso e atualização ao aplicativo conectado.
  8. O aplicativo bluetooth consegue acessar a casa do usuário e ligar as luzes.

Também é possível usar o fluxo do token de ativo para integração IoT. Esse fluxo usa um JWT que une o usuário e o dispositivo e autoriza o dispositivo. Leia mais sobre este fluxo no ajuda do Salesforce: Fluxo do token de ativo OAuth 2.0 para proteger dispositivos conectados.

Outros fluxos de integração de API do OAuth

Além dos exemplos acima, você também pode usar os seguintes fluxos de OAuth 2.0 com aplicativos conectados.

Fluxo de token de atualização

Como parte dos fluxos do servidor da web e de agente do usuário, um aplicativo conectado pode usar um token de atualização para solicitar um novo token de acesso após o token de acesso atual expirar. Este fluxo é particularmente útil quando você não quer a intervenção do usuário depois que um aplicativo é autorizado.

Fluxo de credenciais do cliente 

Quando você quer compartilhar informações diretamente entre dois aplicativos, sem precisar de interação com o usuário, você pode usar o fluxo de credenciais do cliente de OAuth 2.0. Neste fluxo, o aplicativo cliente troca suas credenciais de cliente definidas no aplicativo conectado, sua chave e segredo de cliente, por um token de acesso. Este fluxo elimina a necessidade de uma interação com o usuário explícita, embora exija que você especifique um usuário de integração para executar a integração. Você pode usar este fluxo como uma alternativa mais segura ao fluxo entre nome de usuário e senha de OAuth 2.0.

Fluxo do portador de declarações SAML

Um aplicativo conectado pode usar uma declaração SAML para solicitar um token de acesso para chamar APIs do Salesforce.

Fluxo de declarações SAML

Este fluxo fornece uma alternativa para organizações que estão usando atualmente o SAML para acessar o Salesforce e querem acessar a API de serviços da Web da mesma maneira.

Seguindo em frente

Agora que você já aprendeu mais sobre quando usar os aplicativos conectados para acessar dados em sua organização do Salesforce, vamos prosseguir para saber como usar aplicativos conectados para login único.

Recursos

Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback