aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/auth.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/auth.rs b/src/auth.rs
index b7693a0..81e798f 100644
--- a/src/auth.rs
+++ b/src/auth.rs
@@ -1,21 +1,26 @@
1use std::error::Error; 1use std::error::Error;
2use axum::headers::HeaderValue; 2use axum::headers::HeaderValue;
3use axum::http::StatusCode; 3use axum::http::StatusCode;
4use tracing::error; 4use tracing::{debug, error, trace};
5use crate::auth::AuthError::{MissingSecret, ServerError, WrongSecret}; 5use crate::auth::AuthError::{MissingSecret, ServerError, WrongSecret};
6use crate::config::SETTINGS; 6use crate::config::SETTINGS;
7 7
8pub fn auth(secret: Option<&HeaderValue>) -> Result<bool, AuthError> { 8pub fn auth(secret: Option<&HeaderValue>) -> Result<bool, AuthError> {
9 debug!("auth request with secret {:?}", secret);
9 if let Some(value) = secret { 10 if let Some(value) = secret {
11 trace!("value exists");
10 let key = SETTINGS 12 let key = SETTINGS
11 .get_string("apikey") 13 .get_string("apikey")
12 .map_err(|err| ServerError(Box::new(err)))?; 14 .map_err(|err| ServerError(Box::new(err)))?;
13 if value.to_str().map_err(|err| ServerError(Box::new(err)))? == key.as_str() { 15 if value.to_str().map_err(|err| ServerError(Box::new(err)))? == key.as_str() {
16 debug!("successful auth");
14 Ok(true) 17 Ok(true)
15 } else { 18 } else {
19 debug!("unsuccessful auth (wrong secret)");
16 Err(WrongSecret) 20 Err(WrongSecret)
17 } 21 }
18 } else { 22 } else {
23 debug!("unsuccessful auth (no secret)");
19 Err(MissingSecret) 24 Err(MissingSecret)
20 } 25 }
21} 26}