SlideShare una empresa de Scribd logo
1 de 21
24.01.2017
.NET Core
24.01.2017
Seguridad en
MVC Core
SOFTWARE DEVELOPMENT ENGINEER
Hugo Biarge
#NETCore2017 3
@hbiarge
hbiarge@plainconcepts.com
Agenda
1.Escenarios de autenticación.
Middlewares.
2.Políticas de autorización
4
Modelo de Middlewares
#NETCore2017 5
Middlewares de autenticación
#NETCore2017 6
Coordinación
AuthenticationManager
• Coordina los diferentes middlewares de autenticación configurados
• Accesible a través de nuevo HttpContext
Atentos a AutomaticChallenge
• Debe haber uno configurado, pero sólo uno!
Demo
características
7
Middlewares habituales
#NETCore2017 8
Cookies
• El más habitual para aplicaciones web tradicionales
Proveedores sociales
• Twitter, Facebook, Microsoft Id, …
OpenId.Connect
• Autenticación + autorización delegada
JWT
• Apis Http
Cookies con usuarios locales
#NETCore2017 9
Proveedores sociales opcionales
Asp.Net Identity
• Integrado en las plantillas
• Separa funcionalidad de persistencia (fácilmente adaptable a esquemas legacy)
Funcionalidades avanzadas
• Confirmación de cuenta
• Autenticación de doble factor
• External providers (por ejemplo, proveedores sociales)
Demo Asp.Net
Identity
10
Cookies con usuarios externos
#NETCore2017 11
Azure Active Directory
• Combinación de varios middlewares
• OpenId.Connect recomendado si el proveedor lo soporta
• Cookies para persistir claims externos en cookie local
Todavía no tenemos soporte para WSFederation
• Prevista para Asp.Net Core 2.0 (2T 2017)
Demo
OpenId.Connect
12
Tokens para Apis Http
#NETCore2017 13
Con usuarios locales o externos
JWT Middleware
• Necesitamos un proveedor de identidad (STS, IdP, OP)
• Azure Active Directory para usuarios externos
• Identity Server 4 para usuarios locales
Diferentes flujos según el tipo de aplicación
Convivencia cookies y tokens
#NETCore2017 14
En el mismo proyecto web
ActiveAuthenticationSchemes
• AutomaticAuthenticate debe ser false en todos los middlewares
// In Authorize attribute
[Authorize(ActiveAuthenticationSchemes = "Bearer")]
// In Startup ConfigureServices
options.AddPolicy("WebApi", policy =>
{
policy.AuthenticationSchemes.Add("Bearer");
policy.RequireAuthenticatedUser();
});
Autorización basada en políticas
#NETCore2017 15
Mecanismo de autorización por defecto
Permite clara separación de la lógica de autorización del negocio
// In Startup ConfigureServices
services.AddAuthorization(options =>
{
options.AddPolicy("RequireAdministration", policy =>
{
policy.RequireRole("Administration");
policy.RequireClaim("Management");
policy.RequireClaim("OneOfMany", "a", "b");
});
});
// Discouraged
[Authorize(Roles = "Administrator")]
// Better
[Authorize(Policy = "Administrator")]
// Best
[Authorize(Policies.Sales)]
Políticas como código
#NETCore2017 16
Definimos requerimientos
• IAuthorizationRequirement
Que son validados por uno o más handlers
• AuthorizationHandler<IAuthorizationRequirement>
Autorización imperativa
#NETCore2017 17
En controladores y/o vistas
IAuthorizationService
• Puede ser inyectado en cualquier controlador (o servicio) o incluso vistas
public async Task<IActionResult> Index()
{
if (await _authorizationService.AuthorizeAsync(User, Policies.Over21))
{
// User is authorized here.
}
else
{
return new ChallengeResult();
}
}
Autorización basada en recursos
#NETCore2017 18
AuthorizationHandler<Requirement, Resource>
• Añadir el estado de un determinado modelo a la lógica de autorización
public class ProductAuthorizationHandler
: AuthorizationHandler<OperationAuthorizationRequirement, Product>
{
protected override Task HandleRequirementAsync(
AuthorizationHandlerContext context,
OperationAuthorizationRequirement requirement,
Product resource)
{
// Logic to validate requirement
}
}
Demo
autorización
19
@plainconcepts
¡GRACIAS!
@hbiarge
www.plainconcepts.com
MADRID
Paseo de la Castellana 163, 10º
28046 Madrid. España
T. (+34) 91 5346 836
BILBAO
Nervión 3 , 6º
48001 Bilbao. España
T. (+34) 94 6008 168
BARCELONA
Av. Josep Tarradellas 10, 6º 1ª
08029 Barcelona. España
T. (+34) 93 3607 114
SEVILLA
Avenida de la innovación s/n
Edificio Renta Sevilla, 3º A
41020 Sevilla. España
DUBAI
Dubai Internet City. Building 1
73030 Dubai. EAU
T. (+971) 4 551 6653
LONDON
Impact Hub Kings Cross
24B York Way, N1 9AB
London. UK
SEATTLE
1511, Third Ave
Seattle WA 98101. USA
T. (+1) 206 708 1285

