ezidam: guards: jwt: when user token is invalid, dont outcome a failure, forward to next route

This commit is contained in:
Philippe Loctaux 2023-03-26 23:35:44 +02:00
parent 9687116063
commit d3e88b1f7b

View file

@ -27,9 +27,6 @@ pub enum Error {
UserNotFound, UserNotFound,
GetUser(users::Error), GetUser(users::Error),
RevokeRefreshTokens(refresh_tokens::Error), RevokeRefreshTokens(refresh_tokens::Error),
UsedRefreshToken,
RevokedRefreshToken,
ExpiredRefreshToken,
MarkRefreshTokenUsed(refresh_tokens::Error), MarkRefreshTokenUsed(refresh_tokens::Error),
GetSettings(settings::Error), GetSettings(settings::Error),
ServerUrlNotSet, ServerUrlNotSet,
@ -132,7 +129,7 @@ pub async fn validate_jwt<T>(
// Return jwt claims // Return jwt claims
Ok(claims) Ok(claims)
} }
Err(e) => Err(Outcome::Failure((Status::InternalServerError, e))), Err(_e) => Err(Outcome::Forward(())),
}, },
Err(e) => { Err(e) => {
// Failed to run blocking task // Failed to run blocking task
@ -223,15 +220,15 @@ pub async fn use_refresh_token(
return Outcome::Failure((Status::InternalServerError, Error::CommitTransaction)); return Outcome::Failure((Status::InternalServerError, Error::CommitTransaction));
} }
return Outcome::Failure((Status::InternalServerError, Error::UsedRefreshToken)); return Outcome::Forward(());
} }
if refresh_token.is_revoked() { if refresh_token.is_revoked() {
return Outcome::Failure((Status::InternalServerError, Error::RevokedRefreshToken)); return Outcome::Forward(());
} }
if refresh_token.has_expired() { if refresh_token.has_expired() {
return Outcome::Failure((Status::InternalServerError, Error::ExpiredRefreshToken)); return Outcome::Forward(());
} }
if let Err(e) = refresh_token.use_token(&mut transaction).await { if let Err(e) = refresh_token.use_token(&mut transaction).await {