SlideShare una empresa de Scribd logo
Introducción al Protocolo OAuth 2.0
Securizando Servicios Web
Ejemplos prácticos de uso
Álvaro Alonso
2
3
OAuth 2.0
4
Agenda
¡  Introducción al protocolo
¡  Roles
¡  Arquitectura OAuth 2.0
¡  Grant-types
¡  Hello OAuth
¡  Google Accounts
¡  FIWARE Account
¡  Securizando backends
5
Introducción al protocolo
¡  Permitir a las aplicaciones el acceso a recursos protegidos
¡  Sin compartir credenciales
¡  Las aplicaciones utilizan access tokens
¡  Creadas por los proveedores Oauth
¡  Permiten el acceso a los recursos
¡  Especificación diseñada para el uso con HTTP
¡  Especificación
¡  http://oauth.net/2/
¡  http://tools.ietf.org/html/rfc6749
6
Introducción al protocolo
¡  Resource Owner
¡  Entidad capaz de permitir el acceso a los recursos protegidos
¡  e.g. usuario final
¡  Resource Server
¡  Servidor que aloja los recursos protegidos
¡  Client
¡  Aplicación que solicita los recursos protegidos en nombre del
Resource Owner
¡  Authorization Server
¡  El servidor que provee access tokens al cliente
Roles
7
Arquitectura OAuth 2.0 Authorization Code Grant
8
Client
myservice.com
Resource Owner
Auth Server
Resource owner
Arquitectura OAuth 2.0 Implicit Grant
9
Client
myservice.com
Resource Owner
Auth Server
Resource owner
Arquitectura OAuth 2.0
Resource Owner Password
Credentials Grant
10
Client
myservice.com
Resource Owner
Auth Server
Resource owner
Arquitectura OAuth 2.0 Client Credentials Grant
11
Client
myservice.com
Resource Owner
Auth Server
Hello OAuth
¡  Documentación Google Developers
¡  https://developers.google.com/identity/protocols/OAuth2
¡  Librerías OAuth 2.0
¡  http://oauth.net/2/
¡  Ejemplo básico Node.js
¡  https://github.com/aalonsog/oauth2-master
¡  Google OAuth 2.0 Playground
¡  https://developers.google.com/oauthplayground/
Google Accounts
12
Hello OAuth Quién es quién
13
Hello OAuth Web server applications
14
Hello OAuth Web server applications
15
Authorization Code Grant
Hello OAuth Installed applications
16
Hello OAuth Installed applications
17
Authorization Code Grant
Hello OAuth Client-side (JavaScript) applications
18
Hello OAuth Client-side (JavaScript) applications
19
Implicit Grant
Hello OAuth
1.  Tener una cuenta en Google Accounts
o  Si usas Gmail ya tienes una!
2.  Crear un nuevo proyecto en Developers Console
o  https://console.developers.google.com/project
3.  Obtener credenciales de OAuth 2.0
o  Dependiendo del tipo de Grant Type
o  Configurar pantalla de autorización
4.  Configurar nuestra librería de OAuth 2.0
Pasos
20
Hello OAuth Demo
21
Pero…
22
Client
myservice.com
Resource Owner
Auth Server
Resource owner
¡  Open initiative to create a technologic ecosystem
¡  APIs for smart applications
¡  Public and royalty-free
¡  Open source reference
¡  FIWARE Lab
¡  Non-commercial sandbox for experimentation
¡  Open data published by cities
¡  Distributed among several regions
¡  FIWARE Ops
¡  Set of tools for deployment and operation
¡  UPM takes part in four Chapters
¡  ‪Sustainability Support Tools‬
¡  Security
¡  Cloud Hosting
¡  Applications/Services and Data Delivery
23
24
25
Account
FIWARE Account Login
26
Signin with
FIWARE Account Generic Enablers
27
FIWARE Account Otros backends
28
Introducción al Protocolo OAuth 2.0
Securizando Servicios Web
Ejemplos prácticos de uso
Álvaro Alonso

