Fornecer autorização a gateways de API externa
Objetivos de aprendizagem
- Descrever o registro de cliente dinâmico do OpenID Connect e a introspecção de token.
- Descrever como o Salesforce usa aplicativos conectados para fornecer autorização para gateways de API externa.
Registro de cliente dinâmico do OpenID Connect e introspecção de token
Na primeira unidade, falamos sobre o caso de uso no qual o Salesforce pode atuar como um servidor de autorização de OAuth independente para proteger recursos hospedados em um gateway de API externa. Este caso de uso de aplicativo conectado é ativado pelo registro de cliente dinâmico do OpenID Connect e introspecção de token.
O registro de cliente dinâmico permite que os servidores de recursos criem aplicativos clientes dinamicamente como aplicativos conectados. Os aplicativos clientes são aplicativos externos que solicitam acesso a recursos protegidos. Para criar dinamicamente aplicativos clientes como aplicativos conectados, o servidor de recurso envia ao servidor de autorização uma solicitação para criar um aplicativo conectado para o aplicativo cliente. O servidor de autorização verifica a solicitação do servidor de recursos e cria o aplicativo conectado, fornecendo um ID de cliente e um segredo do cliente exclusivos.
A introspecção de token permite que todos os aplicativos conectados de OAuth verifiquem o estado atual de um token de acesso ou de atualização de OAuth 2.0. O servidor de recursos ou os aplicativos conectados enviam o ID e o segredo do cliente ao servidor de autorização, iniciando um fluxo de autorização de OAuth. Como parte deste fluxo, o servidor de autorização valida (ou introspecta) o token de acesso do aplicativo cliente. Se o token de acesso é atual e válido, é concedido acesso ao aplicativo cliente.
Como flui a autorização de gateway de API externa
O registro de cliente dinâmico do OpenID Connect e a introspecção de token podem parecer um pouco complexos. Então vamos percorrer seu fluxo usando o exemplo a seguir.
Você quer que seus parceiros do Salesforce possam acessar os dados de status do pedido independentemente. Então, você cria um serviço que expõe o status do pedido em vários sistemas ao confrontá-lo com um gateway de API, que é implantado em uma plataforma Anypoint da MuleSoft. Para habilitar acesso protegido a esses dados, siga os seguintes passos.
- Aplique uma política de aplicação de token do OpenID no gateway da API.
- Configure o Salesforce como um provedor de gerenciamento de cliente na plataforma Anypoint da MuleSoft.
Com esta configuração, o gateway da API usa o Salesforce como o provedor de autorização no fluxo de registro de cliente dinâmico do OpenID Connect e introspecção de token.
- O gateway da API registra um aplicativo cliente com o ponto de extremidade de registro de cliente dinâmico do Salesforce.
- O gateway da API envia uma solicitação ao ponto de extremidade de autorização do Salesforce para aprovar um aplicativo cliente baseado em um tipo de concessão de autorização associado a ele.
- Com uma validação bem-sucedida, o Salesforce gera um token de acesso para o aplicativo cliente.
- O gateway da API envia uma solicitação ao ponto de extremidade de introspecção de token do Salesforce para validar o token de acesso.
- Após uma validação bem-sucedida, o gateway da API permite que o aplicativo cliente acesse os dados protegidos.
Agora vamos dar um sentido a tudo isso.
- Sua API de status do pedido está disponível no portal de API da MuleSoft.
- Seus parceiros fazem login no MuleSoft para criar um aplicativo cliente para acessar a API de status do pedido.
- O novo aplicativo cliente envia automaticamente uma solicitação ao ponto de extremidade de registro de cliente dinâmico do Salesforce para criar um aplicativo conectado para o aplicativo cliente.
- Após um registro bem-sucedido, o Salesforce retorna um ID do cliente e um segredo do cliente ao aplicativo conectado, que é compartilhado com o parceiro.
- O parceiro envia uma solicitação com as credenciais do cliente ao gateway da API especificando o tipo de concessão (código de autorização) para aprovar o cliente.
- O parceiro é redirecionado a um navegador para fazer login no Salesforce e para autorizar acesso aos dados. Esta autorização é baseada em escopos associados ao aplicativo conectado correspondente no Salesforce.
- Com um fluxo de concessão de código de autorização bem-sucedido, o Salesforce envia um token de acesso ao aplicativo cliente.
- O aplicativo cliente envia seu token de acesso ao gateway da API, solicitando acesso aos dados de status do pedido protegidos.
- O gateway da API extrai o token de acesso e envia-o ao ponto de extremidade de introspecção de token do Salesforce.
- O Salesforce valida o token de acesso.
- O gateway da API concede ao aplicativo cliente acesso aos dados protegidos pelo seu API de status do pedido hospedado no MuleSoft.
Você chegou ao acampamento base
Parabéns! Você concluiu o módulo Noções básicas de aplicativos conectados. Agora você já domina o tema de como usar aplicativos conectados. Nos próximos módulos e projetos sobre aplicativos conectados, mostraremos como criar e configurar aplicativos conectados para esses casos de uso. Enquanto isso, saiba que você está caminhando para ser um mestre dos aplicativos conectados.
Recursos
- Ajuda do Salesforce: Registro de cliente dinâmico do OpenID Connect para gateways de API externas