#GlobalAzure
ASP.NET Identity – De dentro das
Trincheiras
José Roberto Araújo
Patrocinadores
www.jrobertoaraujo.net
www.facebook.com/joserobertoaraujo
1. Um pouco de História
2. Visão Geral do Identity
■ Versão 1.0
■ Tipos de Storages suportados
■ Versão 2.1
■ O que são Cl...
■ Novembro de 2005
■ Surgia o ASP.NET Membership (odiado por muitos, adorado por poucos :D)
■ Existia somente suporte ao S...
■ A versão 1.0
■ Teve seu lançamento com o Asp.Net MVC 5
■ Customização de informações do usuário usando Code-First
■ Pass...
■ Tipos de Storages que podem ser utilizados
■ Azure Table Storage
■ DocumentDB
■ MongoDB
■ RavenDB
■ Nhibernate
■ Redis
■...
■ Separação em níveis de responsabilidades na versão 2.1:
■Managers
■ Alto nível de acesso
■ Executa operações para criar ...
■ O que são Claims?
■Identity utiliza o recurso de Claims para ser mais extensível
■Utilizando Claims, o usuário pode:
■Vi...
■ Novidades da versão 2.1
■Autenticação em 2 fatores (Two Factor Authentication)
■SMS
■Email
■Bloqueio temporário da conta...
■ IdentityUser – Implementa a interface IUser
■ EmailService/SmsService – São notificadores para o modo de autenticação
de...
■ Mecanismo utilizado para aumentar a segurança de acesso as
aplicações
■ Precisa de pelo menos 1 provider para viabilizar...
■ SEMPRE, SEMPRE utilize SSL em suas aplicações. NUNCA viva sem
esse recurso.
■ Garanta que sua política de senha seja for...
■ Aplicação ASP.NET MVC usando Individual Identity
■Confirmação da conta via Email
■Account Confirmation
■Customizando dad...
■ http://www.asp.net/identity
■https://github.com/aspnet/identity
■https://aspnetidentity.codeplex.com/
■http://azure.micr...
www.jrobertoaraujo.net
www.facebook.com/joserobertoaraujo
Asp net identity - De dentro das trincheiras
Próximos SlideShares
Carregando em…5
×

Asp net identity - De dentro das trincheiras

889 visualizações

Publicada em

Apresentação Global Windows Azure Bootcamp GWAB2015 em Brasilia, sobre as novidades do AspNet Identity 2.1

Publicada em: Tecnologia
2 comentários
2 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
889
No SlideShare
0
A partir de incorporações
0
Número de incorporações
39
Ações
Compartilhamentos
0
Downloads
0
Comentários
2
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Asp net identity - De dentro das trincheiras

  1. 1. #GlobalAzure ASP.NET Identity – De dentro das Trincheiras José Roberto Araújo
  2. 2. Patrocinadores
  3. 3. www.jrobertoaraujo.net www.facebook.com/joserobertoaraujo
  4. 4. 1. Um pouco de História 2. Visão Geral do Identity ■ Versão 1.0 ■ Tipos de Storages suportados ■ Versão 2.1 ■ O que são Claims? 3. Visão Geral das Classes ASP.NET Identity 4. Autenticação com 2 fatores (Two Factor Authentication) 5. Recomendações de segurança 6. DEMOS Agenda
  5. 5. ■ Novembro de 2005 ■ Surgia o ASP.NET Membership (odiado por muitos, adorado por poucos :D) ■ Existia somente suporte ao SQL Server ou SQL Server Express (Extremamente limitado seu poder de armazenamento) ■ Maio de 2012 ■ Primaiera versão que foi disponibilizada via NuGet ■ Começou um movimento de universalização de Providers, suportando: ■ SQL CE, Armazenamento no Azure ■ Agosto de 2012 ■ Chegada do SimpleMembership possibilitando a utilização do Code-First (Isso é LINDO!!!) ■ Pode ser utilizado tanto em WebPages quanto em aplicações ASP.NET MVC ■ Outubro de 2013 ■ Chegada da primeira versão do ASP.NET Identity ■ Várias mudanças de paradigmas, conceitos e formas implementação ■ Março de 2014 ■ Liberada a versão 2 do ASP.NET Identity ■ Vários recursos implementados: Two Factor, Account Lockout, Confirmation, Reset, etc. ■ Fevereiro de 2015 ■ Lançamento da versão 2.2 ■ Em breve no AspNet 5 ■ Identity 3.0 Um pouco de história 
  6. 6. ■ A versão 1.0 ■ Teve seu lançamento com o Asp.Net MVC 5 ■ Customização de informações do usuário usando Code-First ■ Passou a possibilitar testes unitários ■ Utiliza Role Provider ■ Começou a ser inserido o conceito de Claims ■ Integração com Redes sociais ■ Integração com AD: On-Premise, Azure AD, Office365 ■ Integração com OWIN ■ ASP.NET Identity está isponível via Nuget desde o Visual Studio 2013 ■ ASP.NET Identity só pode ser usado em aplicações com versão do .NET framework 4.5 ■ Suporta: Oauth/OpenID, SSO (Single-Sign-On) Visão Geral do Identity
  7. 7. ■ Tipos de Storages que podem ser utilizados ■ Azure Table Storage ■ DocumentDB ■ MongoDB ■ RavenDB ■ Nhibernate ■ Redis ■ MySQL Visão Geral do Identity
  8. 8. ■ Separação em níveis de responsabilidades na versão 2.1: ■Managers ■ Alto nível de acesso ■ Executa operações para criar usuário ■ Fala com Stores por meio de Interface ■ Altamente plugável ■Storages ■ Fala com a camada de dados ■ Armazena: User, Role, Claims Visão Geral do Identity ASP.NET Applications Managers Stores Data Access Layer Data Source Ex.: SQL Server, MySQL, Azure Table Storage, DocumentDB Ex.: UserStore, RoleStore Ex.: UserManager, RoleManager
  9. 9. ■ O que são Claims? ■Identity utiliza o recurso de Claims para ser mais extensível ■Utilizando Claims, o usuário pode: ■Vir de qualquer fonte: Facebook, Google+, Twitter, Linkedin ■ASP.NET Identity tendo suporte por meio de algum Provider de Autenticação, sua aplicação vai poder armazenar informações do usuário externo. ■Seja de fontes externas ou não, utilizando Claims sua aplicação pode armazenar mais informações do usuário sem fazer Hits no banco de dados. ■Claims trabalha com conceito de dicionário, ou seja, Key/Value: ■“UserName”: “José Roberto Araújo” ■“RoleName”: “Administrador” ■“Birthday”: “26/11/1981” Visão Geral do Identity
  10. 10. ■ Novidades da versão 2.1 ■Autenticação em 2 fatores (Two Factor Authentication) ■SMS ■Email ■Bloqueio temporário da conta (Account Lockout) ■Confirmação da Conta (Account Confirmation) ■Security Stamp (log-off de qualquer disponsitivo) ■Chave Primária extensível para a classe User e Role ■Possibilidade de extensão da classe de validação de senha ■Enhanced Password Validator Visão Geral do Identity
  11. 11. ■ IdentityUser – Implementa a interface IUser ■ EmailService/SmsService – São notificadores para o modo de autenticação de 2 fatores. ■ UserManager – API para criar User, Claims e informações de autenticação utilizando a classe UserStore ■ RoleManager – API para criar as roles utilizando a classe RoleStore ■ UserStore – camada que fala com o banco de dados, armazenando User, User Roles, User Claims ■ RoleStore – camada que fala com o banco de dados, armazenando as Roles. ■ SigninManager – API utilizada para realizar o trabalho de autenticação (Single ou Two Factor) Classes ASP.NET Identity
  12. 12. ■ Mecanismo utilizado para aumentar a segurança de acesso as aplicações ■ Precisa de pelo menos 1 provider para viabilizar o funcionamento do mecanismo ■ Assim que o usuário logar na aplicação, será solicitado a autenticação usando o segundo fator ■ A cada novo login é verificado o segundo fator. Autenticação com 2 fatores (Two Factor Authentication)
  13. 13. ■ SEMPRE, SEMPRE utilize SSL em suas aplicações. NUNCA viva sem esse recurso. ■ Garanta que sua política de senha seja forte o suficiente. ■ Não permita que o seu login possa sofrer várias tentativas de acesso e não realizar nenhum bloqueio ■ Utilize o token Xsrf garantindo a segurança do envio dos dados em seu request ■ No ASP.NET MVC use o atributo: ValidateAntiForgeryToken Recomendações de Segurança
  14. 14. ■ Aplicação ASP.NET MVC usando Individual Identity ■Confirmação da conta via Email ■Account Confirmation ■Customizando dados do usuário Identity ■Bloqueio da conta ■Account Lockout ■Two Factor Authentication ■SMS ■Email ■Login Externo usando External Provider ■Facebook ■Claims vs Roles ■Utilizando custom provider com DocumentDB ■Plus...  DEMO
  15. 15. ■ http://www.asp.net/identity ■https://github.com/aspnet/identity ■https://aspnetidentity.codeplex.com/ ■http://azure.microsoft.com/en-us/services/documentdb/ ■http://channel9.msdn.com/Series/Customizing-ASPNET-Authentication-with- Identity ■https://github.com/tracker086/DocumentDB.AspNet.Identity ■http://www.nuget.org/packages/DocumentDB.AspNet.Identity/1.0.6-beta Referências
  16. 16. www.jrobertoaraujo.net www.facebook.com/joserobertoaraujo

×