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.
- Sesión de inicio de sesión - Actividades
- Funcionalidad de cierre de sesión en android
- Salir de una sesión de LinkedIn en Android
- ¿La forma preferida de conectar AudioEffect a la mezcla global?
- Cómo hacer la reanudación de sesión SSL en Android
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?
- Disminuir la verbosidad del registro interno de ORMlite o deshabilitarla
- Parámetros incorrectos: BadParametersError: Los parámetros eran incorrectos. Queríamos capacidades requeridas en la cuadrícula de Selenium mientras ejecuta Appium
- Inicio de sesión de Android - autenticador de cuentas vs autenticación manual
- El recuento de sesión se multiplica cuando uso Google Analytics Android SDK v4
- Diseño y desarrollo de Android - Enfoques y mejores prácticas
- Uso de cookies con solicitudes de Retrofit Robospice
- Reemplazo de código de Facebook obsoleto para Android
- Android: Persistencia de la sesión de servidor mediante cookie al realizar llamadas HTTP
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.
- Android obtener la posición del elemento seleccionado en gridview
- Android: Copia de un texto en el portapapeles para API <11