diff --git a/crates/uv-auth/src/credentials.rs b/crates/uv-auth/src/credentials.rs index 7e86715e8cc6..46489be06f8f 100644 --- a/crates/uv-auth/src/credentials.rs +++ b/crates/uv-auth/src/credentials.rs @@ -17,7 +17,7 @@ pub struct Credentials { password: Option, } -#[derive(Clone, Debug, PartialEq, Eq, Ord, PartialOrd, Hash)] +#[derive(Clone, Debug, PartialEq, Eq, Ord, PartialOrd, Hash, Default)] pub(crate) struct Username(Option); impl Username { diff --git a/crates/uv-auth/src/middleware.rs b/crates/uv-auth/src/middleware.rs index 9693b83b8d7c..ec5ce73b07ac 100644 --- a/crates/uv-auth/src/middleware.rs +++ b/crates/uv-auth/src/middleware.rs @@ -160,6 +160,13 @@ impl Middleware for AuthMiddleware { request = credentials.authenticate(request); // Do not insert already-cached credentials None + } else if let Some(credentials) = self + .cache() + .get_url(request.url(), &credentials.to_username()) + { + request = credentials.authenticate(request); + // Do not insert already-cached credentials + None } else if let Some(credentials) = self .fetch_credentials(Some(&credentials), request.url()) .await