Expand description
§USSO-RS
Universal Single Sign-On (SSO) client for Rust microservices.
Authenticate users, validate JWTs, check authorization scopes, and manage sessions against the USSO identity platform.
§Quick Start
use usso::core::Usso;
let usso = Usso::new(None, Some("https://sso.usso.io/website/jwks.json".into()), None);
let user = usso.user_data_from_token("eyJ...");§Feature flags
| Flag | Default | Description |
|---|---|---|
axum | disabled | Enables [integrations::axum] — FromRequestParts extractors for axum |
§Modules
| Module | Description |
|---|---|
core | JWT decoding, Usso and UssoAuth auth orchestrators |
config | AuthConfig, HeaderConfig, APIHeaderConfig configuration types |
jwks | JWKS fetching (sync/async) with global caching |
authorization | Scope-based RBAC engine (includes owner_authorization, broadest_scope_filter, get_common_scopes) |
integrations | Framework integrations (axum behind the axum feature) |
client | Full API client with session management (sync + async) |
session | Lightweight session wrapper |
schemas | Data types: UserData, Jwk (RSA + EC), Jwks, UserResponse |
exceptions | Error types |
utils | Agent JWT generation and base64↔UUID utilities |
Modules§
- authorization
- Scope-based authorization (RBAC) engine.
- client
- Full-featured API clients for interacting with the USSO backend.
- config
- Configuration types for JWT and API key extraction.
- core
- Core JWT decoding and authentication orchestration.
- exceptions
- Error types for the USSO client.
- integrations
- Framework integrations for web frameworks.
- jwks
- JWKS (JSON Web Key Set) fetching and caching.
- schemas
- Data types used throughout the crate.
- session
- Lightweight session wrappers for basic USSO API access.
- utils
- Utility modules for agent JWT generation and base64↔UUID conversion.