Commit Graph

41 Commits

Author SHA1 Message Date
Quentin Gliech
eded025ff4 Fix a few clippy lints, mostly in doc comments 2025-08-18 10:34:28 +02:00
Jason Volk
f5f66c0a42 Fix rogue invalid characters inside doc comments.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-06-30 17:06:58 +00:00
Quentin Gliech
52b0a9b2ba Update license headers to match the actual license 2025-06-12 10:32:16 +02:00
Adis Veletanlic
7890862500 Add client_name to static registrations function and generate new query data 2025-04-16 11:44:58 +02:00
Quentin Gliech
73a4007c18 Always ask for consent, never for reauth
Now that we have deduplicated clients, we're in this weird situation
where authorization grants just… go through.

This is because 4 years ago, I designed it to support prompt=consent and
prompt=none, but that never ended up being used/mentioned in the MSCs.

We also had support for max_age, but that required reauthing, which
doesn't work well with upstream providers.

So this removes support for prompt=consent|none and max_age, and makes
sure we always go through the consent page.

Lots of code deleted, yay!
2025-04-10 19:57:45 +02:00
Quentin Gliech
8fbd75eb7e Deduplicate client registrations by hashing the metadata 2025-03-25 15:00:23 +01:00
Quentin Gliech
56d9c7e63b Upgrade to Rust 1.85 and edition 2024 2025-02-21 16:15:02 +01:00
Quentin Gliech
03838bd909 Remove contacts from the data model 2024-09-20 20:39:04 +02:00
Quentin Gliech
9a946c19e7 Remove (C) 2024-09-10 14:28:55 +02:00
Quentin Gliech
9da19e2af0 License headers change 2024-09-05 13:25:42 +02:00
Quentin Gliech
d06061c14d Save the application_type and the contacts in the OAuth 2.0 clients
This also removes the dedicated "redirect_uris" table and makes it a field of the "oauth2_clients" table
2023-08-28 14:41:49 +02:00
Quentin Gliech
8d522f2056 Apply cargo fmt following changes in nightly rustfmt
rustfmt now formats `let … else { … }` expressions
2023-07-03 14:50:59 +02:00
Quentin Gliech
752f8b837b Sync the OAuth2 clients with CLI and remove redundant CLI tools 2023-06-26 17:24:56 +02:00
Quentin Gliech
2e4b1c5492 storage: document all the repository traits and methods 2023-01-25 16:09:36 +01:00
Quentin Gliech
aa830db9f9 storage: ensure the repository trait can be boxed
and define some wrappers to map the errors
2023-01-19 19:10:35 +01:00
Quentin Gliech
2265327bac handlers: box the rng and clock, and extract it from the state 2023-01-18 17:49:59 +01:00
Quentin Gliech
2c26ddb249 storage: make the Clock a trait 2023-01-18 12:20:30 +01:00
Quentin Gliech
eb4ce7e7f0 Split the storage trait from the implementation 2023-01-18 10:38:22 +01:00
Quentin Gliech
8e5b3e46ea storage: remaining oauth2 repositories
- authorization grants
 - access tokens
 - refresh tokens
2023-01-12 18:26:04 +01:00
Quentin Gliech
94b6d31fe9 storage: OAuth2 client repository 2023-01-04 16:30:32 +01:00
Quentin Gliech
3e312ef469 Allow updating clients from the config without truncating them 2023-01-03 16:43:18 +01:00
Quentin Gliech
2ba0031167 storage: finish cleaning up the errors 2022-12-08 15:29:15 +01:00
Quentin Gliech
6199e698a0 storage: unify most of the remaining errors 2022-12-08 15:29:15 +01:00
Quentin Gliech
5eee6367fe storage: unify most oauth2 related errors 2022-12-08 15:29:15 +01:00
Quentin Gliech
584fba6ec7 data-model: simplify the oauth2 clients 2022-12-08 15:29:15 +01:00
Quentin Gliech
e37201b5c0 Allow fetching more nodes by their IDs 2022-11-18 13:43:01 +01:00
Quentin Gliech
692e268e41 GraphQL API: query oauth2 sessions and clients 2022-11-09 19:17:12 +01:00
Quentin Gliech
91f612dad1 Minor fixes 2022-11-02 18:59:00 +01:00
Quentin Gliech
394907d744 Disallow Ulid generation without explicit timestamp and rng 2022-11-02 18:59:00 +01:00
Quentin Gliech
4b39947239 Insert client redirect_uris in one query 2022-11-02 18:59:00 +01:00
Quentin Gliech
d15d25358e Better DB operations tracing 2022-11-02 18:59:00 +01:00
Quentin Gliech
e4a92a1750 Remove trailing spaces 2022-11-02 18:59:00 +01:00
Quentin Gliech
9ad66ed94d Database refactoring 2022-11-02 18:59:00 +01:00
Kévin Commaille
df47791e7c 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
Kévin Commaille
efc6606960 Use ResponseType that doesn't care about tokens order 2022-09-13 15:15:30 +02:00
Quentin Gliech
57bcedfe58 Make the JWK generic over the parameters 2022-09-02 15:37:46 +02:00
Quentin Gliech
17238b8e97 Make the client_id a foreign key 2022-04-28 18:39:45 +02:00
Quentin Gliech
a66888e363 Support signed userinfo responses 2022-04-21 11:49:49 +02:00
Quentin Gliech
5bd9c896b0 Simple dynamic client registration 2022-04-19 12:23:19 +02:00
Quentin Gliech
7b5798776e Get rid of warp 2022-04-06 17:35:29 +02:00
Quentin Gliech
f243624f45 Move clients to the database 2022-03-08 19:07:46 +01:00