3. 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.
Cualquierweb puede implementar OAuth.
Standard sencillo y abierto
4. OAUTH
No es necesario usuario y contraseña.
Los parámetros OAuth se transmiten a través de:
Cabecera de autorización HTTP (parámetros oauth).
Body de POST HTTP.
Parámetros en la URL (tokens).
Algoritmos de firma:
Texto plano
HMAC-SHA1
RSA-SHA1
5. 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.
6. OAUTH
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.
7. OAUTH
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.
8. OAUTH
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.
9. OAUTH
La aplicación puede acceder a
los recursos privados cuando
quiera mediante el Access
Token.
11. OPENID
Estándar de identificación digital descentralizado.
En las webs que soporten OpenID, no será
necesario el registro. El usuario sólo tendrá que
hacerse una cuenta en el proveedor de OpenID.
El usuario se identificará con una URI única.
Menos usuarios y passwords
12. OPENID
Funcionamiento
1. El usuario introduce su ID en la web en la que quiere
autenticarse.
2. La web encuentra al proveedor de esa cuenta y
establece una comunicación secreta compartida.
13. OPENID
3. La web redirige al usuario a la página del proveedor.
4. El usuario se loguea si no lo está y autoriza a esa
web.
14. OPENID
5. El proveedor redirige al usuario de nuevo a la web con
una respuesta OpenID.
6. La web verifica la firma y deja entrar al usuario.
16. OAUTH VS. OPENID
Similitudes
Basados en HTTP.
Protocolos abiertos.
Involucran a 3 partes (usuario, consumidor, proveedor)
Diferencias
OpenID comparte identidad y OAuth datos.
Descentralizado vs. Centralizado.
Relación consumidor-proveedor:
No conocidos vs. bien conocidos.