Tell the user if the reset password token is expired.
This commit is contained in:
parent
ed979719b5
commit
37f6de7a89
4 changed files with 34 additions and 25 deletions
|
|
@ -574,15 +574,15 @@ pub async fn ask_reset_password_post(
|
|||
)
|
||||
.await
|
||||
{
|
||||
Ok(db::GetTokenResetPassword::PasswordAlreadyReset) => error_response(
|
||||
Ok(db::GetTokenResetPasswordResult::PasswordAlreadyReset) => error_response(
|
||||
AskResetPasswordError::EmailAlreadyReset,
|
||||
&form_data.email,
|
||||
user,
|
||||
),
|
||||
Ok(db::GetTokenResetPassword::EmailUnknown) => {
|
||||
Ok(db::GetTokenResetPasswordResult::EmailUnknown) => {
|
||||
error_response(AskResetPasswordError::EmailUnknown, &form_data.email, user)
|
||||
}
|
||||
Ok(db::GetTokenResetPassword::Ok(token)) => {
|
||||
Ok(db::GetTokenResetPasswordResult::Ok(token)) => {
|
||||
let url = utils::get_url_from_host(&host);
|
||||
match email::send_email(
|
||||
&form_data.email,
|
||||
|
|
@ -663,6 +663,7 @@ pub struct ResetPasswordForm {
|
|||
enum ResetPasswordError {
|
||||
PasswordsNotEqual,
|
||||
InvalidPassword,
|
||||
TokenExpired,
|
||||
DatabaseError,
|
||||
}
|
||||
|
||||
|
|
@ -691,6 +692,7 @@ pub async fn reset_password_post(
|
|||
}
|
||||
.to_string(),
|
||||
message: match error {
|
||||
ResetPasswordError::TokenExpired => "Token expired, try to reset password again",
|
||||
ResetPasswordError::DatabaseError => "Database error",
|
||||
_ => "",
|
||||
}
|
||||
|
|
@ -717,11 +719,14 @@ pub async fn reset_password_post(
|
|||
)
|
||||
.await
|
||||
{
|
||||
Ok(_) => Ok(MessageTemplate {
|
||||
Ok(db::ResetPasswordResult::Ok) => Ok(MessageTemplate {
|
||||
user,
|
||||
message: "Your password has been reset",
|
||||
}
|
||||
.into_response()),
|
||||
Ok(db::ResetPasswordResult::ResetTokenExpired) => {
|
||||
error_response(ResetPasswordError::TokenExpired, &form_data, user)
|
||||
}
|
||||
Err(_) => error_response(ResetPasswordError::DatabaseError, &form_data, user),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue