Estoy tratando de crear un servidor de autenticación con nodejs y mongodb. Estoy tratando de implementar la autenticación JWT con tokens de acceso y actualización. He leído que debe almacenar el token de acceso en el almacenamiento local o en la memoria y luego pasar el token de actualización con una cookie httponly para protegerse contra los ataques XSS. El problema con la cookie de solo http es que no puede usarla con cosas como aplicaciones móviles. El objetivo de crear una API de descanso es que pueda acceder a los datos desde cualquier lugar.
Entonces, ¿cuál es la mejor manera de manejar los diferentes requisitos de almacenamiento de diferentes dispositivos y mantenerlos seguros? ¿Existe una buena solución para almacenar el token de actualización en el navegador sin una cookie httponly? ¿Debería usar localStorage aunque sea vulnerable a los ataques XSS? ¿O necesito crear diferentes puntos finales para dispositivos móviles y navegadores? ¿Existe un estándar de la industria para esto? Se habla mucho sobre el uso de JWT, pero no parece haber una explicación clara de cómo implementar de forma segura tokens de acceso y actualización para aplicaciones móviles y de navegador por igual.