Más contenido relacionado

Similar a Introducción al Protocolo OAuth 2.0

OAuth and OpenID
OAuth and OpenIDOAuth and OpenID
OAuth and OpenID
Albert Lozano Ciller
 
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIs
GFI Informática
 
Single Sign On Salesforce Developer Group
Single Sign On Salesforce Developer GroupSingle Sign On Salesforce Developer Group
Single Sign On Salesforce Developer Group
Juan Pedro Catalan
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Adrian Alonso Vega
 
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Javier García Antón
 
Borghello Open Id
Borghello Open IdBorghello Open Id
Borghello Open Id
Cristian Borghello
 
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
CloudAppi
 
Filtradocontenidowebcongnulinuxysquid 110414191512-phpapp02
Filtradocontenidowebcongnulinuxysquid 110414191512-phpapp02Filtradocontenidowebcongnulinuxysquid 110414191512-phpapp02
Filtradocontenidowebcongnulinuxysquid 110414191512-phpapp02
YAK2067
 
Implement Identity Server with .NET
Implement Identity Server with .NETImplement Identity Server with .NET
Implement Identity Server with .NET
RicardoJosuePerezAlt1
 
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
Hugo Biarge
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenVidu
Micael Gallego
 
Cifrado de flujos de vídeo en HTML5
Cifrado de flujos de vídeo en HTML5Cifrado de flujos de vídeo en HTML5
Cifrado de flujos de vídeo en HTML5
Manuel Mancera
 
Certificados digitales
Certificados digitalesCertificados digitales
Certificados digitales
Tensor
 
Atix30
Atix30Atix30
Filtrado der contenido web con GNU/Linux y Squid
Filtrado der contenido web con GNU/Linux y SquidFiltrado der contenido web con GNU/Linux y Squid
Filtrado der contenido web con GNU/Linux y Squid
Jorge Medina
 
Hack like a pro with custom VPS - Najava Negra 2019
Hack like a pro with custom VPS - Najava Negra 2019Hack like a pro with custom VPS - Najava Negra 2019
Hack like a pro with custom VPS - Najava Negra 2019
Alejandro Quesada
 
Consumo de web service con volley (api rest)
Consumo de web service con volley (api rest)Consumo de web service con volley (api rest)
Consumo de web service con volley (api rest)
Diego Vasco
 
Identidad en la Red y portabilidad de datos personales
Identidad en la Red y portabilidad de datos personalesIdentidad en la Red y portabilidad de datos personales
Identidad en la Red y portabilidad de datos personales
sgua
 
Portales y portlets web
Portales y portlets webPortales y portlets web
Portales y portlets web
Jossimar de Leon
 

Similar a Introducción al Protocolo OAuth 2.0 (20)

OAuth and OpenID
OAuth and OpenIDOAuth and OpenID
OAuth and OpenID
 
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIs
 
Single Sign On Salesforce Developer Group
Single Sign On Salesforce Developer GroupSingle Sign On Salesforce Developer Group
Single Sign On Salesforce Developer Group
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos Deportivos
 
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
 
Borghello Open Id
Borghello Open IdBorghello Open Id
Borghello Open Id
 
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
 
Filtradocontenidowebcongnulinuxysquid 110414191512-phpapp02
Filtradocontenidowebcongnulinuxysquid 110414191512-phpapp02Filtradocontenidowebcongnulinuxysquid 110414191512-phpapp02
Filtradocontenidowebcongnulinuxysquid 110414191512-phpapp02
 
Implement Identity Server with .NET
Implement Identity Server with .NETImplement Identity Server with .NET
Implement Identity Server with .NET
 
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
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenVidu
 
Cifrado de flujos de vídeo en HTML5
Cifrado de flujos de vídeo en HTML5Cifrado de flujos de vídeo en HTML5
Cifrado de flujos de vídeo en HTML5
 
