No mundo da tecnologia, a autenticação e autorização são fundamentais para garantir a segurança e integridade dos dados e serviços online. Nesse sentido, o OAuth (Open Authorization) é um padrão de autenticação que permitiu simplificar e integrar logins em múltiplos serviços na Internet. Desenvolvido em conjunto pela Google e pelo Twitter, o OAuth é uma solução de autenticação baseada em tokens, que permite que os desenvolvedores criem aplicativos que podem acessar recursos de terceiros sem revelar as credenciais do usuário.
O Processo de Autenticação
Para entender como funciona o OAuth, vamos analisar um exemplo prático. Imagine que você está usando uma aplicação web que deseja acesso ao seu perfil no Google Drive ou Google Photos. Nesse caso, a aplicação Web solicita autorização para acessar seus dados do Google. O processo de autenticação é o seguinte:
Os Papéis Básicos
Para entender melhor como funciona o OAuth, é importante conhecer os quatro papéis básicos envolvidos:
A Execução dos Papéis
A imagem abaixo representa bem a execução desses papéis e respectivos fluxos:
ETAPA 1 - A aplicação (client) solicita autorização para o usuário, para que a aplicação possa interagir e solicitar informações de suas credenciais junto ao provedor de identidade.
ETAPA 2 - O Dono do Recurso (resource owner) realiza a autorização.
ETAPA 3 - De posse da autorização, esta é encaminhada pelo cliente ao Servidor de Autorização, responsável por viabilizar a passagem das credenciais de acesso aos serviços do provedor.
ETAPA 4 - O provedor de credenciais passa o TOKEN, por meio de uma comunicação segura. De posse desse token, a aplicação poderá acessar os recursos do usuário requisitante.
ETAPA 5 - Passa-se o token aos provedores de serviços que detêm os recursos protegidos dos usuários. Nesse caso, é o Google Drive ou Google Photos que passa a ser acessado pelo Client com a devida autorização do usuário Dono do Recurso, realizado no passo 2.
ETAPA 6 - As informações e recursos protegidos são compartilhados com o Cliente. É nessa etapa que é possível, por exemplo, já ter a sua foto integrada com o serviço web requisitado, outras informações, como e-mail, dados de telefone, recursos específicos no Drive, lista de amigos e contatos, entre muitos outros.
Conclusão
Nesse artigo, discutimos o modelo de autenticação OAuth e seus papéis básicos. Vimos como funciona o processo de autenticação e autorização, desde a solicitação da autorização até a entrega do token de acesso. Com esse conhecimento, os desenvolvedores podem criar aplicativos seguros que possam acessar recursos de terceiros sem revelar as credenciais do usuário.
[What is OAuth? | SAML vs. OAuth | Cloudflare](https://www.cloudflare.com/learning/access-management/what-is-oauth/) |