Estoy construyendo una API simple con la API de Rails y quiero asegurarme de que estoy en el camino correcto aquí. Estoy usando devise para manejar los inicios de sesión y decidí token_authenticatable
optar por la opción de Devise , que genera una clave de API que debe enviar con cada solicitud.
Estoy emparejando la API con una interfaz de backbone / marionette y generalmente me pregunto cómo debo manejar las sesiones. Mi primer pensamiento fue simplemente almacenar la clave de la API en el almacenamiento local o una cookie, y recuperarla al cargar la página, pero algo sobre almacenar la clave de la API de esa manera me molestó desde el punto de vista de la seguridad. ¿No sería fácil obtener la clave de la API, ya sea buscando en el almacenamiento local / la cookie o olfateando cualquier solicitud que se realice, y usarla para hacerse pasar por ese usuario indefinidamente? Actualmente estoy restableciendo la clave de la API en cada inicio de sesión, pero incluso eso parece frecuente: cada vez que inicias sesión en cualquier dispositivo, eso significa que cerrarás la sesión en todos los demás, lo cual es una especie de molestia. Si pudiera eliminar este reinicio, creo que mejoraría desde el punto de vista de la usabilidad.
Puede que esté totalmente equivocado aquí (y espero estarlo), ¿alguien puede explicar si la autenticación de esta manera es confiable y segura, y si no, cuál sería una buena alternativa? En general, estoy buscando una forma de mantener de forma segura a los usuarios "registrados" en el acceso a la API sin forzar la repetición con frecuencia.