Más contenido relacionado

La actualidad más candente

ASP .NET MVC: Desarrollo web con el patrón MVC
ASP .NET MVC: Desarrollo web con el patrón MVCASP .NET MVC: Desarrollo web con el patrón MVC
ASP .NET MVC: Desarrollo web con el patrón MVCriojadotnet
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)Senior Dev
 
Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Eduard Tomàs
 
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_unoWeb matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_unoGonzalo C.
 
ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)wildtango
 
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4SolidQ
 
Extendiendo SharePoint Online con el nuevo modelo de apps
Extendiendo SharePoint Online con el nuevo modelo de appsExtendiendo SharePoint Online con el nuevo modelo de apps
Extendiendo SharePoint Online con el nuevo modelo de appsFabian Imaz
 
Cross-premises: integrando redes e infraestructura con Microsoft Azure
Cross-premises: integrando redes e infraestructura con Microsoft AzureCross-premises: integrando redes e infraestructura con Microsoft Azure
Cross-premises: integrando redes e infraestructura con Microsoft AzurePlain Concepts
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVCSebastián Rocco
 
Windows server 2012 jose luis
Windows server 2012 jose luisWindows server 2012 jose luis
Windows server 2012 jose luisyanez1814
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 

La actualidad más candente (20)

ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Mvc4 Intro
Mvc4 IntroMvc4 Intro
Mvc4 Intro
 
ASP .NET MVC: Desarrollo web con el patrón MVC
ASP .NET MVC: Desarrollo web con el patrón MVCASP .NET MVC: Desarrollo web con el patrón MVC
ASP .NET MVC: Desarrollo web con el patrón MVC
 
Iniciación Con CakePHP
Iniciación Con CakePHPIniciación Con CakePHP
Iniciación Con CakePHP
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6
 
ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1
 
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_unoWeb matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
 
Mvc
MvcMvc
Mvc
 
ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)
 
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4
 
Extendiendo SharePoint Online con el nuevo modelo de apps
Extendiendo SharePoint Online con el nuevo modelo de appsExtendiendo SharePoint Online con el nuevo modelo de apps
Extendiendo SharePoint Online con el nuevo modelo de apps
 
Perfiles en maven
Perfiles en mavenPerfiles en maven
Perfiles en maven
 
Cross-premises: integrando redes e infraestructura con Microsoft Azure
Cross-premises: integrando redes e infraestructura con Microsoft AzureCross-premises: integrando redes e infraestructura con Microsoft Azure
Cross-premises: integrando redes e infraestructura con Microsoft Azure
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Filtrado de recursos en Maven
Filtrado de recursos en MavenFiltrado de recursos en Maven
Filtrado de recursos en Maven
 
Integrando AngularJS y drupal
Integrando AngularJS y drupalIntegrando AngularJS y drupal
Integrando AngularJS y drupal
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVC
 
