mirror of
https://github.com/TECHNOFAB11/jwt-authorizer.git
synced 2025-12-11 23:50:07 +01:00
JWT authorization layer for Axum.
My OIDC endpoint is not at the root and I couldn't use `discover_jwks` because it would strip the path of the issuer. Before: ``` issuer: 'https://example.com/myissuer/' result: 'https://example.com/.well-known/openid-configuration' ``` After: ``` issuer: 'https://example.com/myissuer/' result: 'https://example.com/myissuer/.well-known/openid-configuration' ``` I checked, and having the discovery url not at the root seems to be supported by the standard: https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationRequest |
||
|---|---|---|
| .github/workflows | ||
| config | ||
| demo-server | ||
| jwt-authorizer | ||
| .editorconfig | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE | ||
| README.md | ||
| rustfmt.toml | ||
jwt-authorizer
JWT authorizer Layer for Axum.
Features
- JWT token verification (Bearer)
- Algoritms: ECDSA, RSA, EdDSA, HMAC
- JWKS endpoint support
- Configurable refresh
- OpenId Connect Discovery
- Validation
- exp, nbf, iss, aud
- Claims extraction
- Claims checker
- Tracing support (error logging)
Usage
See documentation of the jwt-authorizer module or the demo-server example.
Development
Minimum supported Rust version is 1.65.
Contributing
Contributions are wellcome!
License
MIT