SlideShare uma empresa Scribd logo
1 de 28
Implementando um
Handler de Autenticação
Customizado no
ASP.NET Core 2.0
Robson Rocha de Araújo
Quem sou eu
Robson Araújo
• 36 anos, casado, 3 filhos
• 20+ anos de experiência no stack Microsoft (.NET desde 2000)
• 6+ anos como Microsoft Certified Trainer (People / Impacta)
• 25+ Certificações Microsoft
• 2 anos como Premier Field Engineer (.NET) na Microsoft
• Co-autor do livro “Desenvolvimento Efetivo na Plataforma Microsoft”
Editora Casa do Código
• Solutions Architect @ Venturus desde 07/2017
• Hobby: tentar dormir
Agenda
• Caso de Uso: Autenticação fora do padrão
• Middlewares vs Handlers
• Fluxo de Autenticação
• Demonstração
Caso de Uso: Autenticação fora do padrão
• Single sign-on legado
• Soluções exóticas / muito customizadas
• Adaptações das opções padrão muito trabalhosas
• Necessidades muito específicas
Middlewares vs. Handlers
Handler
Fluxo de autenticação
Início da Requisição
Authentication Middleware
instancia o Handler padrão
Handler.Authenticate
Auth
OK?
HttpContext.User é
preenchidoS
N
Controller recebe requisição
Fluxo de autenticação (cont.)
Controller recebe requisição [Authorize]
N
Action é executada
S
Autenticado
N
Handler.Challenge
S
Autorizado
N
Handler.Forbid
S
Demonstração
Código disponível em
https://github.com/robson-rocha/custom-auth
Adicionar os serviços do Middleware de autenticação
Constantes com os identificadores dos esquemas de autenticação
Injeção do nosso Handler de Autenticação Customizado
Métodos de extensão para injeção dos esquemas de autenticação
Opções de configuração para o handler de autenticação customizado
Adição dos esquemas de autenticação
Handler de Autenticação Customizado e Construtor
Método para autenticação de requisições
Método para autenticação de requisições (cont.)
Entidade de armazenamento de usuários
Entidade de armazenamento de usuários (cont.)
Inserção do Middleware de Autenticação do ASP.NET Core no pipeline
Define que o método requer Autorização
Processamento de Challenges
Login
Autorização por Roles
Acessos não autorizados
Página de Acesso negado
Dúvidas?
Entre em contato!
http://about.me/robsonrocha
Muito Obrigado!
http://about.me/robsonrocha

Mais conteúdo relacionado

Semelhante a Implementando um Handler de Autenticação Customizado no ASP.NET Core 2.0

Agile testing
Agile testingAgile testing
Agile testingQualister
 
Agile Testing
Agile TestingAgile Testing
Agile TestingGTS-CE
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsRenato Groff
 
Specification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software houseSpecification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software houseLaís Berlatto
 
Application Insights
Application InsightsApplication Insights
Application InsightsCDS
 
Deu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super PoderesDeu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super PoderesEdson Marques Teixeira
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensourceCDS
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensourceCDS
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018Karla Silva
 
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilRenato Groff
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Giovanni Bassi
 
Monitorando seu ambiente SQL server com o Power BI
Monitorando seu ambiente SQL server com o Power BIMonitorando seu ambiente SQL server com o Power BI
Monitorando seu ambiente SQL server com o Power BIDirceu Resende
 
[O Palco é Delas!] Azure DevTest Labs
[O Palco é Delas!] Azure DevTest Labs[O Palco é Delas!] Azure DevTest Labs
[O Palco é Delas!] Azure DevTest LabsJaqueline Ramos
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013André Borgonovo
 

Semelhante a Implementando um Handler de Autenticação Customizado no ASP.NET Core 2.0 (20)

Agile testing
Agile testingAgile testing
Agile testing
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application Insights
 
Specification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software houseSpecification By Example: Estudo de caso em uma software house
Specification By Example: Estudo de caso em uma software house
 
Application Insights
Application InsightsApplication Insights
Application Insights
 
Deu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super PoderesDeu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super Poderes
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensource
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensource
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018
 
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
 
Monitorando seu ambiente SQL server com o Power BI
Monitorando seu ambiente SQL server com o Power BIMonitorando seu ambiente SQL server com o Power BI
Monitorando seu ambiente SQL server com o Power BI
 
[O Palco é Delas!] Azure DevTest Labs
[O Palco é Delas!] Azure DevTest Labs[O Palco é Delas!] Azure DevTest Labs
[O Palco é Delas!] Azure DevTest Labs
 
[O Palco é Delas!] Azure DevTest Labs
[O Palco é Delas!] Azure DevTest Labs[O Palco é Delas!] Azure DevTest Labs
[O Palco é Delas!] Azure DevTest Labs
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
 

Implementando um Handler de Autenticação Customizado no ASP.NET Core 2.0