Windows server 2012 jose luis
Windows server 2012 jose luisWindows server 2012 jose luis
Windows server 2012 jose luis
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 

Destacado

Net core path by Ibon Landa
Net core path by Ibon LandaNet core path by Ibon Landa
Net core path by Ibon LandaPlain Concepts
 
ASP.NET MVC Core by Eduard Tomàs
ASP.NET MVC Core by Eduard TomàsASP.NET MVC Core by Eduard Tomàs
ASP.NET MVC Core by Eduard TomàsPlain Concepts
 
Entity Framework Core by Unai Zorrilla
Entity Framework Core by Unai ZorrillaEntity Framework Core by Unai Zorrilla
Entity Framework Core by Unai ZorrillaPlain Concepts
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloPlain Concepts
 
Analitics: Monitoriza tus aplicaciones móviles
Analitics: Monitoriza tus aplicaciones móvilesAnalitics: Monitoriza tus aplicaciones móviles
Analitics: Monitoriza tus aplicaciones móvilesPlain Concepts
 
Testing Xamarin Test Cloud
Testing Xamarin Test CloudTesting Xamarin Test Cloud
Testing Xamarin Test CloudPlain Concepts
 
Diseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataformaDiseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataformaPlain Concepts
 
Microsoft Intune y Gestión de Identidad Corporativa
Microsoft Intune y Gestión de Identidad Corporativa Microsoft Intune y Gestión de Identidad Corporativa
Microsoft Intune y Gestión de Identidad Corporativa Plain Concepts
 
Single Sign On e IdPs: Active Directory Federation Services (ADFS)
Single Sign On e IdPs: Active Directory Federation Services (ADFS)Single Sign On e IdPs: Active Directory Federation Services (ADFS)
Single Sign On e IdPs: Active Directory Federation Services (ADFS)Plain Concepts
 
La nueva Intranet es Office 365
La nueva Intranet es Office 365La nueva Intranet es Office 365
La nueva Intranet es Office 365Plain Concepts
 
Identidad híbrida con Azure Active Directory
Identidad híbrida con Azure Active DirectoryIdentidad híbrida con Azure Active Directory
Identidad híbrida con Azure Active DirectoryPlain Concepts
 
Identidad: los misterios del metaverso con Forefront Identity Manager
Identidad: los misterios del metaverso con Forefront Identity ManagerIdentidad: los misterios del metaverso con Forefront Identity Manager
Identidad: los misterios del metaverso con Forefront Identity ManagerPlain Concepts
 
Windows Intune: Sistemas bajo control, sin ápice de dolor.
Windows Intune: Sistemas bajo control, sin ápice de dolor.Windows Intune: Sistemas bajo control, sin ápice de dolor.
Windows Intune: Sistemas bajo control, sin ápice de dolor.Plain Concepts
 
HTML Tour - Aplicaciones móviles multiplataforma
HTML Tour - Aplicaciones móviles multiplataformaHTML Tour - Aplicaciones móviles multiplataforma
HTML Tour - Aplicaciones móviles multiplataformaPlain Concepts
 
HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5Plain Concepts
 
DevOps: Continuous Delivery and Windows Azure
DevOps: Continuous Delivery and Windows AzureDevOps: Continuous Delivery and Windows Azure
DevOps: Continuous Delivery and Windows AzurePlain Concepts
 
Seguridad y protección en Office 365
 Seguridad y protección en Office 365 Seguridad y protección en Office 365
Seguridad y protección en Office 365Plain Concepts
 

Destacado (18)

Net core path by Ibon Landa
Net core path by Ibon LandaNet core path by Ibon Landa
Net core path by Ibon Landa
 
ASP.NET MVC Core by Eduard Tomàs
ASP.NET MVC Core by Eduard TomàsASP.NET MVC Core by Eduard Tomàs
ASP.NET MVC Core by Eduard Tomàs
 
Push notifications
Push notificationsPush notifications
Push notifications
 
Entity Framework Core by Unai Zorrilla
Entity Framework Core by Unai ZorrillaEntity Framework Core by Unai Zorrilla
Entity Framework Core by Unai Zorrilla
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
 
Analitics: Monitoriza tus aplicaciones móviles
Analitics: Monitoriza tus aplicaciones móvilesAnalitics: Monitoriza tus aplicaciones móviles
Analitics: Monitoriza tus aplicaciones móviles
 
Testing Xamarin Test Cloud
Testing Xamarin Test CloudTesting Xamarin Test Cloud
Testing Xamarin Test Cloud
 
Diseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataformaDiseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataforma
 
Microsoft Intune y Gestión de Identidad Corporativa
Microsoft Intune y Gestión de Identidad Corporativa Microsoft Intune y Gestión de Identidad Corporativa
Microsoft Intune y Gestión de Identidad Corporativa
 
Single Sign On e IdPs: Active Directory Federation Services (ADFS)
Single Sign On e IdPs: Active Directory Federation Services (ADFS)Single Sign On e IdPs: Active Directory Federation Services (ADFS)
Single Sign On e IdPs: Active Directory Federation Services (ADFS)
 
La nueva Intranet es Office 365
La nueva Intranet es Office 365La nueva Intranet es Office 365
La nueva Intranet es Office 365
 
Identidad híbrida con Azure Active Directory
Identidad híbrida con Azure Active DirectoryIdentidad híbrida con Azure Active Directory
Identidad híbrida con Azure Active Directory
 
Identidad: los misterios del metaverso con Forefront Identity Manager
Identidad: los misterios del metaverso con Forefront Identity ManagerIdentidad: los misterios del metaverso con Forefront Identity Manager
Identidad: los misterios del metaverso con Forefront Identity Manager
 
Windows Intune: Sistemas bajo control, sin ápice de dolor.
Windows Intune: Sistemas bajo control, sin ápice de dolor.Windows Intune: Sistemas bajo control, sin ápice de dolor.
Windows Intune: Sistemas bajo control, sin ápice de dolor.
 
HTML Tour - Aplicaciones móviles multiplataforma
HTML Tour - Aplicaciones móviles multiplataformaHTML Tour - Aplicaciones móviles multiplataforma
HTML Tour - Aplicaciones móviles multiplataforma
 
HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5
 
DevOps: Continuous Delivery and Windows Azure
DevOps: Continuous Delivery and Windows AzureDevOps: Continuous Delivery and Windows Azure
DevOps: Continuous Delivery and Windows Azure
 
Seguridad y protección en Office 365
 Seguridad y protección en Office 365 Seguridad y protección en Office 365
Seguridad y protección en Office 365
 

Similar a Security in MVC Core by Hugo Biarge

Semana 1 sistematizacion v1Preguntas.pptx
Semana 1 sistematizacion v1Preguntas.pptxSemana 1 sistematizacion v1Preguntas.pptx
Semana 1 sistematizacion v1Preguntas.pptxcesaralcidespezoborr1
 
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?Rames Sarwat
 
Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Esteban Saavedra
 
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xusGeneXus
 
GAM GeneXus Access Manager
GAM GeneXus Access ManagerGAM GeneXus Access Manager
GAM GeneXus Access ManagerGeneXus
 
SharePoint en Azure - Global Azure Bootcamp Mexico 2015
SharePoint en Azure - Global Azure Bootcamp Mexico 2015SharePoint en Azure - Global Azure Bootcamp Mexico 2015
SharePoint en Azure - Global Azure Bootcamp Mexico 2015Vladimir Medina
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"www.encamina.com
 
Web 2.0 ajax con SharePoint
Web 2.0 ajax con SharePointWeb 2.0 ajax con SharePoint
Web 2.0 ajax con SharePointgoreorti
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 
Memorias 3era gug cali colombia
Memorias 3era gug cali colombiaMemorias 3era gug cali colombia
Memorias 3era gug cali colombiagoscar
 
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...Amazon Web Services LATAM
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI Informática
 
