2023-01-13 07:50:11 +01:00
|
|
|
# Changelog
|
|
|
|
|
|
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
|
|
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
|
|
|
|
|
|
## Unreleased
|
|
|
|
|
|
2024-08-26 07:45:25 +02:00
|
|
|
## 0.15.0 (2024-08-26)
|
|
|
|
|
|
|
|
|
|
- tonic support is back
|
|
|
|
|
- CI refactoring
|
|
|
|
|
- MSRV is bumped to 75
|
|
|
|
|
- minor dependencies updates (commit: d87b7ef90912759b0ad608bfcb7b021bb9c14e14)
|
|
|
|
|
|
2024-01-21 09:05:56 +01:00
|
|
|
## 0.14.0 (2024-01-22)
|
|
|
|
|
|
|
|
|
|
- update to axum 0.7
|
|
|
|
|
- tower-http 0.5, header 0.4, http 1.0
|
|
|
|
|
- jsonwebtoken 9.2
|
|
|
|
|
- tonic support removed temporarily (waiting for tonic migration to axum 0.7)
|
|
|
|
|
|
2023-11-20 07:59:45 +01:00
|
|
|
## 0.13.0 (2023-11-20)
|
|
|
|
|
|
|
|
|
|
- added support for custom http client in jwks discovery (fixes #41)
|
|
|
|
|
- `algs` added to configurable validation options
|
|
|
|
|
- missing alg in JWK no longer defaults to RS256 but to all algs of the same alg familly
|
2023-11-15 07:39:12 +01:00
|
|
|
- jsonwebtoken updated (8.3.0 -> 9.1.0)
|
|
|
|
|
- make RegisteredClaims serializable (fixes #38)
|
|
|
|
|
|
2023-10-14 13:38:07 +02:00
|
|
|
## 0.12.0 (2023-10-14)
|
|
|
|
|
|
|
|
|
|
- internal refactoring (no public breaking changes)
|
|
|
|
|
- claim checker allowing closures (#32)
|
|
|
|
|
- jwks from file or text (#37)
|
|
|
|
|
|
2023-09-05 07:53:03 +02:00
|
|
|
## 0.11.0 (2023-09-06)
|
2023-08-14 08:04:53 +02:00
|
|
|
|
|
|
|
|
- support for multiple authorizers
|
2023-08-14 11:26:49 +02:00
|
|
|
- JwtAuthorizer::layer() deprecated in favor of JwtAuthorizer::build() and IntoLayer::into_layer()
|
2023-09-05 07:53:03 +02:00
|
|
|
- better optional claims extraction (commit: 940acb17a1de82788bc72c3657da87609ce741e9)
|
|
|
|
|
- error 401 rather than INTERNAL_SERVER_ERROR, when no claims exist (no authorizer layer)
|
|
|
|
|
- do not log error
|
2023-08-14 08:04:53 +02:00
|
|
|
|
2023-07-11 08:36:44 +02:00
|
|
|
## 0.10.1 (2023-07-11)
|
2023-07-11 07:34:32 +02:00
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
- (RegisteredClaims) audience claim, should be a string o an array of strings
|
2023-07-11 08:44:19 +02:00
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
2023-07-11 07:34:32 +02:00
|
|
|
- (NumericDate) optional feature enables `time` dep as an alternative to `chrono`
|
2023-05-19 09:14:53 +02:00
|
|
|
|
|
|
|
|
## 0.10.0 (2023-05-19)
|
|
|
|
|
|
|
|
|
|
- tonic services support
|
|
|
|
|
- choices of TLS support (corresponding to underlying reqwest crate features)
|
|
|
|
|
- `RegisteredClaims` added (representing RFC7519 registered claims), used as default for `JwtAuthorizer`
|
|
|
|
|
|
2023-04-03 07:46:04 +02:00
|
|
|
## 0.9.0 (2023-04-14)
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
|
|
- Other sources for jwt token are configurable (#10)
|
|
|
|
|
- Cookie
|
|
|
|
|
- AuthorizationHeader (default)
|
|
|
|
|
- Raw PEM file content as an input for JwtAuthorizer (#15)
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
|
|
|
|
- Remove 'static lifetime requirement (#8)
|
|
|
|
|
|
2023-03-16 07:14:50 +01:00
|
|
|
## 0.8.1 (2023-03-16)
|
2023-03-15 08:21:04 +01:00
|
|
|
|
|
|
|
|
No public API changes, no new features.
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
|
|
|
|
- KeyStore, KeySource refactor for better performance and security
|
|
|
|
|
|
2023-03-16 07:14:50 +01:00
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
- Allow non root OIDC issuer (issue #1)
|
|
|
|
|
|
2023-02-27 08:46:15 +01:00
|
|
|
## 0.8.0 (2023-02-28)
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
|
|
- validation configuration (exp, nbf, aud, iss, disable_validation)
|
|
|
|
|
- more integration tests added
|
|
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
- `JwtAuthorizer.from_ec()`, `JwtAuthorizer.from_ed()` imported PEM as DER resulting in failed validations
|
|
|
|
|
|
2023-02-13 08:40:22 +01:00
|
|
|
## 0.7.0 (2023-02-14)
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
2023-02-27 08:46:15 +01:00
|
|
|
- Refresh configuration - simplification, minimal_refresh_interval removed (replaced by refresh_interval in KeyNotFound refresh strategy)
|
2023-02-13 08:40:22 +01:00
|
|
|
|
2023-02-27 08:46:15 +01:00
|
|
|
### Added
|
2023-02-13 08:40:22 +01:00
|
|
|
|
|
|
|
|
- integration tests, unit tests
|
|
|
|
|
|
2023-02-01 22:10:18 +01:00
|
|
|
## 0.6.0 (2023-02-05)
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
|
|
- JwtAuthorizer::from_oidc(issuer_uri) - building from oidc discovery page
|
|
|
|
|
|
2023-02-13 08:40:22 +01:00
|
|
|
### Changed
|
2023-02-01 22:10:18 +01:00
|
|
|
|
|
|
|
|
- JwtAuthorizer::layer() becomes async
|
|
|
|
|
|
|
|
|
|
### Minor Changes
|
|
|
|
|
|
|
|
|
|
- demo-server refactoring
|
|
|
|
|
|
2023-01-27 21:17:44 +01:00
|
|
|
## 0.5.0 - (2023-1-28)
|
|
|
|
|
|
2023-01-23 23:36:29 +01:00
|
|
|
### Changed
|
|
|
|
|
|
|
|
|
|
- JwtAuthorizer creation simplified:
|
|
|
|
|
- JwtAuthorizer::from_* creates an instance, new() is not necessary anymore
|
2023-01-25 08:38:09 +01:00
|
|
|
- with_check() renamed to check()
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
|
|
- jwks store refresh configuration
|
2023-01-23 23:36:29 +01:00
|
|
|
|
2023-01-23 23:10:28 +01:00
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
- claims extractor (JwtClaims) without authorizer should not panic, should send a 500 error
|
|
|
|
|
|
2023-01-21 08:34:11 +01:00
|
|
|
## 0.4.0 - (2023-1-21)
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
|
|
- claims checker (stabilisation, tests, documentation)
|
|
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
- added missing WWW-Authenticate header to errors
|
|
|
|
|
|
|
|
|
|
## 0.3.2 - (2023-1-18)
|
2023-01-18 07:38:00 +01:00
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
- fix: when jwks store endpoint is unavailable response should be an error 500 (not 403)
|
|
|
|
|
|
2023-01-14 09:08:44 +01:00
|
|
|
## 0.3.1 - (2023-1-14)
|
|
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
- fix: panicking when a bearer token is missing in protected request (be6bf9fb)
|
|
|
|
|
|
2023-01-13 07:50:11 +01:00
|
|
|
## 0.3.0 - (2023-1-13)
|
|
|
|
|
|
2023-02-01 22:10:18 +01:00
|
|
|
### Added
|
2023-01-13 07:50:11 +01:00
|
|
|
|
2023-02-01 22:10:18 +01:00
|
|
|
- building the authorizer layer from rsa, ec, ed PEM files and from secret phrase (9bd99b2a)
|
2023-01-13 07:50:11 +01:00
|
|
|
|
|
|
|
|
## 0.2.0 - (2023-1-10)
|
|
|
|
|
|
2023-02-01 22:10:18 +01:00
|
|
|
Initial release
|