SlideShare una empresa de Scribd logo
1 de 12
2020
Netcoreconf
Como autenticar y securizar tu API
REST en .NET Core como un
Avenger
Adrián Díaz Cervera
MVP Office Development
@AdrianDiaz81
#netcoreconf
Sponsors
#netcoreconf
¿Quién soy?
http://blogs.encamina.com/desarrollandosobresharepoint
adiaz@encamina.com
@AdrianDiaz81
#netcoreconf
Agenda
¿Por donde
empezamos?
Autenticación Autorización
Claims Filter
#netcoreconf
Autenticación vs
Autorizacion
• Autenticación => Identifica elementos de
autenticación y crea la instancia de la Claim
principal
• Autorización => En base a la Claim del usuario el
usuario tiene unos permisos para realizar
determinadas acciones
#netcoreconf
Autenticación
• ¡Autenticación siempre es muy difícil!!
• Estableceremos una Autenticación usando JWT
JSON Web Token (abreviado JWT) es un estándar abierto
basado en JSON propuesto por IETF (RFC 7519)
para la creación de tokens de acceso
#netcoreconf
OpenID
• OpenID es un estándar de identificación digital descentralizado, con el que un
usuario puede identificarse en una página web a través de una URL (o un XRI en
la versión actual) y puede ser verificado por cualquier servidor que soporte el
protocolo
Un glosario básico de los términos usados con OpenID:
Usuario final => la persona que quiere acceder con su identidad a un sitio.
Identificador => la URL o XRI elegida por el usuario final como su identificador
OpenID.
Proveedor de identidad =>Un proveedor de servicios que ofrece registro de URL o
XRI OpenID y proveen autenticación OpenID.
Parte confidente => el sitio que quiere verificar la identidad del usuario final.
#netcoreconf
Validación de un token
El parámetro iss debe coincidir con la clave utilizada en la asignación de inicios de sesión (por ejemplo,
login.provider.com).
La firma debe ser válida. Debe poder verificarse mediante una clave pública RSA.
La huella digital del certificado que alberga la clave pública coincide con lo que está configurado en el proveedor
OpenId Connect.
Si el parámetro azp está presente, compruebe este valor comparándolo con la lista de los ID de cliente del proveedor
OpenId Connect.
Si el parámetro azp no está presente, compruebe el parámetro aud comparándolo con la lista de los ID de cliente del
proveedor OpenId Connect.
#netcoreconf
Azure Active Directory
#netcoreconf
MSAL Microsft Authentication Library
• No es necesario usar directamente las bibliotecas de OAuth ni el código en el
protocolo en la aplicación.
• Adquiere tokens en nombre de un usuario o en nombre de una aplicación
(cuando se aplica a la plataforma).
• Mantiene una caché de tokens y actualiza los tokens en nombre del usuario
cuando están por expirar. No es necesario que el usuario controle la expiración de
los tokens.
• Lo ayuda a especificar para qué publico quiere que la aplicación inicie sesión (su
organización, varias organizaciones, cuentas personales, profesionales y
educativas de Microsoft, identidades sociales con Azure AD B2C, usuarios en
nubes soberanas y nacionales).
• Lo ayuda a configurar la aplicación a partir de archivos de configuración.
• Lo ayuda a solucionar problemas de la aplicación mediante la exposición de
excepciones, registros y telemetría que requieren acción.
#netcoreconf
Sponsors
Más información:
info@netcoreconf.com
@Netcoreconf
Visítanos en:
netcoreconf.com

Más contenido relacionado

Similar a Autenticar y securizar API en .NET Core como un Avenger

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
 
Seguridad para aplicaciones web java con json web tokens (jwt) 2020
Seguridad para aplicaciones web java con json web tokens (jwt)  2020Seguridad para aplicaciones web java con json web tokens (jwt)  2020
Seguridad para aplicaciones web java con json web tokens (jwt) 2020Eudris Cabrera
 
Infrestructura PKIx
Infrestructura PKIxInfrestructura PKIx
Infrestructura PKIxjunral
 
APEX Office Hours - Two Factor Authentication
APEX Office Hours - Two Factor AuthenticationAPEX Office Hours - Two Factor Authentication
APEX Office Hours - Two Factor Authenticationjoelorta2
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI Informática
 
