restructure auth mode check

This commit is contained in:
2022-01-18 17:12:32 +02:00
parent 43344566de
commit 2bfba66dab

View File

@ -45,17 +45,16 @@ impl<'r> FromRequest<'r> for Authenticated {
async fn from_request(req: &'r Request<'_>) -> request::Outcome<Self, Self::Error> { async fn from_request(req: &'r Request<'_>) -> request::Outcome<Self, Self::Error> {
// retrieve auth state from managed state (returns `Option<bool>`). // retrieve auth state from managed state (returns `Option<bool>`).
// this value is read from the Rocket.toml config file on start-up // this value is read from the Rocket.toml config file on start-up
let authentication_is_disabled = req let authentication_is_disabled: bool = *req
.rocket() .rocket()
.state::<RocketConfig>() .state::<RocketConfig>()
.map(|config| (&config.disable_auth)); .map(|config| (&config.disable_auth))
.unwrap_or(&false);
match authentication_is_disabled { if authentication_is_disabled {
Some(true) => {
let auth = Authenticated {}; let auth = Authenticated {};
request::Outcome::Success(auth) request::Outcome::Success(auth)
} } else {
_ => {
let authenticated = req let authenticated = req
.cookies() .cookies()
.get_private(AUTH_COOKIE_KEY) .get_private(AUTH_COOKIE_KEY)
@ -63,10 +62,7 @@ impl<'r> FromRequest<'r> for Authenticated {
.map(|_value: String| Authenticated {}); .map(|_value: String| Authenticated {});
match authenticated { match authenticated {
Some(auth) => request::Outcome::Success(auth), Some(auth) => request::Outcome::Success(auth),
None => { None => request::Outcome::Failure((Status::Forbidden, LoginError::UserNotLoggedIn)),
request::Outcome::Failure((Status::Forbidden, LoginError::UserNotLoggedIn))
}
}
} }
} }
} }