Vladislav Manchev
62b75a8c72
Fix tonic test
2023-11-11 14:42:19 +01:00
Vladislav Manchev
77949d6a3a
Fix tests
2023-11-11 14:42:19 +01:00
Vladislav Manchev
a7d2830dd1
- Update jsonwebtoken to latest version
...
- Update key algorithm handling when initializing key data
2023-11-11 14:42:19 +01:00
cduvray
4a29bdfbc6
test: test tokens without with and without audiences
...
- prepares for jsonwebtoken update
2023-11-07 07:34:05 +01:00
cduvray
c5f73d43d4
test: generate token with and witout aud
2023-11-06 23:14:12 +01:00
cduvray
d3ccceef2c
feat(claims): make RegisteredClaims serializable ( fixes #38 )
2023-11-06 23:14:12 +01:00
cduvray
6897633c7f
chore: release 0.12.0
2023-10-14 13:55:34 +02:00
cduvray
4cabc9777d
test: add a test of from_jwks_text
2023-10-12 07:45:32 +02:00
Sjoerd Simons
ef8ac07271
Add support for reading keys from a static JWKS
...
Allow creating authorizer from JWKS files similar to other static
certificates.
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2023-10-08 08:51:09 +02:00
cduvray
6e19f31c77
refactor: ClaimCheckerFn (simplification)
2023-09-30 16:10:29 +02:00
cduvray
b42aab8d31
feat: claim checker accepts closures
...
chore: remove Sync (not needed)
chore: simplify
2023-09-30 16:10:29 +02:00
cduvray
5284ff72aa
refactor: JwtAuthorizer -> AuthorizerBuilder
...
- renaming
- type JwtAuthorizer for backward compatibility
2023-09-18 08:30:14 +02:00
cduvray
4a3077fa3a
refactor: extract JwtAuthorizer in builder.rs
...
- JwtAuthorizer is in fact a builder, it may be renamed in future
2023-09-10 09:01:51 +02:00
cduvray
850bab9a0a
refactor: internal renaming (simplifications)
...
- AsyncAuthorizationLayer -> AuthorizationLayer
- AsyncAuthorizationService -> AuthorizationService
- AsyncAuthorizer (trait) -> Authorize
2023-09-10 09:00:56 +02:00
cduvray
310444007d
chore: release 0.11.0
2023-09-06 07:32:58 +02:00
cduvray
6adce03c17
feat: implement into_layer for Arc<...>
2023-09-05 07:43:25 +02:00
cduvray
6f2ca786c0
fix: ci test (pinned: 1.68)
...
- minimal rust version 1.68 (wiremock issue)
2023-09-04 18:59:44 +02:00
cduvray
c27f38138a
fix: clippy warnings
2023-09-04 08:52:15 +02:00
cduvray
0738ec13ea
chore: deps update
2023-08-25 08:08:33 +02:00
cduvray
cf6e3270b2
doc: multiple authorizers
2023-08-23 08:16:55 +02:00
cduvray
cc7969db08
chore: merge 'upstream/main' into multiple-authorizers2
2023-08-22 07:51:43 +02:00
cduvray
940acb17a1
feat: optional claim extraction ( fixes #12 )
...
- error 401 rather than INTERNAL_SERVER_ERROR, when no claims exist (no layer in front of the handler)
- do not log error
- tests
2023-08-22 07:43:30 +02:00
cduvray
a8ea0288cd
tests: (jwt_auth_to_layer) more information in case of falure
2023-08-20 08:04:30 +02:00
cduvray
20f7eff01e
refactor: AsyncAuthorizer::authorize, map - > filter_map
2023-08-19 14:21:11 +02:00
cduvray
e815d35a55
refactor: JwtAuthorizer::IntoLayer -> Authorizer::IntoLayer
...
- better error management (avoids composite errors when transforming multiple builder into layer)
2023-08-18 07:48:53 +02:00
cduvray
3d5367da88
fix: tonic/clippy errors
2023-08-14 08:04:53 +02:00
cduvray
efa378b3bf
feat: implement IntoLayer for slices (IntoIter)
2023-08-14 08:04:53 +02:00
cduvray
36bc0fca7d
doc: multi authorizer
2023-08-14 08:04:53 +02:00
cduvray
50c2ecac38
refactor: simplification ToAuthorizationLayer -> IntoLayer
2023-08-14 08:02:56 +02:00
cduvray
0fbdc0df84
test: add multiple authorizer tests
2023-08-14 08:02:56 +02:00
cduvray
603c042ee3
refactor: move jwt_source to Authorizer
...
allows multiple sorces with multiple authorizers
2023-08-14 08:02:56 +02:00
cduvray
55c4f7cc16
chore: clippy
2023-08-14 08:02:56 +02:00
cduvray
d7d945c075
feat: ToAuthorizationLayer
2023-08-14 08:02:56 +02:00
cduvray
57fbc6e399
feat: multiple auths per AsyncAuthorizationService
2023-08-14 08:02:56 +02:00
cduvray
ae1a29ed10
chore: release 0.10.1
2023-07-11 08:36:44 +02:00
cduvray
a869c25538
refactor: NumericDate.inner replaced by From<NumericDate>
...
- "inner" should be inner and not public, I think From trait implementation looks nicer
- tests added
2023-07-10 09:00:05 +02:00
cduvray
157cdfa396
chore: Merge branch 'NotNorom/main' into main
2023-07-10 08:15:30 +02:00
cduvray
b96c4f323a
fix(claims): impl. of iter for OneOrArray
2023-07-09 16:03:00 +02:00
cduvray
70ce996275
fix(claims): aud can a string or an array of strings
...
fixes #26
2023-07-09 16:03:00 +02:00
Andre Julius
9a4751ef59
Add getter for inner timestamp for NumericDate
2023-06-26 17:17:25 +02:00
Andre Julius
70d1ac3786
Add support for time crate.
2023-06-26 17:17:03 +02:00
cduvray
7f9ad54694
chore: release 0.10.0
2023-05-19 09:14:53 +02:00
cduvray
d3fc883006
feat: claims
2023-05-18 17:13:29 +02:00
cduvray
93325dce96
chore: Merge 'sjoerdsimons/use-ready-inner-service'
...
- containing 2 PRs: #21 , #19
2023-05-17 08:24:54 +02:00
Cyril Plisko
7fc800dbc4
feat: Allow different choices of TLS support ( #6 )
...
Allow same TLS options as underlying `reqwest` crate
2023-05-02 08:16:24 +02:00
Sjoerd Simons
28df895754
feature: tests readyness handling
...
Use a Tower Buffer service/layer to verify the crate handles inner
service readyness correctly as the buffer service will panic when being
called if it's not ready
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2023-04-22 15:03:19 +02:00
Sjoerd Simons
1cec99e522
fix: Ensure the ready inner service is used
...
Cloning the inner service to use in call can mean a not-ready clone gets
used which violates the tower service preconditions. Replace the cloned
service with the ready service to ensure the right copy gets used. See
https://docs.rs/tower/0.4.13/tower/trait.Service.html#be-careful-when-cloning-inner-services
for more details
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2023-04-22 14:56:31 +02:00
Sjoerd Simons
89f795368c
features: Add integration test for tonic support
...
Add an integration tests for tonic in such a way that it avoids having
to create a build.rs with tonic code generation; As such it hand-codes
some parts of the tonic service implementation which is normally
code-generated. This also simply tests successfull and failed auth
without validating other authorization functionality as that's not
different between usage in tonic and axum
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2023-04-22 14:36:41 +02:00
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
cduvray
f45568a044
chore: release 0.9.0
2023-04-14 07:59:38 +02:00