Crate xjp_oidc_axum

Crate xjp_oidc_axum 

Source
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§

AdminClaims
Extractor for admin-only endpoints
AdminGuard
Admin guard middleware
Claims
Verified claims from access token (for Resource Server)
JwtVerifier
JWT Verifier for Resource Server
OidcLayer
OIDC authentication layer
OptionalClaims
Optional extractor wrapper for verified claims
VerifiedClaims
Extractor for verified JWT claims

Enums§

AuthError
Authentication/Authorization errors

Functions§

require_admin
Admin guard middleware function