Skip to main content

BasicAuthVerifyFn

Type Alias BasicAuthVerifyFn 

Source
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 functions
  • F - Verification function type that takes username/password and returns Option<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 */ }