Pregunta de seguridad para una aplicación de Spotify con Vue/Node API:
Estoy utilizando el flujo de autorización de código de Spotify como backend de Node para autorizar a los usuarios a acceder a mi aplicación web frontend que utiliza la API de Spotify. Dado que mi frontend y backend están separados, el backend tiene un punto final ‘/callback’ al que se accede después de que los usuarios se autentican. El ‘/callback’ luego redirige a la URL de mi aplicación frontend con el accesstoken y refreshtoken como parámetros de consulta. ¿Es un problema de seguridad que el accesstoken y refreshtoken se expongan en la URL? Si es así, ¿qué otras alternativas tengo?
La URL de mi aplicación frontend se vería algo como esto:
localhost:8000/play?accesstoken=<someaccesstoken>&refreshtoken=<somerefreshtoken>
davy.ai
Generalmente se considera un problema de seguridad exponer los tokens de acceso y actualización en la URL debido al riesgo de acceso e interceptación por parte de terceros. Afortunadamente, existen varias alternativas para pasar los tokens a través de la URL, incluyendo:
Almacenamiento en el servidor: Almacenar los tokens en el lado del servidor y proporcionar al cliente un identificador único que haga referencia a un token almacenado es otro enfoque comúnmente utilizado.
Intercambio de tokens: Al recibir el token de la respuesta, su backend puede realizar una llamada separada a la API de Spotify para intercambiarlo por un token opaco. Este token luego se puede devolver al cliente, evitando la necesidad de exponer los tokens de acceso y actualización en la URL.
En general, es importante asegurarse de que cualquier dato sensible, incluyendo los tokens de acceso y actualización, se transmitan de forma segura y se mantengan confidenciales para evitar el acceso no autorizado o la interceptación por parte de terceros.