Control de acceso al sistema operativo
Control de acceso al sistema operativoControl de acceso al sistema operativo
Control de acceso al sistema operativoGalindo Urzagaste
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP7th_Sign
 
Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP7th_Sign
 
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...Herman Arnedo
 

Similar a Security in MVC Core by Hugo Biarge (20)

Semana 1 sistematizacion v1Preguntas.pptx
Semana 1 sistematizacion v1Preguntas.pptxSemana 1 sistematizacion v1Preguntas.pptx
Semana 1 sistematizacion v1Preguntas.pptx
 
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?
 
Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5
 
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
 
GAM GeneXus Access Manager
GAM GeneXus Access ManagerGAM GeneXus Access Manager
GAM GeneXus Access Manager
 
SharePoint en Azure - Global Azure Bootcamp Mexico 2015
SharePoint en Azure - Global Azure Bootcamp Mexico 2015SharePoint en Azure - Global Azure Bootcamp Mexico 2015
SharePoint en Azure - Global Azure Bootcamp Mexico 2015
 
Angularjs
AngularjsAngularjs
Angularjs
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
Enterprise Library 5
Enterprise Library 5Enterprise Library 5
Enterprise Library 5
 
Web 2.0 ajax con SharePoint
Web 2.0 ajax con SharePointWeb 2.0 ajax con SharePoint
Web 2.0 ajax con SharePoint
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 
Azure + PowerShell
Azure + PowerShellAzure + PowerShell
Azure + PowerShell
 
Memorias 3era gug cali colombia
Memorias 3era gug cali colombiaMemorias 3era gug cali colombia
Memorias 3era gug cali colombia
 
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
 
Tema 7
Tema 7Tema 7
Tema 7
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIs
 
Control de acceso al sistema operativo
Control de acceso al sistema operativoControl de acceso al sistema operativo
Control de acceso al sistema operativo
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP
 
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
 

Más de Plain Concepts

R y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntosR y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntosPlain Concepts
 
Video kills the radio star: e-mail is crap and needed disruption
 Video kills the radio star: e-mail is crap and needed disruption Video kills the radio star: e-mail is crap and needed disruption
Video kills the radio star: e-mail is crap and needed disruptionPlain Concepts
 
Cómo redefinir tu organización con IA
Cómo redefinir tu organización con IACómo redefinir tu organización con IA
Cómo redefinir tu organización con IAPlain Concepts
 
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelines
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelinesDx29: assisting genetic disease diagnosis with physician-focused AI pipelines
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelinesPlain Concepts
 
¿Qué es real? Cuando la IA intenta engañar al ojo humano
¿Qué es real? Cuando la IA intenta engañar al ojo humano¿Qué es real? Cuando la IA intenta engañar al ojo humano
¿Qué es real? Cuando la IA intenta engañar al ojo humanoPlain Concepts
 
Inteligencia artificial para detectar el cáncer de mama
Inteligencia artificial para  detectar el cáncer de mamaInteligencia artificial para  detectar el cáncer de mama
Inteligencia artificial para detectar el cáncer de mamaPlain Concepts
 
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?Plain Concepts
 
Cognitive Services en acción
Cognitive Services en acciónCognitive Services en acción
Cognitive Services en acciónPlain Concepts
 
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...Plain Concepts
 
What if AI was your daughter?
What if AI was your daughter?What if AI was your daughter?
What if AI was your daughter?Plain Concepts
 
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...Plain Concepts
 
Revolucionando la experiencia de cliente con Big Data e IA
Revolucionando la experiencia de cliente con Big Data e IARevolucionando la experiencia de cliente con Big Data e IA
Revolucionando la experiencia de cliente con Big Data e IAPlain Concepts
 
Recuperación de información para solicitantes de empleo
Recuperación de información para solicitantes de empleoRecuperación de información para solicitantes de empleo
Recuperación de información para solicitantes de empleoPlain Concepts
 
