protocolo oauth daniel carmona universidad nur web 2

27
PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Upload: vanesa-moreno-rio

Post on 24-Jan-2016

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

PROTOCOLO OAUTHDANIEL CARMONA UNIVERSIDAD NURWEB 2

Page 2: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Que es Autenticacion

• Llamamos autentificación a la comprobación de la identidad de una persona o de un objeto.

• Es el acto de establecimiento o confirmación de algo como auténtico.

• La autenticación de un objeto puede significar la confirmación de su procedencia, mientras que la autenticación de una persona a menudo consiste en verificar su identidad.

• Que viene a formar parte de uno de los pasos de la AAA.

Page 3: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Que es la AAA?

• La expresión protocolo AAA no se refiere a un protocolo en particular, sino a una familia de protocolos que ofrecen los tres servicios citados.

• La Autenticación es el proceso por el que una entidad prueba su identidad ante otra. Normalmente la primera entidad es un cliente y la segunda un servidor.

• La Autenticación se consigue mediante la presentación de una propuesta de identidad y la demostración de estar en posesión de las credenciales que permiten comprobarla.

Page 4: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Que es la AAA?

• Autorización se refiere a la concesión de privilegios específicos a una entidad o usuario basándose en su identidad (autenticada), los privilegios que solicita, y el estado actual del sistema.

• Las autorizaciones pueden también estar basadas en restricciones, tales como restricciones horarias, sobre la localización de la entidad solicitante, la prohibición de realizar logins múltiples simultáneos del mismo usuario, etc.

Page 5: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Que es la AAA?

• La Contabilización se refiere al seguimiento del consumo de los recursos de red por los usuarios.

• Esta información puede usarse posteriormente para la administración, planificación, facturación, u otros propósitos.

• La contabilización en tiempo real es aquella en la que los datos generados se entregan al mismo tiempo que se produce el consumo de los recursos.

Page 6: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Que es una API?

• Es el conjunto de funciones y procedimientos que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.

• Una interfaz de programación representa la capacidad de comunicación entre componentes de software.

• Una API se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa un método para conseguir abstracción en la programación, generalmente entre los niveles o capas inferiores y los superiores del software.

Page 7: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Que es una API?

• Uno de los principales propósitos de una API consiste en proporcionar un conjunto de funciones de uso general.

• De esta forma, los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde el principio.

Page 8: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Definicion del Protocolo Oauth• OAuth (Open Authorization) es un protocolo abierto, propuesto por

Blaine Cook y Chris Messina, que permite autorización segura de un API de modo estándar y simple para aplicaciones de escritorio, móviles, y web.

• Para desarrolladores de consumidores OAuth es un método de interactuar con datos protegidos y publicarlos.

• Para desarrolladores de proveedores de servicio OAuth proporciona a los usuarios un acceso a sus datos al mismo tiempo que protege las credenciales de su cuenta.

• En otras palabras OAuth permite a un usuario del sitio A compartir su información, en el sitio A (proveedor de servicio) con el sitio B (llamado consumidor) sin compartir toda su identidad

Page 9: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Definicion de Token

• Un token o también llamado componente léxico es una cadena de caracteres que tiene un significado coherente en cierto lenguaje de programación.

• Ejemplos de tokens podrían ser palabras clave (if, else, while, int), identificadores, números, signos.

Page 10: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

La Necesidad De Oauth• La necesidad de un protocolo de autorización como es OAuth suele

ser la confianza, mejor dicho la falta de ella. • El hecho de que yo como usuario no confíe en una aplicación lo

suficiente como para darle mis datos de autenticación pero por otro lado quiera permitir que dicha aplicación realice algo en mi nombre.

• Y no es lo mismo realizar algo en el nombre de alguien, que suplantar a este alguien.

• Esto es precisamente lo que permite OAuth: que alguien realice tareas en nombre de otro, pero sin poder suplantarlo.

Page 11: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

La Necesidad De Oauth

• Al tener la autorización separada de la autenticación, yo puedo en cualquier momento Desautorizar a quien yo haya autorizado previamente.

• Es decir, impedir que siga realizando tareas en mi nombre. Y puedo hacer esto sin necesidad de modificar mi usuario o contraseña.

