Expand description
Axum integration for xjp-oidc
Provides middleware and extractors for OIDC/OAuth2 authentication in Axum applications.
§Example
use axum::{Router, routing::get};
use xjp_oidc_axum::{OidcLayer, VerifiedClaims};
use xjp_oidc::{JwtVerifier, MokaCacheImpl, ReqwestHttpClient};
use std::sync::Arc;
use std::collections::HashMap;
// Setup your JWT verifier here
let app: Router = Router::new()
.route("/protected", get(handler))
.layer(OidcLayer::new(verifier));
async fn handler(claims: VerifiedClaims) -> String {
format!("Hello, user {}", claims.sub)
}Structs§
- Admin
Claims - Extractor for admin-only endpoints
- Admin
Guard - Admin guard middleware
- Claims
- Verified claims from access token (for Resource Server)
- JwtVerifier
- JWT Verifier for Resource Server
- Oidc
Layer - OIDC authentication layer
- Optional
Claims - Optional extractor wrapper for verified claims
- Verified
Claims - Extractor for verified JWT claims
Enums§
- Auth
Error - Authentication/Authorization errors
Functions§
- require_
admin - Admin guard middleware function