diff --git a/src/middleware/jwt.rs b/src/middleware/jwt.rs index 8fd1939..95b4781 100644 --- a/src/middleware/jwt.rs +++ b/src/middleware/jwt.rs @@ -47,20 +47,19 @@ impl JwtMiddleware { impl Middleware for JwtMiddleware { fn run(&self, mut req: Request) -> MiddlewareFuture<'_> { - let path = req.uri().path().to_string(); - let public_routes = self.public_routes.clone(); + let is_public_path = self.public_routes.contains(&req.uri().path().to_string()); Box::pin(async move { - if public_routes.contains(&path) { - return MiddlewareResult::Continue(req); - } - match self.validate_request(&req) { Ok(claims) => { req.extensions_mut().insert(claims); MiddlewareResult::Continue(req) } Err(e) => { + if is_public_path { + return MiddlewareResult::Continue(req); + } + error!(target: "auth", "JWT validation failed: {}", e); let res = Responder::unauthorized().expect("Responder failed"); MiddlewareResult::Respond(res)