He estado leyendo mucho sobre OAuth2 tratando de entenderlo, pero todavía estoy confundido acerca de algo.
Entiendo que el cliente autoriza con el proveedor de OAuth (Google, por ejemplo) y permite que el servidor de recursos tenga acceso a los datos del perfil del usuario. Luego, el cliente puede enviar el token de acceso al servidor de recursos y se le devolverá el recurso.
Pero lo que no parece estar cubierto en ninguna documentación es lo que sucede cuando la aplicación cliente solicita un recurso al servidor de recursos y le pasa el token de acceso. Todo lo que he leído hasta ahora indica que el servidor de recursos solo responde con el recurso solicitado.
Pero eso parece un gran agujero, seguramente el servidor de recursos debe validar de alguna manera el token de acceso, de lo contrario podría falsificar cualquier solicitud anterior y pasar un token viejo, robado, falso o generado aleatoriamente y simplemente lo aceptaría.
¿Alguien puede señalarme una explicación fácil de seguir de OAuth2 porque hasta ahora los que he leído se sienten incompletos?
La validación de tokens generalmente se maneja de 1 a 2 formas.
1) El token se firma criptográficamente utilizando claves previamente compartidas. Esto tiene obvios defectos para su uso en sistemas distribuidos y en proliferación.
2) El servidor de autorización (AS) proporciona un punto final para la validación de token o introspección. Este método se estandarizó en IETF RFC 7662 en octubre de 2015, consulte: https://tools.ietf.org/html/rfc7662
Esta pregunta / respuesta de desbordamiento de pila incluye ejemplos de Google y Github: /programming/12296017/how-to-validate-an-oauth-2-0-access-token-for-a-resource-server
fuente
lees especificaciones sobre cómo validar el token:
https://tools.ietf.org/html/rfc7662
Espero que esto ayude, por favor márquelo como respuesta si responde a su consulta / problema
fuente