¿Es una buena práctica implementar el cierre de sesión automático en una aplicación de Android después de cambiar la contraseña a través de la aplicación?
¿Es una buena práctica implementar el cierre de sesión automático en una aplicación de Android después de cambiar la contraseña a través de la aplicación?
TL; DR: Sí.
Aquí solo hay dos casos:
(Improbable) Su aplicación solo funciona localmente, sin utilizar el nombre de usuario y la contraseña en ningún servidor remoto. Si no se desconecta durante años, la aplicación seguirá funcionando como si nada hubiera pasado, ¿cuál es el punto de cambiar la contraseña?
Su aplicación envía credenciales a un servidor remoto para establecer un inicio de sesión. En este caso, no solo debe cerrar la sesión del usuario desde la aplicación de Android, sino que debe cerrar la sesión de cada instancia de la aplicación, en todos los dispositivos en los que se ejecuta la aplicación y también en todos los sitios web. instancias si ese es el caso. Si alguien adivinó la contraseña del usuario y usted no invalida el tipo de token que tiene, podrá seguir usando esas credenciales, incluso si el usuario las cambia.
Así que sí, cierre la sesión en todas partes.
Lo más probable es que no. Si una sesión es lo suficientemente importante como para justificar la terminación de un cambio de contraseña, las sesiones probablemente no deberían durar más de 15-30 minutos para comenzar (o requieren un PIN móvil para desbloquear). De lo contrario, la pantalla de cambio de contraseña debería indicar al usuario que revise las sesiones existentes y permita que el usuario finalice las sesiones que no reconoce. Sería hostil para el usuario forzar a todas las sesiones a terminar todas las sesiones automáticamente sin opción. De todas las medidas de seguridad que podría elegir, esta es la única política que causaría el mayor inconveniente con solo los beneficios de seguridad marginales.
Lea otras preguntas en las etiquetas android password-reset