Versão 1 - Plano de Aula Alura
Versão 1 - Plano de Aula Alura
Versão 1 - Plano de Aula Alura
0
14/12/2019
PLANO DE AULA
PROTEGENDO SUAS API’S COM OAUTH 2.0
O PROBLEMA
Sua empresa está crescendo e Microsserviços é a arquitetura escolhida. A jornada começou e
aquele sistema monolito começou a se transformar em diversas API’s.
Os times de arquitetura e segurança disponibilizaram um servidor OAuth 2.0. Agora você foi
incumbido de criar uma nova API em ASP.NET Core .
Para proteger os dados do seu serviço é necessário validar cada uma das requisições. O Client
frontend vai enviar um Token JWT para sua API e ela precisa precisa integrar com o servidor OAuth
2.0 para fazer a validação da request.
A SOLUÇÃO
Crie um novo projeto ASP.NET Core Web Application (File > New Project). Coloque o nome
de SecureApi. Na tela seguinte escolha a opção Web Application (Model-View-Controller),
conforme figuras abaixo:
Agora em Solution Explorer pressione o botão direito em Dependencies e em seguida vá até a
opção Manage Nuget Packages.
Procure por IdentityServer4.AccessTokenValidation e instale o pacote.
Assim que terminar a instalação, abra o arquivo Startup.cs, e faça as seguintes alterações:
Pronto! Sua API ASP.NET Core 3.1 está integrada com um servidor OAuth 2.0.
O CONCEITO
O OAuth 2.0 é um framework de autorização. Dá recursos aos usuários para autorizar o acesso de
aplicativos de terceiros (Clients). O aplicativo terceiro, pode ser tanto um app da sua própria
empresa, como de outra empresa.
Quando autorizado, o aplicativo recebe um Bearer token. Atualmente o formato de Bearer mais
utilizado é o JWT. Que serve como credencial de autenticação.
Isso tem dois principais benefícios de segurança:
1. O aplicativo não precisa armazenar o nome de usuário e senha do usuário.
2. O OAuth2 provê recursos para restringir o escopo desse Bearer, por exemplo: acesso
somente leitura.
Esses benefícios são particularmente importantes para garantir a segurança dos aplicativos na
Web, tornando o OAuth 2 padrão predominante para autenticação de API.
O FLUXO
O OAuth 2.0 especifica o seguinte fluxo para validar um Token Bearer emitido por um Auth Server :