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

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!