IdentityServer4
Framework que implementa os protocolos OpenID e OAuth 2.0, gratuito, open source e disponível para ASP.NET Core.
1. Cenário Geral
De forma ampla, aplicações modernas interagem da seguinte forma:
Tipicamente, cada camada deve implementar autenticação e/ou autorização. Portanto, isolar essas funções de segurança para um serviço externo evita a duplicidade de código entre todos os envolvidos.
2. Autenticação, OpenID e OAuth 2.0
A autenticação é necessária para que uma aplicação possa conhecer a identidade do usuário. Os protocolos de autenticação mais comuns são SAML2p, WS-Federation and OpenID Connect, sendo que o SAML2p é o mais popular e mais implementado globalmente.
O mais recente entre os três é o OpenID e é considerado o futuro, pois ele foi desenvolvido do zero, com maior potencial para aplicações modernas e projetado para ser amigável com APIs.
OpenID e o OAuth 2.0 são bem similares, na verdade o OpenID é uma extensão do OAuth 2.0. Portanto, as preocupações fundamentais de segurança estão unidas em um único protocolo: OpenID.
3. IdentityServer4
IdentityServer é um framework que implementa os protocolos OpenID e OAuth 2.0, é gratuito e open source e está disponível para ASP.NETCore.
Algumas das características do IdentityServer4 são: proteger os Recursos, gerenciar e autenticar Clientes, autenticar Usuários, validar Tokens.
Recomendados pelo LinkedIn
Alguns conceitos devem ser destacados:
4. Demo GitHub
4.1. Projeto
A Solução deste repositório contém quatro Projetos:
4.2. Branches
Três branches estão disponíveis:
5. Conclusão
Apresentamos neste repository três clients: uma API, um projeto em JavaScript e um ASP.NET MVC que conversam com um servidor IdentityServer para lidar com autenticação e autorização.