Page 12: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Caracteristicas del Protocolo OAUTH• Protocolo que permite autorización segura de una API para

aplicaciones web, móviles, etc.• Permite compartir datos privados de un sitio web X, en un sitio web

Y.• Autenticación basada en tokens.

Usuario logueado tiene un token único para acceder a los datos del proveedor.

• Cualquier web puede implementar OAuth.• Standard sencillo y abierto

Page 13: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Estructura del Protocolo Oauth• Consumidor

• Aplicación tratando de acceder a recursos protegidos.

• Poveedor de servicio• Website dónde se encuentran los recursos.

• Usuario• Dueño de los datos protegidos.

• Recursos protegidos• Imágenes, videos, texto,etc.

• Tokens• Strings de letras y números aleatorios únicos. Request Token, Access Token.

Page 14: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Proceso del Protocolo

La aplicación pide permiso(Request Token) al proveedor para acceder a los recursos.

La aplicación redirige al usuario a la página del proveedor para autorizar a la aplicación.

Page 15: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Proceso del Protocolo

El usuario autoriza a la aplicación y el proveedor crea un Access Token ligado al Request Token anterior.

El proveedor redirige al usuario a la aplicación de nuevo.

Page 16: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Proceso del Protocolo

La aplicación pide el Access Token ligado al Request Token anterior y el proveedor se lo envía.

La aplicación deberá guardar el Access Token único.

Page 17: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Proceso del Protocolo

La aplicación puede acceder a los recursos privados cuando quiera mediante el Access Token.

Page 18: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Interpretación de los tokens de OAuth

La autenticación OAuth utiliza dos tipos de tokens:

•El token de solicitud garantiza que el usuario final autoriza a tu aplicación a enviar operaciones del API en nombre del usuario. YouTube también utiliza el token de solicitud para verificar que has registrado tu aplicación en Google.

•El token de acceso permite a tu aplicación ejecutar operaciones del API de datos de YouTube en nombre de un usuario determinado.

Page 19: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Configuración de la autenticación OAuth

Registra tu aplicación web en Google.

•Registramos nuestra aplicación en google para poder acceder a los token de respuesta.

Page 20: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Configuración de la autenticación OAuth

Paso 1: obtención de un token de solicitud

•Para obtener un token de solicitud, enviar una solicitud firmada a

https://www.google.com/accounts/OAuthGetRequestToken. Incluyendo los parámetros siguientes en tu solicitud. Ten en cuenta que el único parámetro opcional es oauth_version; todos los demás parámetros son obligatorios.

Page 21: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Configuración de la autenticación OAuth

Page 22: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Configuración de la autenticación OAuthPaso 2: autorización de un token de solicitud

•Una vez recuperes el token de solicitud, redirige al usuario a https://www.google.com/accounts/OAuthAuthorizeToken. Añadiendo los siguientes parámetros de consulta a la URL:

Page 23: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Configuración de la autenticación OAuth• Paso 3: intercambio de un token de solicitud por un token de

acceso

• Una vez que se autorice el token de solicitud de un usuario, la aplicación puede intercambiar ese token por un token de acceso. El token de acceso te permite enviar solicitudes autenticadas del API de YouTube en nombre de un usuario específico. Los tokens de acceso no caducan, por lo que funcionan de forma eficaz como tokens de sesión de AuthSub.

Page 24: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Configuración de la autenticación OAuth

Page 25: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Pasos Necesarios Para Autenticar A Un Usuario Mediante El Protocolo OAuth

Page 26: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Client Libraries• The following client libraries make implementing OAuth 2.0 even simpler by integrating with popular

frameworks:

• Google APIs Client Library for Java

• Google APIs Client Library for Python

• Google APIs Client Library for .NET

• Google APIs Client Library for Ruby

• Google APIs Client Library for PHP

• Google APIs Client Library for JavaScript

• OAuth 2.0 Library for Google Web Toolkit

• Google Toolbox for Mac OAuth 2.0 Controllers

Link de Descargas:

• https://developers.google.com/accounts/docs/OAuth2?hl=es

Page 27: PROTOCOLO OAUTH DANIEL CARMONA UNIVERSIDAD NUR WEB 2

Muchas Gracias Por Su Atencion!!

FIN