...
Na imagem acima, podemos visualizar como geralmente funciona o fluxo de autorização.
Solicitação de autorização
Nessa primeira etapa o cliente (aplicação) solicita a autorização para acessar os recursos do servidor do usuário;Concessão de autorização
Se o usuário autorizar a solicitação, a aplicação recebe uma concessão de autorização;Concessão de autorização
O cliente solicita um token de acesso ao servidor de autorização (API) através da autenticação da própria identidade e da concessão de autorização;Token de acesso
Se a identidade da aplicação está autenticada e a concessão de autorização for válida, o servidor de autorização (API) emite um token de acesso para a aplicação. O cliente já vai ter um token de acesso para gerenciar e a autorização nessa etapa já está completa;Token de acesso
Quando o cliente precisar solicitar um recurso ao servidor de recursos, basta apresentar o token de acesso;
Recurso protegido
O servidor de recursos fornece o recurso para o cliente, caso o token de acesso dele for válido.
O servidor de autorização é responsável pelo SSO (Single Sign On), que centraliza as credenciais dos acessos dos usuários e faz a autenticação, gerencia as permissões dos usuários e emite os tokens de acesso;
...
Implicit – é um fluxo de autorização simplificado, otimizado para clients web. Ao emitir um token de acesso, o authorization server não autentica o cliente. É muito utilizado em SPAs e aplicações MVC;
Authorization Code – é obtido usando um authorization server como intermediário entre o client e o usuário. O cliente redireciona o usuário para um servidor de autorização. Esse tipo de client é utilizado em aplicações de terceiros, ou seja, não confiáveis;
Resource Owner Password Credentials – utilizado quando o client solicita o usuário e senha diretamente, esse já utilizado em aplicações chamadas de confiáveis, como aplicações da própria empresa; (Utilizado na external API - Privacy Tools)
Client Credentials – pode ser utilizado quando a aplicação client é protegida, que são utilizados em integrações de sistemas;
Implementação External API - Privacy Tools
Para confirmar a utilização na privacy tools, basta primeiramente a conta company estar com o campo external_api com valor 2 (corresponde a API Oauth2), por padrão as novas contas inseridas estarão inicializadas com valor external_api igual a 2, para a utilização em uma conta já cadastrada anteriormente é necessário executar o script sql abaixo no ambiente do banco;
UPDATE dp_company SET external_api=2
where id = ID_DA_EMPRESA;
A conta company com passo anterior ok, em todas as páginas de API de integração, verá as seguintes informações:
...
: Privacidade>>Consentimentos>>API Integração, aba 'Integre com sua aplicação:
...
client-id e client-secret correspondem ao usuário e senha da aplicação esta é passada como user basic no authorization do endpoint de geração de token juntamente com os parâmetros no body:
...
Url do endpoint geração de token, exemplo:
URL de homologação: https://demo.privacytools.com.br/external_api_v2/oauth/token
URL de produção: https://dpo.privacytools.com.br/external_api_v2/oauth/token
...
Para todas as chamadas de todos os endpoints da external api, basta passar o token no Authorization como na imagem acima além dos parâmetros usuais de cada endpoint para o correto funcionamento.
Esta documentação aborda de maneira abrangente e minuciosa o tema em questão. No entanto, com o intuito de fornecer informações detalhadas, fundamentadas e provenientes de diversas fontes para uma compreensão completa e precisa, segue a documentação que apresenta o passo a passo de como utilizar e obter o token. API - Obter token.