¿Qué es OAuth?, por sus siglas en ingles: Open authorization o en español autorización abierta, es un estándar abierto que permite a cualquiera de los usuarios dar permiso a otras páginas web o app tengan acceso a su información.
Sin embargo, vamos a explicar con un ejemplo más sencillo qué significa todo esto.
Ejemplo de cómo funciona OAuth: El inquilino y el edificio
Supongamos que tienes un departamento en un edificio. Resulta que necesitas un trabajo de mantenimiento, pero el día que vas a ir, tú estás fuera de la ciudad.
Sería fácil decirle al de mantenimiento que entre al departamento y trabajara pero ¿Cómo podemos asegurar que es seguro que entre esa persona?
Es aquí donde comenzamos con ciertos pasos. Cuando llega el personal de mantenimiento a la recepción del edificio pasan ciertas instrucciones:
¿Cómo funciona OAuth?
Siguiendo nuestro ejemplo de un edificio, vamos a analizar cómo OAuth mantiene nuestra información segura de una manera sencilla.
- Autorización del usuario: El de recepción nos marca para comprobar si estamos esperando al trabajador.
- Obtención de credenciales: La persona de recepción debe verificar primero que la EMPRESA es de confianza, por lo que les pide que se registren, obteniendo así una credencial que les da la autorización de trabajar en el edificio.
- Obtención de código único: Ahora se debe verificar el trabajador que está en recepción, así el edificio le da una clave única al trabajador y el trabajador se la debe dar a la empresa.
- Validación de código único: Una vez que la empresa tenga el código que le dieron a su trabajador, lo que tiene que hacer es marcar la recepción y dar el código único junto a su credencial como empresa.
- Obtención de código de acceso: Si el código único y el código de credencial de la empresa es correcto y todo coincide, la recepción le da un código de acceso a la empresa.
- Utilización de código de acceso (Access Token): De nuevo la empresa debe hablar con su trabajador y le deben otorgar el código de acceso para que finalmente pueda entrar al edificio.
Este flujo es el mismo que utiliza OAuth, solo que cambiemos algunos términos:
La App para interactuar con el servicio debe estar registrada, piden la autorización al usuario, a la app le va a llegar el código de confirmación para finalmente la app pueda obtener su Access Token.
Temas avanzados sobre OAuth
El objetivo de esta entrada era de explicar de manera general y sencilla sobre OAuth, por lo que daremos terminada esta entrada, sin embargo, estos links te pueden servir para profundizar más en el tema:
Usar OAuth para acceder a las API de Google:
https://developers.google.com/identity/protocols/oauth2?hl=es-419
Diferencia entre OAuth 1 y OAuth 2:
https://stackoverflow.com/questions/4113934/how-is-oauth-2-different-from-oauth-1
Incluso en esta noticias puedes ver un ataque de gusano con el principio de OAuth:
0 comentarios