JWT authorization layer for Axum.
Find a file
Sjoerd Simons ac444f9286 Make layer generic over Request body type
Nothing in the layer implementation actually depends on the Request's
body type. So generalise over the body type, allowing the service
implementation not longer be tied to axum specifically.
2024-08-21 08:00:25 +02:00
.github/workflows fix: ci test (pinned: 1.68) 2023-09-04 18:59:44 +02:00
config test: add EC384 test keys and tokens 2023-11-19 10:04:03 +01:00
demo-server chore: dependency update 2024-05-27 07:55:37 +02:00
jwt-authorizer Make layer generic over Request body type 2024-08-21 08:00:25 +02:00
.editorconfig refactor: Authorizer::build 2023-02-01 22:09:06 +01:00
.gitignore chore: fmt 2023-01-09 07:37:25 +01:00
Cargo.lock features: Fix tonic support 2024-08-21 07:52:44 +02:00
Cargo.toml fix: clippy warnings 2023-09-04 08:52:15 +02:00
CHANGELOG.md chore: release 0.14.0 2024-01-21 09:05:56 +01:00
LICENSE Initial commit 2023-01-08 14:50:54 +01:00
README.md Revert "chore: remove tonic temporarily (waiting hyperium/tonic/#1595)" 2024-08-20 08:17:10 +02:00
rustfmt.toml chore: fmt 2023-01-28 08:43:51 +01:00

jwt-authorizer

JWT authorizer Layer for Axum.

Build status Crates.io Documentation

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
    • into custom deserializable structs or into RegisteredClaims (default)
  • Claims checker
  • Tracing support (error logging)
  • tonic support

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