ver uris tienes sesion servicio redirección permiso para integrar inicio google cuenta configuración con clientes cliente claves autorizados autenticar autenticacion oauth

uris - ¿Por qué es necesario intercambiar un token de solicitud OAuth 1.0 autorizado por un token de acceso?



oauth2 google (1)

Joe

Con OAuth 1.0, es importante tener en cuenta qué partes están pasando "de servidor a servidor" y qué partes involucran al navegador ("agente de usuario"). El "punto" de OAuth, si lo desea, es obtener un token de acceso del lado del servidor y un secreto para el servidor back-end del consumidor, sin que el secreto pase a través del navegador.

Con esto en mente: cuando un usuario autoriza un token de solicitud, la "devolución de llamada" ocurre a través del agente de usuario, a través de la redirección de HTTP. En otras palabras, cualquier información (es decir, un código verificador y el token de solicitud pero NO el token SECRET de solicitud ) en la devolución de llamada es "vista" por el navegador. Por esta razón, un token de acceso (y secreto) no pueden ser parámetros del paso de devolución de llamada: estos deben comunicarse directamente de servidor a servidor, no a través del navegador.

Me pregunto cuáles son las razones para que OAuth 1.0 requiera un viaje de ida y vuelta al proveedor de datos para intercambiar un token de solicitud autorizado por un token de acceso.

Mi comprensión del flujo de trabajo OAuth 1.0 es:

  1. El sitio que solicita (consumidor) obtiene un token de solicitud del sitio del proveedor de datos (proveedor de servicios).

  2. El sitio que solicita solicita al sitio del proveedor de datos que autentique al usuario, pasando una devolución de llamada.

  3. Una vez que el usuario ha autenticado y autorizado el sitio que lo solicita, se lo devuelve al sitio que lo solicita (consumidor) a través de la devolución de llamada que devuelve el token de solicitud ahora autorizado y un código de verificación.

  4. El sitio solicitante intercambia el token de solicitud por un token de acceso.

  5. El sitio solicitante utiliza el token de acceso para obtener datos del sitio del proveedor de datos.

Suponiendo que lo entendí bien, ¿por qué la devolución de llamada no podía proporcionar el token de acceso al sitio que lo solicita directamente en el paso 3, eliminando el paso 4? ¿Por qué es necesaria la solicitud para intercambiar el token de solicitud por el token de acceso? ¿Existe únicamente para los consumidores que requieren que los usuarios ingresen el código de verificación manualmente, pensando que sería más corto y más simple que el token de acceso?