La nueva revolución Industrial: Inteligencia Artificial & IoT Edge
La nueva revolución Industrial: Inteligencia Artificial & IoT EdgeLa nueva revolución Industrial: Inteligencia Artificial & IoT Edge
La nueva revolución Industrial: Inteligencia Artificial & IoT EdgePlain Concepts
 
DotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
DotNet 2019 | Sherry List - Azure Cognitive Services with Native ScriptDotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
DotNet 2019 | Sherry List - Azure Cognitive Services with Native ScriptPlain Concepts
 
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...Plain Concepts
 
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...Plain Concepts
 
El camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - IntroductionEl camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - IntroductionPlain Concepts
 
El camino a las Cloud Native Apps - Azure AI
El camino a las Cloud Native Apps - Azure AIEl camino a las Cloud Native Apps - Azure AI
El camino a las Cloud Native Apps - Azure AIPlain Concepts
 

Más de Plain Concepts (20)

R y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntosR y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntos
 
Video kills the radio star: e-mail is crap and needed disruption
 Video kills the radio star: e-mail is crap and needed disruption Video kills the radio star: e-mail is crap and needed disruption
Video kills the radio star: e-mail is crap and needed disruption
 
Cómo redefinir tu organización con IA
Cómo redefinir tu organización con IACómo redefinir tu organización con IA
Cómo redefinir tu organización con IA
 
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelines
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelinesDx29: assisting genetic disease diagnosis with physician-focused AI pipelines
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelines
 
¿Qué es real? Cuando la IA intenta engañar al ojo humano
¿Qué es real? Cuando la IA intenta engañar al ojo humano¿Qué es real? Cuando la IA intenta engañar al ojo humano
¿Qué es real? Cuando la IA intenta engañar al ojo humano
 
Inteligencia artificial para detectar el cáncer de mama
Inteligencia artificial para  detectar el cáncer de mamaInteligencia artificial para  detectar el cáncer de mama
Inteligencia artificial para detectar el cáncer de mama
 
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
 
Cognitive Services en acción
Cognitive Services en acciónCognitive Services en acción
Cognitive Services en acción
 
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
 
What if AI was your daughter?
What if AI was your daughter?What if AI was your daughter?
What if AI was your daughter?
 
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
 
Revolucionando la experiencia de cliente con Big Data e IA
Revolucionando la experiencia de cliente con Big Data e IARevolucionando la experiencia de cliente con Big Data e IA
Revolucionando la experiencia de cliente con Big Data e IA
 
IA Score en InfoJobs
IA Score en InfoJobsIA Score en InfoJobs
IA Score en InfoJobs
 
Recuperación de información para solicitantes de empleo
Recuperación de información para solicitantes de empleoRecuperación de información para solicitantes de empleo
Recuperación de información para solicitantes de empleo
 
La nueva revolución Industrial: Inteligencia Artificial & IoT Edge
La nueva revolución Industrial: Inteligencia Artificial & IoT EdgeLa nueva revolución Industrial: Inteligencia Artificial & IoT Edge
La nueva revolución Industrial: Inteligencia Artificial & IoT Edge
 
DotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
DotNet 2019 | Sherry List - Azure Cognitive Services with Native ScriptDotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
DotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
 
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
 
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
 
El camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - IntroductionEl camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - Introduction
 
El camino a las Cloud Native Apps - Azure AI
El camino a las Cloud Native Apps - Azure AIEl camino a las Cloud Native Apps - Azure AI
El camino a las Cloud Native Apps - Azure AI
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 

Último (19)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 

