mod error;
mod middleware;
mod user;
pub use error::AuthError;
pub use middleware::{AuthLayer, AuthService};
pub use user::{AuthenticatedUser, email_from_parts, user_from_parts};
#[derive(Clone, Debug, Default)]
pub struct AuthConfig {
pub enabled: bool,
pub audience: String,
pub domain: String,
}
pub trait TokenValidator: Send + Sync + 'static {
fn validate(
&self,
token: &str,
config: &AuthConfig,
) -> std::pin::Pin<
Box<dyn std::future::Future<Output = Result<AuthenticatedUser, AuthError>> + Send + '_>,
>;
}