| Caso de uso | Req-58 |
|---|---|
| Actores | Arquitectos y usuarios de Administración |
| Tipo | MVP |
| Referencias | ‣ |
| Precondición | El usuario debe estar registrado en el sistema. |
| Postcondición | Cambiar la contraseña de un usuario registrado |
| Descripción | • Un arquitecto se olvida de su contraseña, por lo que al intentar acceder en la pagina de inicio no puede. Le da clic en las letras que dicen “¿Olvidaste tu contraseña?” lo cual lo redirige a un formulario donde le pedirá su correo para enviar una solicitud de cambio de contraseña. |
| • Un administrador se olvida de su contraseña, por lo que al intentar acceder en la pagina de inicio no puede. Le da clic en las letras que dicen “¿Olvidaste tu contraseña?” lo cual lo redirige a un formulario donde le pedirá su correo para enviar una solicitud de cambio de contraseña. En ese correo tendrá un link donde el cambio de contraseña | |
| Resumen | Una cuenta pide recuperar su contraseña en la opción de “¿Olvidaste tu contraseña? dentro de la pagina de inicio. Lo redirige a un formulario donde ingresa su correo el cual mandara una solicitud de cambio de contraseña en caso de que el correo proporcionado este registrado. Una vez de clic en la solicitud lo redirigirá a una pagina dentro del portal de Caeq. Dentro de esa pagina tendrá que ingresar su nueva contraseña y confirmarla. Si ambas coinciden se redirigirá a la pagina de inicio y la contraseña ya habrá sido cambiada. En caso de no coincidir se mantendrá en la pagina avisando que estas no son iguales. |
@startuml
start
:Usuario ingresa en ¿Olvidaste tu contraseña?;
if (Cuenta regristrada) then (Sí)
:Sistema envia correo de recuperación de contraseña;
:Usuario ingresa al enlace del correo y es enviado al portal;
repeat :Sistema pide nueva contraseña y confirma nueva contraseña;
backward :Sistema muestra mensaje de error al usuario
"Las contraseñas no coinciden";
repeat while (¿Las contraseñas coinciden?) is (No) not (si)
:Sistema cambia contraseña de la cuenta;
else (No)
:Sistema muestra mensaje de cuenta no registrada;
endif
stop
@enduml

https://miro.com/app/board/uXjVMwY53vA=/




@startuml
User -> Frontend: Introduce su correo
User -> Frontend: Da click en ¿Olvidaste contraseña?
Frontend -> Backend: POST/forgotpassword
User -> Frontend: Accede a enlace de restablecimiento
Frontend -> Backend: POST/resetpassword
User -> Frontend: Proporciona nueva contraseña
Frontend -> Backend: PATCH/resetpassword
alt successful case
Backend -> Frontend: 200 success
Frontend -> User: "Hemos enviado a tu correo las instrucciones para recuperar tu contraseña."
else Cuenta no Registrada
Backend -> Frontend: 404 fail
Frontend -> User: "No existe un usuario con ese correo."
else Nuevas Contraseñas no coinciden
Backend -> Frontend: 400 fail
Frontend -> User: "Las contraseñas deben coincidir."
else Token Caducado
Backend -> Frontend: 404 fail
Frontend -> User: "Token expirado o correo incorrecto"
else Cuenta no Registrada
Backend -> Frontend: 200 success
Frontend -> User: "La contraseña fue restablecida con éxito"
end
@enduml