Certificados digitales
Certificados digitalesCertificados digitales
Certificados digitales
 
Atix30
Atix30Atix30
Atix30
 
Filtrado der contenido web con GNU/Linux y Squid
Filtrado der contenido web con GNU/Linux y SquidFiltrado der contenido web con GNU/Linux y Squid
Filtrado der contenido web con GNU/Linux y Squid
 
Hack like a pro with custom VPS - Najava Negra 2019
Hack like a pro with custom VPS - Najava Negra 2019Hack like a pro with custom VPS - Najava Negra 2019
Hack like a pro with custom VPS - Najava Negra 2019
 
Consumo de web service con volley (api rest)
Consumo de web service con volley (api rest)Consumo de web service con volley (api rest)
Consumo de web service con volley (api rest)
 
Identidad en la Red y portabilidad de datos personales
Identidad en la Red y portabilidad de datos personalesIdentidad en la Red y portabilidad de datos personales
Identidad en la Red y portabilidad de datos personales
 
Portales y portlets web
Portales y portlets webPortales y portlets web
Portales y portlets web
 

Más de Álvaro Alonso González

Adding identity management and access control to your app
Adding identity management and access control to your appAdding identity management and access control to your app
Adding identity management and access control to your app
Álvaro Alonso González
 
KeyRock and Wilma - Openstack-based Identity Management in FIWARE
KeyRock and Wilma - Openstack-based Identity Management in FIWAREKeyRock and Wilma - Openstack-based Identity Management in FIWARE
KeyRock and Wilma - Openstack-based Identity Management in FIWARE
Álvaro Alonso González
 
Curso AngularJS - 7. temas avanzados
Curso AngularJS - 7. temas avanzadosCurso AngularJS - 7. temas avanzados
Curso AngularJS - 7. temas avanzados
Álvaro Alonso González
 
Curso AngularJS - 6. formularios
Curso AngularJS - 6. formulariosCurso AngularJS - 6. formularios
Curso AngularJS - 6. formularios
Álvaro Alonso González
 
Curso AngularJS - 5. rutas
Curso AngularJS - 5. rutasCurso AngularJS - 5. rutas
Curso AngularJS - 5. rutas
Álvaro Alonso González
 
Curso AngularJS - 4. filtros y servicios
Curso AngularJS - 4. filtros y serviciosCurso AngularJS - 4. filtros y servicios
Curso AngularJS - 4. filtros y servicios
Álvaro Alonso González
 
Curso AngularJS - 3. módulos y controladores
Curso AngularJS - 3. módulos y controladoresCurso AngularJS - 3. módulos y controladores
Curso AngularJS - 3. módulos y controladores
Álvaro Alonso González
 
Curso AngularJS - 1. introducción
Curso AngularJS - 1. introducciónCurso AngularJS - 1. introducción
Curso AngularJS - 1. introducción
Álvaro Alonso González
 
Curso AngularJS - 2. conceptos básicos
Curso AngularJS - 2. conceptos básicosCurso AngularJS - 2. conceptos básicos
Curso AngularJS - 2. conceptos básicos
Álvaro Alonso González
 
Lesson 6 - How to register your sensors in account portal
Lesson 6 - How to register your sensors in account portalLesson 6 - How to register your sensors in account portal
Lesson 6 - How to register your sensors in account portal
Álvaro Alonso González
 
Lesson 5 - Installing Keyrock in your own infrastructure
Lesson 5 - Installing Keyrock in your own infrastructure Lesson 5 - Installing Keyrock in your own infrastructure
Lesson 5 - Installing Keyrock in your own infrastructure
Álvaro Alonso González
 
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
Álvaro Alonso González
 
Keyrock - Lesson 1. Introduction
Keyrock - Lesson 1. IntroductionKeyrock - Lesson 1. Introduction
Keyrock - Lesson 1. Introduction
Álvaro Alonso González
 
Cloud Portal - Lesson 5. Advanced tasks
Cloud Portal - Lesson 5. Advanced tasksCloud Portal - Lesson 5. Advanced tasks
Cloud Portal - Lesson 5. Advanced tasks
Álvaro Alonso González
 
Cloud Portal - Lesson 4. Managing Storage
Cloud Portal - Lesson 4. Managing StorageCloud Portal - Lesson 4. Managing Storage
Cloud Portal - Lesson 4. Managing Storage
Álvaro Alonso González
 
Cloud Portal - Lesson 2. Cloud Portal Overview
Cloud Portal - Lesson 2. Cloud Portal OverviewCloud Portal - Lesson 2. Cloud Portal Overview
Cloud Portal - Lesson 2. Cloud Portal Overview
Álvaro Alonso González
 
Cloud Portal - Lesson 1. Introduction
Cloud Portal - Lesson 1. IntroductionCloud Portal - Lesson 1. Introduction
Cloud Portal - Lesson 1. Introduction
Álvaro Alonso González
 
Cloud Portal - Lesson 3. Launching an Instance
Cloud Portal - Lesson 3. Launching an InstanceCloud Portal - Lesson 3. Launching an Instance
Cloud Portal - Lesson 3. Launching an Instance
Álvaro Alonso González
 
Primeros pasos con Docker
Primeros pasos con DockerPrimeros pasos con Docker
Primeros pasos con Docker
Álvaro Alonso González
 
Adding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationAdding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your Application
Álvaro Alonso González
 

Más de Álvaro Alonso González (20)

Adding identity management and access control to your app
Adding identity management and access control to your appAdding identity management and access control to your app
Adding identity management and access control to your app
 
KeyRock and Wilma - Openstack-based Identity Management in FIWARE
KeyRock and Wilma - Openstack-based Identity Management in FIWAREKeyRock and Wilma - Openstack-based Identity Management in FIWARE
KeyRock and Wilma - Openstack-based Identity Management in FIWARE
 
Curso AngularJS - 7. temas avanzados
Curso AngularJS - 7. temas avanzadosCurso AngularJS - 7. temas avanzados
Curso AngularJS - 7. temas avanzados
 
Curso AngularJS - 6. formularios
Curso AngularJS - 6. formulariosCurso AngularJS - 6. formularios
Curso AngularJS - 6. formularios
 
Curso AngularJS - 5. rutas
Curso AngularJS - 5. rutasCurso AngularJS - 5. rutas
Curso AngularJS - 5. rutas
 
Curso AngularJS - 4. filtros y servicios
Curso AngularJS - 4. filtros y serviciosCurso AngularJS - 4. filtros y servicios
Curso AngularJS - 4. filtros y servicios
 
Curso AngularJS - 3. módulos y controladores
Curso AngularJS - 3. módulos y controladoresCurso AngularJS - 3. módulos y controladores
Curso AngularJS - 3. módulos y controladores
 
Curso AngularJS - 1. introducción
Curso AngularJS - 1. introducciónCurso AngularJS - 1. introducción
Curso AngularJS - 1. introducción
 
Curso AngularJS - 2. conceptos básicos
Curso AngularJS - 2. conceptos básicosCurso AngularJS - 2. conceptos básicos
Curso AngularJS - 2. conceptos básicos
 
Lesson 6 - How to register your sensors in account portal
Lesson 6 - How to register your sensors in account portalLesson 6 - How to register your sensors in account portal
Lesson 6 - How to register your sensors in account portal
 
Lesson 5 - Installing Keyrock in your own infrastructure
Lesson 5 - Installing Keyrock in your own infrastructure Lesson 5 - Installing Keyrock in your own infrastructure
Lesson 5 - Installing Keyrock in your own infrastructure
 
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
 
Keyrock - Lesson 1. Introduction
Keyrock - Lesson 1. IntroductionKeyrock - Lesson 1. Introduction
Keyrock - Lesson 1. Introduction
 
