JWT authorization layer for Axum.
Find a file
Sjoerd Simons 5f3a08c4c7 feat: Add support for tonic
Tonic and Axum are quite closely related; From a tower perspective the
main difference is in the Error type in the body for their Response.

This refactor the code a little bit and add conversions from AuthError
to a tonic's Response such that the exact same code can be used by both
Axum and tonic services

Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2023-04-22 14:36:41 +02:00
.github/workflows build: ci on push.main 2023-03-02 08:14:36 +01:00
config feat: configurable validation (validation: iss, aud, exp, nbf, leeway) (fixes #1) (#4) 2023-02-26 20:30:55 +01:00
demo-server chore: dependencies update 2023-03-02 08:12:06 +01:00
jwt-authorizer feat: Add support for tonic 2023-04-22 14:36:41 +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 feat: Add support for tonic 2023-04-22 14:36:41 +02:00
Cargo.toml chore: fmt 2023-01-09 07:37:25 +01:00
CHANGELOG.md chore: release 0.9.0 2023-04-14 07:59:38 +02:00
LICENSE Initial commit 2023-01-08 14:50:54 +01:00
README.md feat: Add support for tonic 2023-04-22 14:36:41 +02:00
rustfmt.toml chore: fmt 2023-01-28 08:43:51 +01:00

jwt-authorizer

JWT authorizer Layer for Axum and Tonic.

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
  • 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