Protegendo Conteúdo com Identidade - O Desafio do Velho de TI
No episódio anterior desta saga tecnológica, fizemos uma aplicação em duas partes: o servidor com IdentityServer4 no ASP.NET Core e o cliente em Angular 6. Usamos um template grátis, só pra complicar ainda mais a segurança na web.
Se você perdeu esse episódio, pode dar uma olhada aqui.
Agora, vamos apresentar o Resource Server, que é essencial se você gosta de viver no limite do caos. Saiba mais sobre OAuth2, que pode ser seu novo melhor amigo ou pior inimigo aqui.
Vamos Ao Projeto...
Prepare-se para mais uma etapa. Vamos adicionar um Resource Server ao projeto anterior. Quer se aprofundar? Veja aqui.
Ferramentas Necessárias
- .NET Core 2.1
- Angular-cli 6
- NPM 3 ou superior
- Node
- Visual Studio
- VSCode
- Powershell 5+
Se ainda anima, clone os projetos e instale os pacotes.
Mostre o Código - A Luz no Fim do Túnel
Relaxe e clone o projeto. Instale os pacotes Node.
[npm ou alguma linha de código aqui]
Depois, abra a solução IdentityServer4AngularOIDC.sln e adicione um novo projeto ASP.NET Core Web Application chamado ProtectedResources.
Adicione o pacote IdentityServer4.AccessTokenValidation.
Configurando o Startup.cs
Altere o Startup.cs...
[código aqui...]
A linha 33 é importante – é onde o Token é configurado!
Crie o CotacaoController
Adicione um Api Controller - Empty chamado CotacaoController.
E adicione o método...
[código do método aqui...]
MoedasViewModel – Organizando o Caos!
Crie uma pasta Model. Adicione uma classe chamada MoedasViewModel.cs.
Configurando o Servidor
Ainda não acabou! Mais configurações de OAuth2. Abra o arquivo Config.cs do projeto Server.
[código aqui...]
E configure no Startup.cs.
[% código %]
Ajuste as portas e configure o início múltiplo...
Angular App – A Nova Esperança
Abra o VSCode e faça as configurações necessárias.
Configurando a Rota
Modifique o arquivo de rotas principal, adicione um novo link no menu.
[Código aqui]
Executando
– Finalmente chegou a hora...
npm start
Veja Tudo Funcionando
Para quem aguentou, tudo está no GitHub.
Referências – Para Quem Acha que Pode Ser Diferente Na Próxima!
Pronto! Se você chegou aqui, bem-vindo ao clube dos programadores valentes e confusos que adoram reclamar!