OAuth
Un protocolo para dominarlos a todos




                                Rafa Vázquez
¿Qué queremos?
Compartir información privada entre servicios
El triángulo amoroso
El triángulo amoroso
El triángulo amoroso
¿Y cuándo lo queremos?
         ¡Ahora!
¿Qué necesitamos?



 •   Identificación / autenticación


 •   Autorización
¿Cómo solucionarlo?
    Tokens, tokens everywhere
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.
OAuth, ahora sí




 •   Sencillo, para desarrolladores y usuarios
 •   Abierto
 •   Seguro
 •   Flexible
Proceso de autorización (para usuarios)




                  Ejemplo
Proceso de autorización (desarrolladores)
Implementación
   Lo más importante
Parámetros

 •   oauth_consumer_key
 •   oauth_token
 •   oauth_signature
 •   oauth_signature_method
 •   oauth_nonce
 •   oauth_timestamp
Parámetros

 •   oauth_consumer_key (+ consumer secret)
 •   oauth_token (+ token secret)
 •   oauth_signature
 •   oauth_signature_method
 •   oauth_nonce
 •   oauth_timestamp
Proceso de firma y verificación
Parámetros

 •   oauth_consumer_key
 •   oauth_token
 •   oauth_signature
 •   oauth_signature_method
 •   oauth_nonce
 •   oauth_timestamp
Estado actual




 •   OAuth 1.0 (definitivo)


 •   OAuth 2.0 (desarrollo)
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
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

OAuth