feat: add tracing
CI / Rust CI (push) Successful in 4m41s

This commit is contained in:
2026-04-25 19:55:58 +02:00
parent 57a3d04625
commit 4596dfe28b
5 changed files with 110 additions and 16 deletions
+2 -3
View File
@@ -10,7 +10,7 @@ pub struct Claims {
pub preferred_username: Option<String>,
pub exp: usize,
pub iss: String,
pub aud: Option<String>,
pub aud: Option<Vec<String>>,
pub realm_access: Option<RealmAccess>,
}
@@ -47,9 +47,8 @@ pub fn validate_token(token: &str, jwks: &Value) -> Result<Claims, String> {
validation.set_issuer(&[ISSUER.as_str()]);
// Optional but recommended:
validation.validate_exp = true;
validation.validate_aud = false; // depends on your Keycloak config
validation.validate_aud = false;
// 5. Decode & verify
let token_data = decode::<Claims>(token, &decoding_key, &validation)
+8 -9
View File
@@ -6,18 +6,15 @@ use crate::middlewares::auth::{
};
pub async fn auth_middleware(mut request: Request, next: Next) -> Result<Response, StatusCode> {
#[cfg(debug_assertions)]
println!("Middleware hit");
tracing::debug!("Middleware hit");
let headers = request.headers();
#[cfg(debug_assertions)]
println!("Headers extracted");
tracing::debug!("Headers extracted");
let auth_header = headers.get("authorization").and_then(|v| v.to_str().ok());
#[cfg(debug_assertions)]
println!("Auth header: {:?}", auth_header);
tracing::debug!("Auth header: {:?}", auth_header);
let auth_header = auth_header.ok_or(StatusCode::UNAUTHORIZED)?;
@@ -29,8 +26,7 @@ pub async fn auth_middleware(mut request: Request, next: Next) -> Result<Respons
match validate_token(token, &jwks) {
Ok(claims) => {
#[cfg(debug_assertions)]
println!("Token valid");
tracing::debug!("Token valid");
request.extensions_mut().insert(claims);
@@ -44,7 +40,10 @@ pub async fn auth_middleware(mut request: Request, next: Next) -> Result<Respons
request.extensions_mut().insert(claims);
Ok(next.run(request).await)
}
Err(_) => Err(StatusCode::UNAUTHORIZED),
Err(e) => {
eprintln!("JWT validation failed: {:?}", e);
Err(StatusCode::UNAUTHORIZED)
}
}
}
}