Commit Graph

65 Commits

Author SHA1 Message Date
Quentin Gliech
c30bb3ffa4 allow completing an oauth2 session after login 2021-08-06 16:57:49 +02:00
Quentin Gliech
fbc492b222 wrap HTML responses with warp::reply::html
This sets the Content-Type in responses
2021-08-06 13:57:51 +02:00
Quentin Gliech
a37f542e60 set the response_{modes,types}_supported fields in the discovery document 2021-08-06 13:55:45 +02:00
Quentin Gliech
595e7f4ec8 support the form_post response mode
also clarify the `register_templates` macro
2021-08-06 12:17:19 +02:00
Quentin Gliech
1ef0e922c3 Continue implementing the authorization code grant 2021-08-05 23:44:35 +02:00
Quentin Gliech
b27a454919 Document some of the templates related structures 2021-08-05 17:48:41 +02:00
Quentin Gliech
0abc40817d Remove unnecessary boxing of filters
This might help with error handling, knowing what filter are fallible or not
2021-08-05 17:46:46 +02:00
Quentin Gliech
146a7e9005 Strongly-typed templates 2021-08-05 14:43:42 +02:00
Quentin Gliech
e2436ae2e8 starting the oauth2 authorization flow
also enable compile-time validation of queries
2021-07-31 23:22:41 +02:00
Quentin Gliech
1232c9a642 move all IDs in DB to 64bit integers 2021-07-31 15:11:35 +02:00
Quentin Gliech
160ab51a83 remove old sessions migrations 2021-07-31 14:51:30 +02:00
Quentin Gliech
5e8a529374 better CSRF form handling 2021-07-31 14:47:54 +02:00
Quentin Gliech
ea5563b0df better logging and http handling 2021-07-30 23:07:29 +02:00
Quentin Gliech
844ada50bb better enforcement of auth and csrf protection 2021-07-30 18:02:05 +02:00
Quentin Gliech
a0562533c1 fix clippy errors 2021-07-30 15:36:01 +02:00
Quentin Gliech
14a59fc985 move the CSRF save filter to crate::filters::csrf 2021-07-30 15:31:34 +02:00
Quentin Gliech
068e4738dc update dependencies 2021-07-30 15:21:11 +02:00
Quentin Gliech
59b2cfde33 migrate to warp, last part 2021-07-30 15:19:30 +02:00
Quentin Gliech
cebfcad58d WIP: migrate to warp, part 3 2021-07-29 16:58:26 +02:00
Quentin Gliech
c8090d8ed4 WIP: migrate to warp, part 2 2021-07-29 14:56:33 +02:00
Quentin Gliech
7566b28041 WIP: migrate to warp 2021-07-27 19:20:24 +02:00
Quentin Gliech
a7852390de reimplement CSRF logic 2021-07-27 14:25:15 +02:00
Quentin Gliech
8188172ef0 oauth2-types: PKCE-related types 2021-07-25 20:11:09 +02:00
Quentin Gliech
e0d25808a6 properly save session with multiple auth
This will help knowing when the user last authed, support MFA & other
login types, support acr_values & max_time, etc.
2021-07-25 14:42:48 +02:00
Quentin Gliech
002f1027db rework OIDC metadata endpoint 2021-07-22 16:01:55 +02:00
Quentin Gliech
51539019aa replace custom serde types with serde_with in oauth2-types 2021-07-22 14:38:14 +02:00
Quentin Gliech
05f13f94f8 enable std feature in password-hash to avoid manually building errors 2021-07-17 11:21:58 +02:00
Quentin Gliech
eaafdf432f store users in database 2021-07-17 00:49:25 +02:00
Quentin Gliech
d6453d4d4f fix CI by removing the --offline flag from rustfmt 2021-07-16 23:22:17 +02:00
Quentin Gliech
7de1b0a60a fix dependencies fetching in CI 2021-07-16 23:19:03 +02:00
Quentin Gliech
9dd302d0a7 cache Cargo dependencies per OS in CI 2021-07-16 23:16:21 +02:00
Quentin Gliech
ebab5085f4 run Cargo in offline mode in CI 2021-07-16 23:04:13 +02:00
Quentin Gliech
be59f910b9 Retry downloading dependencies twice in CI 2021-07-16 22:55:26 +02:00
Quentin Gliech
d882eb43d8 better caching and dependencies fetching in CI 2021-07-16 22:52:00 +02:00
Quentin Gliech
c441ed75e7 add a subcommand to generate a config file 2021-07-16 18:55:33 +02:00
Quentin Gliech
b0f89cdef5 make client storage read-only 2021-07-16 18:04:43 +02:00
Quentin Gliech
a15e786ece fix some license headers 2021-07-16 18:04:04 +02:00
Quentin Gliech
08375f49cf reorganize dependencies and upgrade them 2021-07-16 17:47:44 +02:00
Quentin Gliech
cb72d29695 partial config load & tests 2021-07-16 17:33:16 +02:00
Quentin Gliech
58b16511db split CLI in multiple commands
- `config` to view & check config files
 - `database` for DB-related ops
 - `server` to run the server
2021-07-16 14:34:18 +02:00
Quentin Gliech
ad136e757d initial config schema 2021-07-16 11:19:03 +02:00
Quentin Gliech
555b659df9 ci: tweak cache keys 2021-07-10 00:10:22 +02:00
Quentin Gliech
155e74cffb ci: disable fail-fast on test job 2021-07-10 00:05:34 +02:00
Quentin Gliech
cea37d4736 Also setup cache on rustfmt job in CI 2021-07-10 00:01:39 +02:00
Quentin Gliech
706bea34a4 Cache dependencies in CI 2021-07-09 23:56:35 +02:00
Quentin Gliech
adb2234b31 save sessions in database 2021-07-09 22:49:23 +02:00
Quentin Gliech
8bbc8c809a upgrade dependencies 2021-07-09 17:17:42 +02:00
Quentin Gliech
226bab1e43 Use stable toolchain for clippy check in CI 2021-07-09 16:56:09 +02:00
Quentin Gliech
4519b5251b Setup GitHub Actions 2021-07-09 16:44:58 +02:00
Quentin Gliech
b7d0ac20b5 Configure rustfmt & clippy lints 2021-07-09 16:03:39 +02:00