Criar um aplicativo conectado
Objetivos de aprendizagem
Neste projeto, você vai:
- Criar um aplicativo conectado para integração com a API.
- Implementar o fluxo do servidor da Web OAuth 2.0.
- Gerenciar o acesso ao aplicativo conectado na sua organização.
O que esperar
Neste projeto, você criará um aplicativo conectado para integração com a API usando o fluxo do servidor da Web OAuth 2.0. Você também pode conhecer esse fluxo como tipo de concessão de código de autorização. Depois de criar seu aplicativo conectado, mostraremos como implementar o fluxo de autorização. Você definirá quais usuários podem acessar o aplicativo conectado e onde eles podem acessá-lo usando políticas do OAuth.
Mas e se eu não for desenvolvedor(a)?
No módulo Noções básicas de aplicativos conectados, falamos sobre as diferentes responsabilidades de desenvolvedores e administradores de aplicativos conectados. Relembrando que um desenvolvedor de aplicativo conectado é um desenvolvedor do Salesforce ou de software independente (ISV) que cria integrações com API ou aplicativos externos que podem acessar dados do Salesforce como aplicativo conectado. Os desenvolvedores de aplicativos conectados definem as características de um aplicativo conectado, por exemplo, definição do tipo de dados que ele pode acessar. No mundo real, eles normalmente fariam as etapas 1 e 2 abordadas neste projeto do Trailhead.
Já um administrador de aplicativo conectado configura permissões e políticas para os aplicativos. Os administradores definem explicitamente quem pode usar um aplicativo conectado e de onde ele pode ser acessado. Administradores também instalam, desinstalam e, quando necessário, bloqueiam aplicativos conectados na sua organização do Salesforce. No mundo real, eles normalmente fariam a terceira etapa abordada neste projeto do Trailhead.
Seja qual for sua função no aplicativo conectado, desenvolvedor ou administrador, achamos que você pode se beneficiar da conclusão de todas as três etapas deste projeto. Ao configurar um aplicativo conectado do início ao fim, você terá uma ideia melhor de como sua organização pode se beneficiar com ele.
Não vamos nos esquecer dos proprietários e dos consumidores
Além de definir se você é do desenvolvimento ou da administração, também precisará saber se sua organização é proprietária ou consumidora do aplicativo conectado.
Se proprietária do aplicativo conectado, sua organização criou o aplicativo. Você pode editar as características do aplicativo e gerenciar suas políticas de acesso. Por exemplo, você decide o tipo de informação (por exemplo, segredo do cliente) que o aplicativo conectado precisa fornecer para ter acesso aos dados na sua organização.
Se consumidora do aplicativo conectado, sua organização instalou o aplicativo pelo AppExchange, como pacote gerenciado de outra organização ou site de fornecedores de terceiros ou como metadados sem pacote. Você só pode editar as políticas de acesso do aplicativo, por exemplo, quem pode usá-lo e se ele pode acessar dados remotamente.
Então como você pode saber facilmente se sua organização é proprietária de um aplicativo conectado? A melhor forma é localizá-lo no App Manager (Gerenciador de aplicativos), clicar na seta suspensa ao lado dele e ver as opções oferecidas.
Neste exemplo, sua organização é proprietária do aplicativo conectado My OAuth porque você pode tanto editar as características do aplicativo conectado quanto gerenciar suas políticas de acesso.
Mas sua organização é consumidora do aplicativo conectado Trailhead. Você só pode gerenciar as políticas de acesso do aplicativo porque sua organização instalou esse aplicativo conectado como pacote gerenciado do Trailhead.
Agora que analisamos as funções que você e sua organização têm em um aplicativo conectado, vamos começar a criar. Nesta etapa, você é o desenvolvedor e o proprietário do aplicativo conectado.
Iniciar seu Trailhead Playground
Você concluirá este projeto prático em seu próprio ambiente pessoal do Salesforce. Obtenha seu Trailhead Playground agora fazendo login no Trailhead e clicando no botão Launch (Iniciar) no final desta página. Depois de concluir as etapas do projeto em seu Playground, clique em Verify Step (Verificar etapa) no final desta página.
Um aplicativo conectado para acessar com segurança os dados de status do pedido do cliente
Sua empresa desenvolveu recentemente um site que permite acesso seguro ao status dos pedidos de clientes. Os dados de status dos pedidos são armazenados com segurança na plataforma Salesforce CRM da sua empresa.
Seu gerente de atendimento ao cliente quer que seus usuários de suporte técnico possam acessar dados de status dos pedidos de clientes quando auxiliam clientes. Ele pede a você para criar um serviço que autorize os usuários de suporte técnico a acessar com segurança os dados de status dos pedidos.
Você sabe que os aplicativos conectados do Salesforce podem ser usados para integrar aplicativos externos na API do Salesforce. Assim, você decide criar um aplicativo conectado que autorize os usuários de suporte técnico a acessar com segurança os dados de status dos pedidos.
Começar do início
A primeira etapa para criar um aplicativo conectado é dar um nome, um logotipo de fácil identificação e uma descrição. Essas noções básicas de aplicativos conectados ajudam os usuários a encontrar rapidamente o aplicativo de que precisam.
- Em Setup (Configuração), insira App (Aplicativo) na caixa Quick Find (Busca rápida) e selecione App Manager (Gerenciador de aplicativos).
- Clique em New Connected App (Novo aplicativo conectado).
- Na área de informações básicas da página, especifique as seguintes informações para descrever o aplicativo conectado:
- Insira Customer Order Status (Status dos pedidos de clientes) como o nome do aplicativo conectado.
- Para o nome da API do aplicativo conectado, que é um identificador único usado na hora de fazer referência programática ao aplicativo, basta pressionar Tab. O nome da API usa como padrão o nome do aplicativo conectado e substitui espaços por sublinhados.
- No email de contato, insira help.desk@mycompany.com. Os usuários do Salesforce usam essas informações de contato quando precisam entrar em contato para falar sobre o aplicativo conectado. Não se preocupe: a Salesforce não compartilhará essas informações de contato.
- Para a URL da imagem do logotipo, selecione o logotipo Case Transcript (Transcrição de caso) das amostras do Salesforce clicando em Choose one of our sample logos (Escolha um dos nossos logotipos da amostra). Depois de selecionar o logotipo Case Transcript (Transcrição de caso), copie e cole as URLs tanto do logotipo quanto do ícone nos respectivos campos. Esse logotipo aparecerá no bloco do App Launcher (Iniciador de aplicativos) e na página de consentimento que os usuários veem quando autorizam o aplicativo.
- Como descrição do aplicativo conectado, digite Connected app to securely access customer order status (Aplicativo conectado para acessar com segurança o status de pedidos de clientes). Essa descrição aparecerá no bloco do App Launcher (Iniciador de aplicativos) e na página de consentimento que os usuários veem quando autorizam o aplicativo.
Ativar as configurações do OAuth para integração com API
A seguir, defina as configurações OAuth do aplicativo conectado. Essas configurações definem como o aplicativo conectado se integra na API do Salesforce.
- Na área API (Enable OAuth Settings) (API (Ativar as Configurações do Oauth)) da página, selecione Enable Oauth Settings (Habilitar as Configurações do OAuth).
- Digite a seguinte URL de retorno de chamada, que é o destino para o qual seu usuário é redirecionado depois que a autorização é bem-sucedida, para o aplicativo conectado: https://openidconnect.herokuapp.com/callback Essa URL é o destino para o qual o usuário do suporte técnico é levado quando o aplicativo Customer Order Status é aprovado com sucesso. Como há informações confidenciais transmitidas em um fluxo de autorização, é essencial usar um host seguro para a URL de retorno de chamada. A URL de retorno de chamada que estamos usando para seu aplicativo conectado fica hospedada em um servidor Heroku seguro usando OpenID Connect. Assim, seus dados ficam protegidos! Para saber mais sobre o OpenID Connect, veja OpenID Connect.
- Selecione os escopos do OAuth que serão aplicados ao aplicativo conectado. Os escopos do OAuth definem permissões para o aplicativo conectado, por exemplo, se ele pode interagir com os dados do usuário quando o usuário está offline. Como você quer que o aplicativo Customer Order Status acesse dados de status de pedidos de clientes armazenados na API REST do Salesforce pela Web, aplique os escopos compatíveis com o fluxo de servidores Web.
- Access unique user identifiers (openid) (Acessar identificadores de usuário exclusivos (openid)): esse escopo permite que o aplicativo acesse o identificador exclusivo do usuário atualmente conectado para aplicativos OpenID Connect. Você usa o escopo openid no fluxo do servidor Web para obter como retorno um token de ID assinado conforme as Especificações do OpenID Connect, além do token de acesso.
- Manage user data via APIs (api) (Gerenciar os dados do usuário por meio de APIs (api)): esse escopo permite o acesso à conta do usuário atualmente conectado usando APIs, como a REST API e a Bulk API. Esse valor também inclui acesso aos recursos API REST do Chatter.
- Manage user data via Web browsers (web) (Gerenciar os dados do usuário por meio de navegadores da Web (web)): esse escopo permite que o aplicativo use o token de acesso na web e permite o acesso a páginas do Visualforce criadas pelo cliente.
- Desmarque a seleção Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows (Exigir a extensão Proof Key for Code Exchange (PKCE) para fluxos de autorização com suporte).
- Selecione Require Secret for the Web Server Flow (Exigir segredo para o fluxo de servidor da Web) para exigir o segredo do cliente do aplicativo em troca de um token de acesso.
- Selecione Require Secret for Refresh Token Flow (Exigir segredo para atualizar o fluxo de tokens) a fim de exigir o segredo do cliente do aplicativo na solicitação de autorização de um fluxo de token de atualização e token de atualização híbrido. Se você não selecionar essa opção e um aplicativo enviar o segredo do cliente na solicitação de autorização, o Salesforce ainda o validará. Você pode selecionar essa opção em aplicativos baseados em servidor Web que podem proteger segredos de clientes. Mas no caso de aplicativos que não podem proteger segredos de clientes, por exemplo, aplicativos móveis ou aplicativos instalados no computador de um usuário, não recomendamos essa opção.
Salvar e verificar
Embora existam configurações adicionais que você pode definir, por exemplo, a definição de que informações são incluídas no token de ID, não é necessário defini-las para o aplicativo conectado Customer Order Status. Se quiser saber mais sobre configurações adicionais, dê um pulo em Criar um aplicativo conectado na Ajuda do Salesforce.
Agora falta só salvar seu novo aplicativo conectado, verificar as configurações e se ele aparece na página App Menu (Menu de aplicativo) para que os usuários de suporte técnico possam acessá-lo no App Launcher (Iniciador de aplicativos).
- Clique em Save (Salvar).
- Clique em Continue (Continuar). Você é levado para a página Manage Connected Apps (Gerenciar aplicativos conectados), onde pode ver as configurações do novo aplicativo conectado.
- Verifique se definiu as configurações corretas no aplicativo conectado. Deve ficar assim:
- Copie a URL de retorno de chamada e cole-a em um editor de texto. Você precisará dela na próxima etapa.
- Você também precisará da chave e do segredo de consumidor. Para acessá-los, clique em Manage Consumer Details (Gerenciar detalhes do consumidor) e verifique sua identidade. Copie a chave e o segredo de consumidor e cole-os em um editor de texto.
- Volte para Setup (Configuração), insira App (Aplicativo) na caixa Quick Find (Busca rápida) e selecione App Menu (Menu de aplicativo).
- Role até o final da página App Menu (Menu de aplicativo) para ver o aplicativo conectado Customer Order Status. Você também pode ver o que está visível no App Launcher (Iniciador de aplicativos) para que os usuários de suporte possam acessar rapidamente.
Você acabou de criar um aplicativo conectado. Muito bem!
Vamos fluir
Agora que demonstramos como criar um aplicativo conectado, é sua vez de experimentar. Na próxima etapa, mostraremos como implementar o fluxo do servidor da Web OAuth 2.0.
Recursos
-
Trailhead: Noções básicas de aplicativos conectados
-
Ajuda do Salesforce: Criar um aplicativo conectado
-
Ajuda do Salesforce: Tokens e escopos do OAuth
-
Site da Web: Bem-vindos ao OpenID Connect