Categorias
Análise de livro Arquitetura

Aprendendo OAuth 2

De acordo com a Wikipedia, OAuth 2 é um framework de autorização e possui basicamente quatro componentes básicos:

Resource Owner: uma entidade capaz de conceder acesso à um recurso protegido (pode ser o usuário final).

Resource Server: o servidor que hospeda os recursos protegidos. O acesso a ele é feito através de tokens.

Client: uma aplicação requisitando recursos protegidos, através da autorização do dono.

Authorization Server: servidor que emite tokens de acesso ao cliente, depois de sua autenticação e obtenção de autorização.

Só que o OAuth 2 é bem mais complexo que isso, tem vários fluxos, e outros conceitos que trabalham junto com ele, como OpenID, JWT.

Felizmente, existe uma ótima fonte de informação sobre o assunto, é esse livro:

OAuth 2.0

Com eu escrevi alguns livros eu sei como é complicado encaixar um assunto técnico junto com a parte prática e esse livro o autor Adolfo Eloy faz isso muito bem, com uma aplicação simples integrando com outra e evoluindo para o OAuth 2.

Além disso, o livro está cheio de documentação dos fluxos, com essa aqui, que é o fluxo de Authorization Code (o mais usado):

Sim, super recomendo o livro!

Outra recomendação é assistir ao vídeo de Nate Barbettini sobre OAuth 2 e OpenID Connect, um vídeo de uma hora explicando de maneira bem simples e detalhada.

A última dica é usar o meu mapa mental para ajudar a visão geral do OAuth 2:

Fernando Boaglio, para a comunidade