pub type BasicAuthVerifyFn = Arc<dyn Fn(&str, &str) -> bool + Sync + Send>;Expand description
Basic HTTP authentication middleware configuration.
BasicAuth provides flexible configuration for HTTP Basic authentication using either
static user credentials, dynamic verification functions, or both. The middleware
validates credentials from the Authorization header and can inject authenticated
user objects into request extensions for downstream handlers.
§Type Parameters
U- User object type returned by verification functionsF- Verification function type that takes username/password and returnsOption<U>
§Examples
use tako::middleware::basic_auth::BasicAuth;
use std::collections::HashMap;
// Simple static authentication
let auth = BasicAuth::<(), _>::single("admin", "secret");
// Multiple static users
let multi = BasicAuth::<(), _>::multiple([
("user1", "pass1"),
("user2", "pass2"),
]);
// Custom verification with user data
#[derive(Clone)]
struct UserInfo { id: u32, role: String }
let custom = BasicAuth::with_verify(|user, pass| {
// Verify against database, LDAP, etc.
if user == "admin" && pass == "secret" {
Some(UserInfo { id: 1, role: "admin".to_string() })
} else {
None
}
});Custom verification closure for BasicAuth.
Aliased Type§
pub struct BasicAuthVerifyFn { /* private fields */ }