//! Axum integration for rok-auth.
//!
//! Enable with the `axum` feature:
//!
//! ```toml
//! rok-auth = { version = "0.1", features = ["axum"] }
//! ```
//!
//! # Overview
//!
//! | Item | Description |
//! |---|---|
//! | [`AuthLayer`] | Tower middleware — injects `Arc<Auth>` into request extensions |
//! | [`Claims`] | `FromRequestParts` extractor — validates Bearer token, rejects with 401 |
//! | [`OptionalClaims`] | Non-failing extractor — `Option<Claims>` |
//! | [`RequireRole`] | Zero-sized role guard — rejects with 401/403 |

pub mod auth_guard;
pub mod ctx;
pub mod error;
pub mod extractor;
pub mod guard;
pub mod layer;
pub mod response;

pub use auth_guard::{Guard, GuardLayer, JwtGuard, JwtUserProvider};
pub use ctx::{Ctx, HasAuth, HasPool};
pub use extractor::OptionalClaims;
pub use guard::{RequireRole, RoleMarker};
pub use layer::AuthLayer;
pub use response::Response;
