Quentin Gliech
61a69f5af4
Upgrade chrono and replace deprecated methods usage
2024-03-18 17:26:40 +01:00
Quentin Gliech
a0f5f3c642
Enable clippy lints on a workspace level
...
This enables a lot more lints than before in some crates, so this fixed a lot of warnings as well.
2023-12-05 17:20:42 +01:00
Jonas Platte
520357e78b
jose: Reduce stack size of JsonWebSignatureHeader
...
… by putting the optional jwk field behind a box.
The overall size will be one pointer larger when the field is Some(_),
but more than 300 bytes small when it is None.
2023-11-03 13:37:54 +01:00
Quentin Gliech
17e28f56c1
Upgrade Rust to 1.72.0
...
Fixes new clippy errors and upgrade other tools
2023-08-28 18:05:56 +02:00
Jonas Platte
70e6489f17
Replace serde_with's base64 encoding / decoding with a custom wrapper ( #1526 )
...
Co-authored-by: Quentin Gliech <quenting@element.io >
2023-08-24 17:40:25 +02:00
Quentin Gliech
4f8b87fbfe
Apply cargo fmt
following changes in nightly rustfmt
...
rustfmt now formats `let … else { … }` expressions
2023-07-03 14:50:59 +02:00
Quentin Gliech
1993f4cfca
Bump Rust dependencies
2023-05-25 18:15:44 +02:00
Quentin Gliech
c6f31d0102
Bump Rust dependencies
2023-03-14 10:47:35 +01:00
Quentin Gliech
792d3c793b
Convert many match/if expressions to let-else
2023-02-01 10:37:04 +01:00
Quentin Gliech
6bda071e3f
Bump all Rust dependencies to latest version ( #828 )
2023-01-27 14:23:59 +00:00
Quentin Gliech
ca112d45e1
ci: Update clippy to 1.66 and fix new warnings
2022-12-16 18:16:18 +01:00
Quentin Gliech
68b477cae1
Apply suggestions from code review
...
Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com >
2022-12-01 14:34:19 +01:00
Quentin Gliech
0ca4366f75
Use associated error type in claims validator instead of anyhow.
2022-12-01 14:34:19 +01:00
Kévin Commaille
f71f68c926
Add OneOrMany contains claim validator
2022-12-01 11:28:07 +01:00
Kévin Commaille
a2a3b3954e
Add equality claim validator
2022-12-01 11:28:07 +01:00
Kévin Commaille
5cff55c099
Export NoKeyWorked error type
2022-11-21 16:12:35 +01:00
Quentin Gliech
9c0ece7512
Do not embed the templates and static files in the binary
2022-11-18 22:37:55 +01:00
Quentin Gliech
00909133d6
Fix clippy warning
2022-11-03 15:19:49 +01:00
Quentin Gliech
44d09b68e7
Remove usages of Utc::now() in time claims
2022-11-02 18:59:00 +01:00
Quentin Gliech
559181c2c3
Pass the rng and clock around
2022-11-02 18:59:00 +01:00
Quentin Gliech
e63a21b9f9
Be consistent when constructing signers/verifier from JWK and from the keystore
2022-10-18 10:33:06 +02:00
Quentin Gliech
c2a198b821
Fix RSA JWT signature and add snapshot tests for JWT signature
2022-10-18 10:33:06 +02:00
Kévin Commaille
80d317f23c
Add variants for unknown values on mas-iana types
...
Remove the Copy derive and mark enums as non-exhaustive.
2022-09-28 13:43:39 +02:00
Quentin Gliech
348912b3fb
Bump Crypto crates
2022-09-27 18:27:52 +02:00
Kévin Commaille
19721959f8
Export list of supported algorithms from mas-jose
2022-09-16 11:48:06 +02:00
Kévin Commaille
2e8f233ac5
Fix intra-doc broken link in mas-jose
2022-09-16 11:45:53 +02:00
Kévin Commaille
67b3b0e370
Add TokenHash validator to hash claim definitions
2022-09-06 16:35:36 +02:00
Kévin Commaille
0452ac10e6
Move claim hash token function to mas-jose crate
...
Change the hash function according to the signature algorithm,
according to the OpendID Connect spec.
2022-09-06 14:15:05 +02:00
Kévin Commaille
b15b2d0c21
Allow to split JWT into parts
2022-09-06 11:22:08 +02:00
Quentin Gliech
1f0e273ac3
JWT response wrapper
...
Helps replying with a JWT to a request, with a
`Content-Type: application/jwt` header
2022-09-02 15:37:46 +02:00
Quentin Gliech
b9e46dfc55
Some cleanups
2022-09-02 15:37:46 +02:00
Quentin Gliech
97ed342ca0
Use a published version of RSA again
2022-09-02 15:37:46 +02:00
Quentin Gliech
a70032c8e1
Split the asymmetric and symmetric keys enums
2022-09-02 15:37:46 +02:00
Quentin Gliech
dc56358184
Remove unnecessary dependencies from mas-jose
2022-09-02 15:37:46 +02:00
Quentin Gliech
e1d50b818e
Add a dedicated keystore crate
2022-09-02 15:37:46 +02:00
Quentin Gliech
768c48234a
Remove unnecessary dependencies
2022-09-02 15:37:46 +02:00
Quentin Gliech
2c400d4cc1
Get rid of legacy JWKS store
2022-09-02 15:37:46 +02:00
Quentin Gliech
84c793dae0
Reorganise algorithms under the jwa
module
2022-09-02 15:37:46 +02:00
Quentin Gliech
945719a5a1
JWK signer
2022-09-02 15:37:46 +02:00
Quentin Gliech
dd51c4a51b
Private to public JWKS conversion
2022-09-02 15:37:46 +02:00
Quentin Gliech
0b6e4cdece
Fix EC key conversion & constraints
2022-09-02 15:37:46 +02:00
Quentin Gliech
7ea61ca257
cargo fmt
2022-09-02 15:37:46 +02:00
Quentin Gliech
29f1b134ae
Make the JWK generic over the parameters
2022-09-02 15:37:46 +02:00
Quentin Gliech
6636cdcf49
Prepare the private JWK
2022-09-02 15:37:46 +02:00
Quentin Gliech
956556b0ff
Sign all the things
2022-09-02 15:37:46 +02:00
Quentin Gliech
ca125a14c5
WIP: better JOSE
2022-09-02 15:37:46 +02:00
Quentin Gliech
c1ed726dc8
Enable the clippy::str_to_string lint
2022-08-08 10:06:20 +02:00
Quentin Gliech
5c14611b96
Simple dynamic client registration
2022-04-19 12:23:19 +02:00
Quentin Gliech
0f7484beee
Axum migration: /oauth2/introspection
2022-04-06 17:35:29 +02:00
Quentin Gliech
ed49624c3a
Axum migration: WIP client authentication
2022-04-06 17:35:29 +02:00