La importancia de la seguridad en los json payloads
La importancia de la seguridad en los json payloadsLa importancia de la seguridad en los json payloads
La importancia de la seguridad en los json payloadsVictor Pacajoj
 
Sitios blindados de SharePoint
Sitios blindados de SharePointSitios blindados de SharePoint
Sitios blindados de SharePointwww.encamina.com
 
Infraestructura de clave pública con Software Libre
Infraestructura de clave pública con Software LibreInfraestructura de clave pública con Software Libre
Infraestructura de clave pública con Software LibreToni de la Fuente
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSAmazon Web Services LATAM
 
Autenticación en aplicaciones .Net web y nativas
Autenticación en aplicaciones .Net web y nativasAutenticación en aplicaciones .Net web y nativas
Autenticación en aplicaciones .Net web y nativasHugo Biarge
 
Colombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptxColombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptxLuis Beltran
 
Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1Sara Peralta
 
Mule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuthMule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuthSara Peralta
 
Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1Manuel Antonio
 
Mule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuthMule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuthManuel Antonio
 
Presentación sso con cas
Presentación sso con casPresentación sso con cas
Presentación sso con casEnrique Toledo
 
Asegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWTAsegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWTIgnacio Martín
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSAmazon Web Services LATAM
 

Similar a Autenticar y securizar API en .NET Core como un Avenger (20)

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
 
Seguridad para aplicaciones web java con json web tokens (jwt) 2020
Seguridad para aplicaciones web java con json web tokens (jwt)  2020Seguridad para aplicaciones web java con json web tokens (jwt)  2020
Seguridad para aplicaciones web java con json web tokens (jwt) 2020
 
Infrestructura PKIx
Infrestructura PKIxInfrestructura PKIx
Infrestructura PKIx
 
APEX Office Hours - Two Factor Authentication
APEX Office Hours - Two Factor AuthenticationAPEX Office Hours - Two Factor Authentication
APEX Office Hours - Two Factor Authentication
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIs
 
La importancia de la seguridad en los json payloads
La importancia de la seguridad en los json payloadsLa importancia de la seguridad en los json payloads
La importancia de la seguridad en los json payloads
 
Sitios blindados de SharePoint
Sitios blindados de SharePointSitios blindados de SharePoint
Sitios blindados de SharePoint
 
Infraestructura de clave pública con Software Libre
Infraestructura de clave pública con Software LibreInfraestructura de clave pública con Software Libre
Infraestructura de clave pública con Software Libre
 
Borghello Open Id
Borghello Open IdBorghello Open Id
Borghello Open Id
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWS
 
Autenticación en aplicaciones .Net web y nativas
Autenticación en aplicaciones .Net web y nativasAutenticación en aplicaciones .Net web y nativas
Autenticación en aplicaciones .Net web y nativas
 
05 certificaado digital
05 certificaado digital05 certificaado digital
05 certificaado digital
 
Colombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptxColombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptx
 
Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1
 
Mule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuthMule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuth
 
Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1
 
Mule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuthMule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuth
 
Presentación sso con cas
Presentación sso con casPresentación sso con cas
Presentación sso con cas
 
Asegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWTAsegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWT
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWS
 

Más de Adrian Diaz Cervera

React Hooks ¿Por donde empezar?
React Hooks ¿Por donde empezar?React Hooks ¿Por donde empezar?
React Hooks ¿Por donde empezar?Adrian Diaz Cervera
 
Netcore Galica Como crear Apps multitenant en Azure
Netcore Galica Como crear Apps multitenant en AzureNetcore Galica Como crear Apps multitenant en Azure
Netcore Galica Como crear Apps multitenant en AzureAdrian Diaz Cervera
 
Global Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGameGlobal Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGameAdrian Diaz Cervera
 
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar AzureAzure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar AzureAdrian Diaz Cervera
 
Desarrolla Add-Ins de Office 365 con Angular 2
Desarrolla Add-Ins de Office 365 con Angular 2Desarrolla Add-Ins de Office 365 con Angular 2
Desarrolla Add-Ins de Office 365 con Angular 2Adrian Diaz Cervera
 
