Utilizar `SharedPreferences` para almacenar el token de autenticación
Utilizo el mecanismo basado auténtico del símbolo en mi servidor. Cuando el usuario inicia sesión a través de la aplicación Android, el servidor devuelve el token que debe enviarse con cada solicitud posterior. Necesito almacenar ese valor en los dispositivos. Dado que token es una cadena simple, pensé que usaría SharedPreferences
para mantener ese valor. Cuando la aplicación se inicia dentro de MyApplication extends Application
I consulta SharedPreferences
para este token y mantenerlo dentro de MyApplication
como un estado global para que cada actividad podría acceder a él cuando envía solicitud al servidor.
¿Es viable este enfoque? Si no, ¿cuáles son los inconvenientes críticos que tiene? Y si es una mala idea, ¿cuál es el enfoque alternativo?
PD. Esta no es una pregunta subjetiva – no estoy pidiendo the best
enfoque, estoy validando mis suposiciones.
Es bastante seguro. Los usuarios no tendrán acceso a SharedPreferences
menos que hayan arraigado sus dispositivos. Si te preocupa mucho la seguridad, podrías cifrar el token antes de almacenarlo dentro de SharedPreferences
.
Es una opción válida, si no desea utilizar una database
o escribir el token en un archivo. No hay inconvenientes que se me ocurran
Tiene un fallo si el dispositivo está enraizado. El usuario puede ver el token de SharedPreferences desde su dispositivo si el dispositivo está enraizado. Le sugiero que almacene los datos en la base de datos / SQLite utilizando Sugar aquí para una mejor aproximación a su servidor.