Tengo una aplicación de una sola página (lado del cliente) que interactúa con un conjunto de API de respaldo backend: arquitectura de microservicios, para lograr el SSO, usé el protocolo Oauth2 (implementación de Spring).
Ahora, para evitar los riesgos asociados con el flujo implícito (el recomendado para los clientes JS), usé un servidor proxy donde se reciben todas las solicitudes a las API de back-end.
Hice que el proxy actúe como si fuera el cliente real (con flujo de código de autenticación), ahora el token de acceso no se envía directamente al cliente, en lugar de el sessionId que se asigna al token de acceso en el lado del proxy será enviado al cliente (cookie), y utilizado para futuras solicitudes a la API.
Sé que debo manejar el ataque CSRF (por favor, dame algunas ideas) pero necesito saber cuáles son los posibles riesgos de esta implementación. Creo que tener el token de acceso vinculado a una sesión en lugar de enviarlo directamente al navegador reducirá el área de ataque, corríjame si me equivoco.