OAuth

22
OAuth Un protocolo para dominarlos a todos Rafa Vázquez

Transcript of OAuth

Page 1: OAuth

OAuthUn protocolo para dominarlos a todos

Rafa Vázquez

Page 2: OAuth

¿Qué queremos?Compartir información privada entre servicios

Page 3: OAuth

El triángulo amoroso

Page 4: OAuth

El triángulo amoroso

Page 5: OAuth

El triángulo amoroso

Page 6: OAuth

¿Y cuándo lo queremos?¡Ahora!

Page 7: OAuth

¿Qué necesitamos?

• Identificación / autenticación

• Autorización

Page 8: OAuth

¿Cómo solucionarlo?Tokens, tokens everywhere

Page 9: OAuth

Tokens de autorización

• Damos permiso al Consumer para acceder a determinados recursos del Provider.

• Token = llave

• Se transmite mediante un protocolo común a ambas partes.

Page 10: OAuth

OAuth, ahora sí

• Sencillo, para desarrolladores y usuarios

• Abierto

• Seguro

• Flexible

Page 11: OAuth

Proceso de autorización (para usuarios)

Ejemplo

Page 12: OAuth

Proceso de autorización (desarrolladores)

Page 13: OAuth
Page 14: OAuth

ImplementaciónLo más importante

Page 15: OAuth

Parámetros

• oauth_consumer_key

• oauth_token

• oauth_signature

• oauth_signature_method

• oauth_nonce

• oauth_timestamp

Page 16: OAuth

Parámetros

• oauth_consumer_key (+ consumer secret)

• oauth_token (+ token secret)

• oauth_signature

• oauth_signature_method

• oauth_nonce

• oauth_timestamp

Page 17: OAuth

Proceso de firma y verificación

Page 18: OAuth
Page 19: OAuth

Parámetros

• oauth_consumer_key

• oauth_token

• oauth_signature

• oauth_signature_method

• oauth_nonce

• oauth_timestamp

Page 20: OAuth

Estado actual

• OAuth 1.0 (definitivo)

• OAuth 2.0 (desarrollo)

Page 21: OAuth

Estado actual

• OAuth 1.0 (definitivo)

• OAuth 2.0 (desarrollo)

“They say the road to hell is paved with good intentions. Well, that’s OAuth 2.0” - Eran Hammer

Page 22: OAuth

Fin

• Guía de OAuth 1.0: kcy.me/e0jf

• OAuth 2.0 y el camino al infierno: kcy.me/e0jc

• Sitio oficial: oauth.net/

• Librerías: https://github.com/search?q=oauth