Docker para desarrolladores .NET
Docker para desarrolladores .NETDocker para desarrolladores .NET
Docker para desarrolladores .NETAdrian Diaz Cervera
 
Helo10 Da inteligencia a tus Apps con el proyecto Oxford
Helo10 Da inteligencia a tus Apps con el proyecto OxfordHelo10 Da inteligencia a tus Apps con el proyecto Oxford
Helo10 Da inteligencia a tus Apps con el proyecto OxfordAdrian Diaz Cervera
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...Adrian Diaz Cervera
 
Machine learning utilizacion en redes sociales
Machine learning utilizacion en redes socialesMachine learning utilizacion en redes sociales
Machine learning utilizacion en redes socialesAdrian Diaz Cervera
 
Adrian diaz desarrollo multiplataforma en office 365
Adrian diaz desarrollo multiplataforma en office 365Adrian diaz desarrollo multiplataforma en office 365
Adrian diaz desarrollo multiplataforma en office 365Adrian Diaz Cervera
 
Soluciones de movilidad para nuevos entornos empresariales
Soluciones de movilidad para nuevos entornos empresarialesSoluciones de movilidad para nuevos entornos empresariales
Soluciones de movilidad para nuevos entornos empresarialesAdrian Diaz Cervera
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePointAdrian Diaz Cervera
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014Adrian Diaz Cervera
 
Share point y los dispositivos moviles
Share point y los dispositivos movilesShare point y los dispositivos moviles
Share point y los dispositivos movilesAdrian Diaz Cervera
 

Más de Adrian Diaz Cervera (20)

gRPC vs Rest La batalla final
gRPC vs Rest La batalla finalgRPC vs Rest La batalla final
gRPC vs Rest La batalla final
 
React Hooks ¿Por donde empezar?
React Hooks ¿Por donde empezar?React Hooks ¿Por donde empezar?
React Hooks ¿Por donde empezar?
 
Netcore Galica Como crear Apps multitenant en Azure
Netcore Galica Como crear Apps multitenant en AzureNetcore Galica Como crear Apps multitenant en Azure
Netcore Galica Como crear Apps multitenant en Azure
 
Global Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGameGlobal Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGame
 
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar AzureAzure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
 
Dockeriza tu SQL Server
Dockeriza tu SQL ServerDockeriza tu SQL Server
Dockeriza tu SQL Server
 
Desarrolla Add-Ins de Office 365 con Angular 2
Desarrolla Add-Ins de Office 365 con Angular 2Desarrolla Add-Ins de Office 365 con Angular 2
Desarrolla Add-Ins de Office 365 con Angular 2
 
Docker para desarrolladores .NET
Docker para desarrolladores .NETDocker para desarrolladores .NET
Docker para desarrolladores .NET
 
Helo10 Da inteligencia a tus Apps con el proyecto Oxford
Helo10 Da inteligencia a tus Apps con el proyecto OxfordHelo10 Da inteligencia a tus Apps con el proyecto Oxford
Helo10 Da inteligencia a tus Apps con el proyecto Oxford
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
 
Asp vNext Is Comming
Asp vNext Is CommingAsp vNext Is Comming
Asp vNext Is Comming
 
Gapand 2015 machine learning
Gapand 2015 machine learningGapand 2015 machine learning
Gapand 2015 machine learning
 
ALM y Office 365
ALM y Office 365 ALM y Office 365
ALM y Office 365
 
Machine learning utilizacion en redes sociales
Machine learning utilizacion en redes socialesMachine learning utilizacion en redes sociales
Machine learning utilizacion en redes sociales
 
Adrian diaz desarrollo multiplataforma en office 365
Adrian diaz desarrollo multiplataforma en office 365Adrian diaz desarrollo multiplataforma en office 365
Adrian diaz desarrollo multiplataforma en office 365
 
Extender office365
Extender office365 Extender office365
Extender office365
 
Soluciones de movilidad para nuevos entornos empresariales
Soluciones de movilidad para nuevos entornos empresarialesSoluciones de movilidad para nuevos entornos empresariales
Soluciones de movilidad para nuevos entornos empresariales
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014
 
Share point y los dispositivos moviles
Share point y los dispositivos movilesShare point y los dispositivos moviles
Share point y los dispositivos moviles
 

