Resumen: En el presente articulo se encontrara información sobre que es el OAuth 2.
Detalle:
1. Introducción.
OAuth 2 es un marco de autorización que permite que las aplicaciones obtengan acceso (limitado) a cuentas de usuario para ciertos servicios, como Facebook, GitHub, Twitter, Steam, BitBucket, LinkedIn y más. Incluye un servicio que delega la autenticación de usuario a una cuenta administrativa para que el servicio otorgue acceso a aplicaciones de terceros.
OAuth 2 proporciona un flujo de autorización para aplicaciones web, aplicaciones móviles e incluso aplicaciones de escritorio.
2. Roles
- Cliente(Client): Es una aplicación cliente que quiere acceder a una cuenta de usuario en un servicio determinado. Para que esto funcione, debe obtener la autorización del usuario, y esta autorización debe verificarse (a través de la API del servicio).
- Dueño del recurso(Resource Owner): Es un usuario que autoriza la aplicación para que pueda acceder a su cuenta. El acceso está limitado a los «ámbitos» otorgados por el usuario durante la autorización. Servidor de recursos y autorizaciones.
- Servidor de recursos(Resource Server):Es un servidor que almacena cuentas de usuario
- Servidor de autorización(Authorization Server): Es un servidor que autentica a los usuarios y emite tokens de acceso a las aplicaciones cliente.
3.Flujos
De esta manera trabaja el OAuth
- Las aplicaciones cliente solicitan autorización para acceder a los recursos del usuario en un servicio determinado.
- Si el usuario autoriza esta solicitud, la aplicación recibe la autorización.
- La aplicación cliente solicita un token de acceso al servidor de autorizaciones, demostrando que es un cliente válido y los permisos otorgados previamente.
- Si el servicio verifica correctamente la identidad de la aplicación cliente y la autorización de autorización es válida, el servidor de autorización emite un token de acceso a la aplicación cliente.
- La aplicación cliente puede presentar el token de acceso recibido en el paso anterior y «solicitar recursos» del servidor de recursos.
- Si el token de acceso es válido, el servidor de recursos entrega el recurso a la aplicación.
4.Tipos de clientes
Hay varios tipos de clientes:
Clientes Confidenciales: Son aquellos que son capaces de guardar contraseñas sin revelarlas.
Clientes públicos: Son aquellos clientes que no pueden mantener segura esta contraseña, como aplicaciones JavaScript, Angular, etc. Dependiendo del tipo de cliente, necesitaremos implementar el flujo OAuth2 de manera diferente.
5.Tipos de concesión
Existen diferentes tipos de concesiones, algunas de las más famosas son:
- Código de autorización
- Implícito
- Credenciales de la contraseña del propietario del recurso
- Flujo de código de dispositivo
- Flujo de Credenciales de Cliente
Nota: El uso del OAuth es sumamente importante para nuestras aplicaciones, ya que nos permite tener un mayor control de los usuarios porque nos permite autorizar a los usuarios y como permitirles acceso parcial de una aplicación a otra.
0 comentarios