OAuth es un estándar de autorización abierto (no autenticación, OpenID se puede usar para autenticación). Como resultado, OAuth no es un protocolo de autenticación. Un protocolo de delegación, por otro lado, se utiliza para comunicar las opciones de permisos entre las API y las aplicaciones habilitadas para la web. Se usa ampliamente para obtener información de usuario aprobada por el usuario para sitios web, servicios en línea y aplicaciones. Por lo tanto, el usuario otorga a los servicios acceso a la información, pero no es necesario que proporcione esos servicios con sus credenciales de usuario, como contraseñas.
Las aplicaciones que permiten el inicio de sesión en servicios de terceros generalmente solicitan al usuario que se autentique brindando opciones como » Iniciar sesión con Facebook » o » Iniciar sesión con Google «, etc., lo que permite al usuario usar sus credenciales para iniciar sesión con el servicio de terceros. . Como resultado, el servicio proporciona el token de acceso a la aplicación solicitante, lo que demuestra la identidad de la persona que solicita el acceso. Luego, el token se usa para realizar requests a los recursos del usuario final deseado.
En funcionamiento : suponga que una persona se ha registrado previamente en un sitio web o servicio (OAuth solo funciona con HTTPS). Luego, el usuario inicia una función/transacción que requiere acceso a un sitio o servicio diferente. Ocurre lo siguiente (muy simplificado):
- El primer sitio web utiliza OAuth para conectarse al segundo sitio web en nombre del usuario, revelando la identidad confirmada del usuario.
- El segundo sitio crea un token único y un secreto único que son específicos de la transacción y las partes involucradas.
- El primer sitio envía este token y secreto al software cliente del usuario principiante.
- El token de solicitud y el secreto son presentados al proveedor de autorización por el programa del cliente (que puede ser o no el segundo sitio).
- Si el cliente no se ha autenticado previamente con el proveedor de autorización, es posible que se le solicite que lo haga. Después de la autenticación, se solicita al cliente que autorice la transacción de autorización con el segundo sitio web.
- El token de acceso es enviado por el primer sitio web al segundo sitio web como prueba de autenticación en nombre del usuario.
- El segundo sitio web permite que el primer sitio web visite su sitio en nombre del usuario.
OAuth no es el primer mecanismo de autenticación/autorización que actúa de esta manera en nombre del extremo. Usuario En realidad, varios sistemas de autenticación, más notablemente Kerberos, funcionan de manera similar. Lo que hace que OAuth sea único es su capacidad para funcionar en la web y su uso generalizado. Tuvo éxito en términos de tasas de adopción cuando las iniciativas anteriores habían fracasado (por varias razones).
Hay tres componentes en el mecanismo OAuth:
- Proveedor de OAuth: este es el proveedor de OAuth como Google , Facebook , etc.
- Cliente OAuth: Esta es la página web donde compartimos o autenticamos el uso de nuestra información. Por ejemplo, GeeksforGeeks.com
- Propietario: el usuario cuyo inicio de sesión valida el intercambio de información.
Nota: Para «Iniciar sesión/Registrarse con Google» en una aplicación web, se puede habilitar OAuth mediante Google Console.
- El ID de cliente de OAuth 2.0 se puede obtener a través de la consola API de Google.
- Luego, para usar la API, obtenga un token de acceso del servidor de autorización de Google.
- Envía la solicitud a una API junto con el token de acceso.
- Si necesita más tiempo, obtenga un token de actualización.
Publicación traducida automáticamente
Artículo escrito por gittysatyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA