Un poco de OAUth2

OAuth2 es un protocolo de autorización que permite a terceros (clientes) acceder a contenidos propiedad de un usuario (servidor de recursos) sin que el servidor tenga que manejar ni conocer las credenciales del usuario.

La falta de confianza es el motivo principal del protocolo de autorización OAuth2: con OAuth2 el usuario puede permitir a la aplicación realizar tareas y obtener datos en su nombre pero sin darle las credenciales de autenticación a dicha aplicación.

En OAuth2 aparecen estos roles:

· Propietario de recursos (Resource Owner). entidad capaz de dar acceso a recursos protegidos. Cuando es una persona nos referiremos a él como usuario final.

· Cliente (Client). Es la aplicación hace peticiones a recursos protegidos en nombre de un propietario de recursos con la autorización del mismo.

· Proveedor (Provider)

Servidor de recursos (Resource Server). Es la entidad que tiene los recursos protegidos. Es capaz de aceptar y responder peticiones usando un Access-Token que debe venir en el header de la petición.

Servidor de autorización (Authorization Server). En muchos casos el servidor de autenticación es el mismo que el Servidor de Recursos. En el caso de que se separen, el servidor de autenticación es el responsable de generar tokens de acceso y validar usuarios y credenciales.

Una vez tenemos claros los intervinientes el flujo (baile) OAuth2 puede pintarse así:

Un ejemplo típico de OAuth2 es el funcionamiento de Facebook, un usuario de Facebook tiene su lista de amigos, comentarios, fotos, publicaciones en el muro,… y podría permitir que una aplicación (juego) pueda acceder a su lista de amigos para enviarle invitaciones (seguro que os suena J) pero no darle su usuario o contraseña.

En este caso los roles serían:

· Usuario (Resource Owner): la persona

· Proveedor (Provider): Facebook

· Cliente (Client): Aplicación

Para ampliar información podéis leeros por completo este artículo de The Game of Code que es de donde he extraído la información.

Deja un comentario