Estoy construyendo una aplicación web. Y me preocupan los problemas de seguridad.
En el mundo hay muchas preguntas similares, pero muchas de ellas no tienen una respuesta realmente clara (consejo, sugerencia). Esta es la razón por la que hice esta pregunta.
Tengo página de inicio de sesión con nombre de usuario y contraseña. El usuario los POSTARÁ por HTTPS.
El servidor lo comparará con el nombre de usuario y la contraseña de la base de datos y, si todo está bien, generará access_token
usando un enfoque específico como: sha1(username + password + expiration_date)
, btw, expiration_date
es el tiempo de caducidad de Unix que el token. En consecuencia, expiration_date
y access_token
se escribirán en la base de datos al registro de usuario relacionado, access_token
se enviará a la aplicación JavaScript del cliente por HTTPS sin duda.
Entonces, todas las solicitudes de la aplicación cliente se realizarán mediante HTTPS y access_token se incluirá en cada solicitud de encabezado. El lado del servidor debe autorizar esta solicitud y detectar la ID de usuario que ha enviado esta solicitud. El servidor hará la búsqueda en DB por access_token
y verificará expiration_date
). Después de que se fundará access_token, debe verificar la siguiente condición: current_date <= expiration_date
, si es verdadero, entonces está bien, si es falso, debemos regenerar access_token usando la nueva fecha de caducidad y guardarlas en la base de datos y enviar el nuevo access_token
al cliente?
en caso afirmativo, ¿qué opina sobre el enfoque de seguridad?