Último

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
 
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
 
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
 
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
 
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
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 
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
 
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
 

Último (16)

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
 
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
 
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
 
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)
 
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
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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
 
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
 
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
 

Autenticar y securizar API en .NET Core como un Avenger

  • 1. 2020 Netcoreconf Como autenticar y securizar tu API REST en .NET Core como un Avenger Adrián Díaz Cervera MVP Office Development @AdrianDiaz81
  • 5. #netcoreconf Autenticación vs Autorizacion • Autenticación => Identifica elementos de autenticación y crea la instancia de la Claim principal • Autorización => En base a la Claim del usuario el usuario tiene unos permisos para realizar determinadas acciones
  • 6. #netcoreconf Autenticación • ¡Autenticación siempre es muy difícil!! • Estableceremos una Autenticación usando JWT JSON Web Token (abreviado JWT) es un estándar abierto basado en JSON propuesto por IETF (RFC 7519) para la creación de tokens de acceso
  • 7. #netcoreconf OpenID • OpenID es un estándar de identificación digital descentralizado, con el que un usuario puede identificarse en una página web a través de una URL (o un XRI en la versión actual) y puede ser verificado por cualquier servidor que soporte el protocolo Un glosario básico de los términos usados con OpenID: Usuario final => la persona que quiere acceder con su identidad a un sitio. Identificador => la URL o XRI elegida por el usuario final como su identificador OpenID. Proveedor de identidad =>Un proveedor de servicios que ofrece registro de URL o XRI OpenID y proveen autenticación OpenID. Parte confidente => el sitio que quiere verificar la identidad del usuario final.
  • 8. #netcoreconf Validación de un token El parámetro iss debe coincidir con la clave utilizada en la asignación de inicios de sesión (por ejemplo, login.provider.com). La firma debe ser válida. Debe poder verificarse mediante una clave pública RSA. La huella digital del certificado que alberga la clave pública coincide con lo que está configurado en el proveedor OpenId Connect. Si el parámetro azp está presente, compruebe este valor comparándolo con la lista de los ID de cliente del proveedor OpenId Connect. Si el parámetro azp no está presente, compruebe el parámetro aud comparándolo con la lista de los ID de cliente del proveedor OpenId Connect.
  • 10. #netcoreconf MSAL Microsft Authentication Library • No es necesario usar directamente las bibliotecas de OAuth ni el código en el protocolo en la aplicación. • Adquiere tokens en nombre de un usuario o en nombre de una aplicación (cuando se aplica a la plataforma). • Mantiene una caché de tokens y actualiza los tokens en nombre del usuario cuando están por expirar. No es necesario que el usuario controle la expiración de los tokens. • Lo ayuda a especificar para qué publico quiere que la aplicación inicie sesión (su organización, varias organizaciones, cuentas personales, profesionales y educativas de Microsoft, identidades sociales con Azure AD B2C, usuarios en nubes soberanas y nacionales). • Lo ayuda a configurar la aplicación a partir de archivos de configuración. • Lo ayuda a solucionar problemas de la aplicación mediante la exposición de excepciones, registros y telemetría que requieren acción.

Notas del editor

  1. Que vamos a ver en la sesión de hoy??? Esta claro que hace en nuestro día a día muchos empezamos a implementar una API, quizás muchos empiecen primero con la implementación de la lógica funcional .. Y empezamos de abajo arriba … pero en esta sesión que vamos a ver .. Vamos a centrarnos solo en la parte de la API que es lo que necesitamos para tener todo lo necesario para hacer una API de la que nos sintamos medianamente orgullosos y como hacerla en .NET Core 3.1
  2. El autenticar siempre es algo que dejamos para el final … aunque para mi casi es lo primero que deberíamos de poner ?? Si hay algo que tiene una seguridad por algo será … muchas veces nos ponemos el simil de la construcción y claro cuando hacemos la casa lo ultimo que debemos de poner es la puerta de entrada … pero eso depende porque si no aseguras tu casa o la obra ya sabes como acaba esta … en lo ajeno no .. Pues con las APIS es igual y si un método tiene que tener autenticación y autorización cuanto antes mejor …