|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
|
Herramientas |
#1
|
||||
|
||||
Guardar usuario y contraseña en aplicación android para hacer login
Buenas, estoy haciendo una aplicación que requiere que el usuario inicie sesión para acceder a su perfil.
El caso es que la primera vez introducirá sus datos (usuario y contraseña) y se insertarán en una base de datos remota. Las siguientes veces quiero que cuando entre en la aplicación se inicie sesión automáticamente sin que el usuario tenga que volver a meter su nombre y contraseña. ¿Cuál es la mejor forma de hacer ésto? Estoy barajando la posibilidad de utilizar shared preferences (pero no sé si es muy seguro) o una base de datos SQLlite (aunque tener una base de datos sólo para ésto no sé si es poco eficiente). ¿Cómo se hace normalmente? Un saludo y gracias de antemano
__________________
Aplicaciones y juegos android Superandroide.com
|
|
#2
|
||||
|
||||
Ambas son igual de inseguras si el usuario es root, si no lo es son igual de seguras, porque se almacenan en la parte privada de la app en data/data.
De todas formas no es correcto almacenar el usuario y contraseña en la app, lo correcto es almacenar un Token de Sesión y un Token de Renovación, usar el Token de Sesión mientras dure y cuando caduque usar el de Renovación para solicitar nuevos Tokens. Última edición por kriogeN Día 08/01/15 a las 11:05:21. |
Gracias de parte de: | ||
#3
|
||||
|
||||
Ambas son igual de inseguras si el usuario es root, si no lo es son igual de seguras, porque se almacenan en la parte privada de la app en data/data.
De todas formas no es correcto almacenar el usuario y contraseña en la app, lo correcto es almacenar un Token de Sesión y un Token de Renovación, usar el Token de Sesión mientras dure y cuando caduque usar el de Renovación para solicitar nuevos Tokens. De todas maneras encriptaría la contraseña con MD5 (o el token en este caso). Tengo varias preguntas: 1- El token lo genera el servidor. Puedo hacer un algoritmo en PHP que lo genere aleatoriamente para el usuario y lo devuelva a la app android para que lo guarde en SharedPreferences. ¿Sería una buena solución? 2. También estoy con la autenticación con twitter y facebook. Entonces, ¿el token de sesión es siempre el mismo para un usuario concreto? Es decir, cuando el usuario accede por primera vez inserto ese token en la base de datos remota y en el sharedpreferences para compararlo. Un saludo y gracias ;)
__________________
Aplicaciones y juegos android Superandroide.com
|
#4
|
||||
|
||||
Las API de Twitter y de Facebook tienen autenticacion mediante Oauth2, que se basa en lo que te decia kriogeN:
* Token de renovacion: Se usa para pedir token de sesion una vez caduca el anterior * Token de sesion: Caduca cada X Si vas a hacer la implementacion a nivel de servidor, puedes mirar algun tuto sobre como montarte un servidor con Oauth2 (con nodejs hay varios) Asi podrias incluso utilizar el mismo modelo para los 3
__________________
|
Estás aquí | ||||||
|