Estrategia de la aplicación de Android para realizar un seguimiento de una sesión de inicio de sesión

Tengo algún script PHP que inicia sesión y devuelve una matriz JSON con un ID de sesión si el inicio de sesión fue satisfactorio.

En mi aplicación, quiero iniciar sesión en la portada y continuar a través de la aplicación que se está registrando. He creado una clase singleton que contiene un ID de sesión (junto con algunos otros campos) recibidos desde el JSON desde la página PHP. El campo de este objeto singleton "session_id" se verifica dependiendo de lo que haga el usuario.

Si el usuario desea cerrar la sesión, entonces el session_id sólo se establece en null y se desconecta.

También uso la biblioteca HttpURLConnection para POST el nombre de usuario / contraseña al iniciar sesión.

¿Es esto un enfoque bastante decente para manejar esta situación?

Aquí hay algunas cosas que usted debe pensar:

  • Una vez que haya autenticado al usuario y almacenado el session_id localmente, envíe el session_id en el encabezado de cada una de sus solicitudes http. De esta forma, no enviarás las credenciales con cada solicitud, sino con el identificador de la sesión. Y si algo sucede en el lado del servidor a la sesión, la transacción no será permitida.
  • Cuando cierre la sesión, no elimine simplemente el session_id en el lado de su aplicación (cliente). Enviar un cierre de sesión en el servidor, así para que la sesión se puede matar lado del servidor.
  • Si la sesión se cancela en el lado del servidor, querrá hacer 1 de 2 cosas A) pedir al usuario que vuelva a iniciar sesión. B) Utilice las credenciales de la tienda para volver a iniciar sesión, cree una nueva sesión id y guárdela de nuevo en su singleton.

Esto garantizará un poco más de seguridad y funcionalidad que simplemente borrar la identificación de la sesión en su lado de la aplicación.

Esta estrategia probablemente funcionará. En una aplicación en la que trabajé, almacené los datos de retorno de inicio de sesión en las preferencias de android compartidas. Si el usuario ha cerrado la sesión, he borrado las preferencias. Esto permitió que los usuarios permanezcan conectados, incluso si cerraron la aplicación y regresaron más tarde. Tenía un token de autenticación que comprobé si el inicio de sesión del usuario seguía siendo válido.

¿Cómo planea manejar los inicios de sesión persistentes? ¿Caduca el ID de sesión? Es posible que desee pensar en estas situaciones de lo contrario, una vez que un usuario está conectado, se registrarán en forma permanente o siempre y cuando la aplicación esté abierta.

  • Retrofit sigue olvidando mis cookies :( Android
  • ¿Cómo puedo salir con AndroidAccountManager?
  • Mantener sesión de cookie en Android
  • Sesión agotada y cierre automático de sesión de la aplicación después de pocas horas en android
  • Cómo resolver Session 'app': error?
  • Implementar reintento Cuando la lógica
  • Cómo utilizar la sesión para trabajar entre php webservices y android
  • Publicar en pared FB Utilizar SDK 3.0
  • Gestión de sesiones de Android
  • Autorización para Android de Facebook - no puede iniciar sesión cuando se instala la aplicación oficial de Facebook
  • ¿Cómo puedo administrar la sesión en el inicio / cierre de sesión de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.