Cloud Portal - Lesson 5. Advanced tasks
Cloud Portal - Lesson 5. Advanced tasksCloud Portal - Lesson 5. Advanced tasks
Cloud Portal - Lesson 5. Advanced tasks
 
Cloud Portal - Lesson 4. Managing Storage
Cloud Portal - Lesson 4. Managing StorageCloud Portal - Lesson 4. Managing Storage
Cloud Portal - Lesson 4. Managing Storage
 
Cloud Portal - Lesson 2. Cloud Portal Overview
Cloud Portal - Lesson 2. Cloud Portal OverviewCloud Portal - Lesson 2. Cloud Portal Overview
Cloud Portal - Lesson 2. Cloud Portal Overview
 
Cloud Portal - Lesson 1. Introduction
Cloud Portal - Lesson 1. IntroductionCloud Portal - Lesson 1. Introduction
Cloud Portal - Lesson 1. Introduction
 
Cloud Portal - Lesson 3. Launching an Instance
Cloud Portal - Lesson 3. Launching an InstanceCloud Portal - Lesson 3. Launching an Instance
Cloud Portal - Lesson 3. Launching an Instance
 
Primeros pasos con Docker
Primeros pasos con DockerPrimeros pasos con Docker
Primeros pasos con Docker
 
Adding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationAdding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your Application
 

Último

PRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptxPRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
MONICADELROCIOMUNZON1
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
MaraManuelaUrribarri
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
GERARDO GONZALEZ
 
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptxGRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
JhonathanBaptista2
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
FernandoRodrigoEscal
 
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDACURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
KruggerCossio1
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
shirllyleytonm
 
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
luliolivera62
 
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdfSemana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
SandyCuenca
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
LuisAngelGuarnizoBet
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
ronnyrocha223
 
diagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingenieríadiagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingeniería
karenperalta62
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
carmenquintana18
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
DanielaLoaeza5
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
AlvaroEduardoConsola1
 
tintura-de-fibras-celulc3b3sicas-con-colorantes-reactivos-ii (1).pdf
tintura-de-fibras-celulc3b3sicas-con-colorantes-reactivos-ii (1).pdftintura-de-fibras-celulc3b3sicas-con-colorantes-reactivos-ii (1).pdf
tintura-de-fibras-celulc3b3sicas-con-colorantes-reactivos-ii (1).pdf
MishelBautista4
 
Informe Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de TacnaInforme Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de Tacna
BrusCiriloPintoApaza
 
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdfEstilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
ElisaLen4
 
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de PlantasDISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
HalmarMiranda
 
Control de Diaphania hyalinata en campo.pptx
Control de Diaphania hyalinata en campo.pptxControl de Diaphania hyalinata en campo.pptx
Control de Diaphania hyalinata en campo.pptx
alexanderlara1198
 

Último (20)

PRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptxPRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
 
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptxGRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
 
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDACURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
 
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
 
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdfSemana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
 
diagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingenieríadiagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingeniería
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
 
tintura-de-fibras-celulc3b3sicas-con-colorantes-reactivos-ii (1).pdf
tintura-de-fibras-celulc3b3sicas-con-colorantes-reactivos-ii (1).pdftintura-de-fibras-celulc3b3sicas-con-colorantes-reactivos-ii (1).pdf
tintura-de-fibras-celulc3b3sicas-con-colorantes-reactivos-ii (1).pdf
 
Informe Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de TacnaInforme Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de Tacna
 
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdfEstilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
 
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de PlantasDISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
 
Control de Diaphania hyalinata en campo.pptx
Control de Diaphania hyalinata en campo.pptxControl de Diaphania hyalinata en campo.pptx
Control de Diaphania hyalinata en campo.pptx
 

