OAuth 2.0 utilizado por Google para la autenticación tiene sentido dado que tanto el servidor como el cliente confían en Google pero no en los demás.
Según tengo entendido, el código de autorización se devuelve al servidor (en el flujo del lado del servidor) como un parámetro de URL. Para evitar problemas de seguridad como el agente confundido, el código de autorización se usa una sola vez y el servidor puede usar el código de autorización para obtener un token de acceso y un token de actualización.
Mi pregunta es ¿por qué no se puede simplificar este proceso si Google (una entidad de confianza) envía directamente el token de acceso al servidor (y no a través del cliente)? Esto eliminaría la necesidad de un código de autorización. Google puede estar seguro de que está enviando el token de acceso al lugar correcto porque el cliente habría registrado el redirect_uri
con Google de antemano. Parece ser un patrón general que estos protocolos hacen que el proveedor de identidad solo envíe cosas al servidor a través del cliente.