Validaciones y recuperación de contraseñas
Fecha de actualización: 23/12/2020
Objetivo
Controlar el ingreso de los usuarios a COR y mejorar la seguridad, a través de validaciones a sus contraseñas y cierre de sesión automático para usuarios con contraseñas vencidas.
Especificaciones
Validaciones
Validaciones por default
Por default, COR controla las siguientes validaciones para las contraseñas de usuarios:
- Largo mínimo: 8 caracteres.
- Tiene que tener caracteres alfanuméricos (números y letras).
- Tiene que tener mayúsculas y minúsculas.
- Tiene que tener 1 caracter especial.
Validaciones extra
Las validaciones extra son retrospectivas:
- Número mínimo de contraseñas antes de reutilización: 40. La contraseña no puede ser la misma que alguna de las últimas 40 utilizadas.
- La contraseña actual tiene que haber sido seteada en los últimos 60 días. Esto implica que cada usuario tiene que crear una contraseña nueva cada 60 días.
Log in
Para permitir el log in de un usuario, COR busca:
- Por el id del usuario a qué company_id pertenece.
- Corrobora si este company_id tiene activas las validaciones extra.
Lógica de validaciones default
Si las validaciones extra están inactivas, COR le permite iniciar sesión si la contraseña ingresada coincide con la de ese usuario.
- Consulta el id del usuario, y obtiene el valor del campo email.
- Consulta con el email obtenido, y compara el valor del campo password con la contraseña ingresada.
Lógica de validaciones extra
Si las validaciones extra están activas, COR verifica que coincida con la última contraseña válida del usuario.
- Consulta con el id del usuario, y obtiene el valor del campo email.
- Consulta la clave, con el email obtenido.
- Filtra sólo las contraseñas de ese usuario que no fueron eliminadas.
- Ordena los resultados descendentemente en base a la fecha de creación, para obtener la contraseña más reciente.
- Valida que la última contraseña no esté vencida (creada hace más de 60 días): Calcula fecha actual (fecha de la consulta) - el valor de creación más reciente.
Si es <= 60 días, se compara la contraseña ingresada y se permite el ingreso del usuario si coinciden.
Si el resultado es > 60 días, se le pide al usuario el ingreso de una nueva contraseña, con un mensaje:
Español: “Contraseña vencida. Ingrese una nueva contraseña.”
Inglés: “The password has expired, please choose a new password.”
Portugués: “Senha expirada. Por favor, insira uma nova.”
Se pide el ingreso de la nueva contraseña en 2 campos, no sólo en uno, para garantizar que el usuario la recuerda.
Las validaciones para esta nueva contraseña serán las default + las extra:
- Largo mínimo: 8 caracteres.
- Tiene que tener caracteres alfanuméricos (números y letras).
- Tiene que tener mayúsculas y minúsculas.
- Tiene que tener 1 caracter especial.
- Número mínimo de contraseñas antes de reutilización: 40. La contraseña no puede ser la misma que alguna de las últimas 40 utilizadas.
- Además, se le pide el ingreso de la nueva contraseña en 2 campos, para asegurarnos de que recuerda la contraseña que está eligiendo. Ambos tienen que coincidir.
Log on (registro de nuevo usuario)
Funcionan solamente las validaciones por default, ya que no existen contraseñas previas para ese usuario.
- Largo mínimo: 8 caracteres.
- Tiene que tener caracteres numéricos y alfanuméricos.
- Tiene que tener mayúsculas y minúsculas.
- Tiene que tener 1 caracter especial.
Se pedirá el ingreso de la contraseña 2 veces, al igual que pasa con el reseteo.
Si no se cumplen los requisitos necesarios, figurará un mensaje de error, tanto desde el alta masiva como el alta simple.
Bloqueo de la contraseña
Si el usuario ingresa la contraseña incorrecta en 5 intentos consecutivos, COR le bloquea el ingreso por 15 minutos.
Luego de esos 15’, el usuario puede volver a intentar loggearse.