Security in MVC Core by Hugo Biarge

  • 3. SOFTWARE DEVELOPMENT ENGINEER Hugo Biarge #NETCore2017 3 @hbiarge hbiarge@plainconcepts.com
  • 6. Middlewares de autenticación #NETCore2017 6 Coordinación AuthenticationManager • Coordina los diferentes middlewares de autenticación configurados • Accesible a través de nuevo HttpContext Atentos a AutomaticChallenge • Debe haber uno configurado, pero sólo uno!
  • 8. Middlewares habituales #NETCore2017 8 Cookies • El más habitual para aplicaciones web tradicionales Proveedores sociales • Twitter, Facebook, Microsoft Id, … OpenId.Connect • Autenticación + autorización delegada JWT • Apis Http
  • 9. Cookies con usuarios locales #NETCore2017 9 Proveedores sociales opcionales Asp.Net Identity • Integrado en las plantillas • Separa funcionalidad de persistencia (fácilmente adaptable a esquemas legacy) Funcionalidades avanzadas • Confirmación de cuenta • Autenticación de doble factor • External providers (por ejemplo, proveedores sociales)
  • 11. Cookies con usuarios externos #NETCore2017 11 Azure Active Directory • Combinación de varios middlewares • OpenId.Connect recomendado si el proveedor lo soporta • Cookies para persistir claims externos en cookie local Todavía no tenemos soporte para WSFederation • Prevista para Asp.Net Core 2.0 (2T 2017)
  • 13. Tokens para Apis Http #NETCore2017 13 Con usuarios locales o externos JWT Middleware • Necesitamos un proveedor de identidad (STS, IdP, OP) • Azure Active Directory para usuarios externos • Identity Server 4 para usuarios locales Diferentes flujos según el tipo de aplicación
  • 14. Convivencia cookies y tokens #NETCore2017 14 En el mismo proyecto web ActiveAuthenticationSchemes • AutomaticAuthenticate debe ser false en todos los middlewares // In Authorize attribute [Authorize(ActiveAuthenticationSchemes = "Bearer")] // In Startup ConfigureServices options.AddPolicy("WebApi", policy => { policy.AuthenticationSchemes.Add("Bearer"); policy.RequireAuthenticatedUser(); });
  • 15. Autorización basada en políticas #NETCore2017 15 Mecanismo de autorización por defecto Permite clara separación de la lógica de autorización del negocio // In Startup ConfigureServices services.AddAuthorization(options => { options.AddPolicy("RequireAdministration", policy => { policy.RequireRole("Administration"); policy.RequireClaim("Management"); policy.RequireClaim("OneOfMany", "a", "b"); }); }); // Discouraged [Authorize(Roles = "Administrator")] // Better [Authorize(Policy = "Administrator")] // Best [Authorize(Policies.Sales)]
  • 16. Políticas como código #NETCore2017 16 Definimos requerimientos • IAuthorizationRequirement Que son validados por uno o más handlers • AuthorizationHandler<IAuthorizationRequirement>
  • 17. Autorización imperativa #NETCore2017 17 En controladores y/o vistas IAuthorizationService • Puede ser inyectado en cualquier controlador (o servicio) o incluso vistas public async Task<IActionResult> Index() { if (await _authorizationService.AuthorizeAsync(User, Policies.Over21)) { // User is authorized here. } else { return new ChallengeResult(); } }
  • 18. Autorización basada en recursos #NETCore2017 18 AuthorizationHandler<Requirement, Resource> • Añadir el estado de un determinado modelo a la lógica de autorización public class ProductAuthorizationHandler : AuthorizationHandler<OperationAuthorizationRequirement, Product> { protected override Task HandleRequirementAsync( AuthorizationHandlerContext context, OperationAuthorizationRequirement requirement, Product resource) { // Logic to validate requirement } }
  • 21. www.plainconcepts.com MADRID Paseo de la Castellana 163, 10º 28046 Madrid. España T. (+34) 91 5346 836 BILBAO Nervión 3 , 6º 48001 Bilbao. España T. (+34) 94 6008 168 BARCELONA Av. Josep Tarradellas 10, 6º 1ª 08029 Barcelona. España T. (+34) 93 3607 114 SEVILLA Avenida de la innovación s/n Edificio Renta Sevilla, 3º A 41020 Sevilla. España DUBAI Dubai Internet City. Building 1 73030 Dubai. EAU T. (+971) 4 551 6653 LONDON Impact Hub Kings Cross 24B York Way, N1 9AB London. UK SEATTLE 1511, Third Ave Seattle WA 98101. USA T. (+1) 206 708 1285