Introducción al Protocolo OAuth 2.0

  • 1. Introducción al Protocolo OAuth 2.0 Securizando Servicios Web Ejemplos prácticos de uso Álvaro Alonso
  • 2. 2
  • 3. 3
  • 5. Agenda ¡  Introducción al protocolo ¡  Roles ¡  Arquitectura OAuth 2.0 ¡  Grant-types ¡  Hello OAuth ¡  Google Accounts ¡  FIWARE Account ¡  Securizando backends 5
  • 6. Introducción al protocolo ¡  Permitir a las aplicaciones el acceso a recursos protegidos ¡  Sin compartir credenciales ¡  Las aplicaciones utilizan access tokens ¡  Creadas por los proveedores Oauth ¡  Permiten el acceso a los recursos ¡  Especificación diseñada para el uso con HTTP ¡  Especificación ¡  http://oauth.net/2/ ¡  http://tools.ietf.org/html/rfc6749 6
  • 7. Introducción al protocolo ¡  Resource Owner ¡  Entidad capaz de permitir el acceso a los recursos protegidos ¡  e.g. usuario final ¡  Resource Server ¡  Servidor que aloja los recursos protegidos ¡  Client ¡  Aplicación que solicita los recursos protegidos en nombre del Resource Owner ¡  Authorization Server ¡  El servidor que provee access tokens al cliente Roles 7
  • 8. Arquitectura OAuth 2.0 Authorization Code Grant 8 Client myservice.com Resource Owner Auth Server Resource owner
  • 9. Arquitectura OAuth 2.0 Implicit Grant 9 Client myservice.com Resource Owner Auth Server Resource owner
  • 10. Arquitectura OAuth 2.0 Resource Owner Password Credentials Grant 10 Client myservice.com Resource Owner Auth Server Resource owner
  • 11. Arquitectura OAuth 2.0 Client Credentials Grant 11 Client myservice.com Resource Owner Auth Server
  • 12. Hello OAuth ¡  Documentación Google Developers ¡  https://developers.google.com/identity/protocols/OAuth2 ¡  Librerías OAuth 2.0 ¡  http://oauth.net/2/ ¡  Ejemplo básico Node.js ¡  https://github.com/aalonsog/oauth2-master ¡  Google OAuth 2.0 Playground ¡  https://developers.google.com/oauthplayground/ Google Accounts 12
  • 13. Hello OAuth Quién es quién 13
  • 14. Hello OAuth Web server applications 14
  • 15. Hello OAuth Web server applications 15 Authorization Code Grant
  • 16. Hello OAuth Installed applications 16
  • 17. Hello OAuth Installed applications 17 Authorization Code Grant
  • 18. Hello OAuth Client-side (JavaScript) applications 18
  • 19. Hello OAuth Client-side (JavaScript) applications 19 Implicit Grant
  • 20. Hello OAuth 1.  Tener una cuenta en Google Accounts o  Si usas Gmail ya tienes una! 2.  Crear un nuevo proyecto en Developers Console o  https://console.developers.google.com/project 3.  Obtener credenciales de OAuth 2.0 o  Dependiendo del tipo de Grant Type o  Configurar pantalla de autorización 4.  Configurar nuestra librería de OAuth 2.0 Pasos 20
  • 23. ¡  Open initiative to create a technologic ecosystem ¡  APIs for smart applications ¡  Public and royalty-free ¡  Open source reference ¡  FIWARE Lab ¡  Non-commercial sandbox for experimentation ¡  Open data published by cities ¡  Distributed among several regions ¡  FIWARE Ops ¡  Set of tools for deployment and operation ¡  UPM takes part in four Chapters ¡  ‪Sustainability Support Tools‬ ¡  Security ¡  Cloud Hosting ¡  Applications/Services and Data Delivery 23
  • 24. 24
  • 27. FIWARE Account Generic Enablers 27
  • 28. FIWARE Account Otros backends 28
  • 29. Introducción al Protocolo OAuth 2.0 Securizando Servicios Web Ejemplos prácticos de uso Álvaro Alonso