¿Es seguro usar localstorage para almacenar las variables de la sesión y la contraseña del usuario? [cerrado]

1

Estoy tratando de hacer una aplicación web en Java con un sistema de sesión / inicio de sesión usando com.sun.net.httpserver y hasta donde sé, no tiene un método incorporado para esto. Entonces, tuve la siguiente idea:

  1. El usuario intenta iniciar sesión utilizando un formulario en el método POST.
  2. inicio de sesión exitoso
  3. El servidor genera una cadena de ID de sesión única y la envía al cliente, que crea un Hashmap con KEY = ID de sesión y valor = objeto de usuario.
  4. El cliente almacena el ID de sesión, el nombre de usuario y la contraseña únicos usando HTML 5 localStorage.
  5. En cada solicitud, el cliente envía el SessionID, el nombre de usuario y la contraseña, y el servidor verifica si todo coincide.

Entonces, aquí está mi pregunta: ¿es seguro este método?

    
pregunta zearthur99 18.04.2014 - 18:00
fuente

1 respuesta

1

No, esto no es seguro y ciertamente no lo recomendaría. Sin embargo, existen varios métodos que cumplen con sus requisitos (y más).

Sugiero ver OAuth 2.0 . Los servicios protegidos de OAuth requieren un token de acceso válido en el encabezado Authorization de las solicitudes HTTP. Tal token se debe obtener primero de un proveedor de identidad, generalmente un tercer servidor.

Esto elimina la necesidad de almacenar las credenciales del usuario en la aplicación cliente, el navegador en su caso. Además, los tokens tienen una validez limitada: después de un período de tiempo establecido, se debe presentar un token de acceso nuevo. OAuth tiene un mecanismo para hacerlo, sin tener que volver a solicitar las credenciales del usuario: cuando se solicita un token de acceso, se incluye un token de actualización en la respuesta. El token de actualización tiene una validez más larga y se puede usar para obtener un nuevo token de acceso.

    
respondido por el Steven Volckaert 18.04.2014 - 19:02
fuente

Lea otras preguntas en las etiquetas