Commit Graph

80 Commits

Author SHA1 Message Date
Valentin Tolmer
cd91b4d3ac api: inline the ListUsersRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer
08a3845cbe infra: Remove the TCP API
Deprecated in favor of GraphQL
2021-08-31 20:32:55 +02:00
Valentin Tolmer
651adbe3c8 model: Inline the BindRequest in the backend 2021-08-31 20:32:55 +02:00
Valentin Tolmer
459f1eba19 graphql: add an endpoint to create a user 2021-08-31 20:32:55 +02:00
Valentin Tolmer
267ce51973 jwt: Harden check by hardcoding accepted algorithms 2021-08-30 09:27:00 +02:00
Valentin Tolmer
0ecd9ed263 Migrate datetimes to UTC 2021-08-30 09:27:00 +02:00
Valentin Tolmer
848cc86d73 api: add the rest of the fields to User 2021-08-30 09:27:00 +02:00
Valentin Tolmer
83ed58bff2 errors: use anyhow::Context everywhere 2021-08-30 09:27:00 +02:00
Valentin Tolmer
a08b9a556d cli: introduce the export_graphql_schema command
Split the command line into subcommands `run` and
`export_graphql_schema`.
2021-08-30 09:27:00 +02:00
Valentin Tolmer
d2617e08a7 Simplify get_user_groups to take a &str 2021-08-30 09:27:00 +02:00
Valentin Tolmer
a51965a61a Implement basic GraphQL endpoint with auth 2021-08-30 09:27:00 +02:00
Valentin Tolmer
be3e50d31a Update actix libraries 2021-08-30 09:27:00 +02:00
Valentin Tolmer
87516eb218 Update actix libraries 2021-08-22 16:58:33 +02:00
Valentin Tolmer
04b9e97527 Implement client view for the user details 2021-07-05 13:41:36 +02:00
Valentin Tolmer
6744a89922 Implement per-user guards for the user details endpoint 2021-07-05 13:41:36 +02:00
Valentin Tolmer
c7fb8baadb Remove useless clones 2021-07-05 13:41:36 +02:00
Valentin Tolmer
5a3332430f Add a route to server user details 2021-07-05 13:41:36 +02:00
Valentin Tolmer
b0c721bb28 Add a method to get a single user's details 2021-07-05 13:41:36 +02:00
Valentin Tolmer
8b73de0df7 Update opaque and implement it without DB 2021-06-23 20:46:55 +02:00
Valentin Tolmer
2f7019433d Fix clippy warnings 2021-06-23 10:57:34 +02:00
Valentin Tolmer
4d68a2a015 Add TCP handlers for opaque protocol 2021-06-23 10:27:59 +02:00
Valentin Tolmer
7be0e420d4 Add a handler for OPAQUE messages 2021-06-23 10:27:59 +02:00
Valentin Tolmer
f6372c7e02 Add the OPAQUE tables to the cleanup cron 2021-06-23 10:27:59 +02:00
Valentin Tolmer
b5c7e3b0d7 clippy: fix lint warning 2021-06-23 10:27:59 +02:00
Valentin Tolmer
c3bbcce6a3 Simplify KeyPair handling 2021-06-23 10:27:59 +02:00
Valentin Tolmer
973fac4bb8 Make passwords optional when registering a new user 2021-06-23 10:27:59 +02:00
Valentin Tolmer
3c916a2530 Implement password checking using opaque 2021-06-23 10:27:59 +02:00
Valentin Tolmer
d5f84cd588 Add cargo.lock and fix some dependencies
Note that the auth_service handler has become less generic, but it's
enough for our purposes.
2021-06-22 17:27:43 +02:00
Marcelin Dupraz
2a6d23203c Implementation of the delete_user_request.
Tests are barebones and are dependant of the list_users_request
(delete_user_request_test will fail if list_users_request fails)
2021-05-30 22:08:01 +02:00
Valentin Tolmer
ca48de542b Add a API endpoint to create a user 2021-05-30 18:26:14 +02:00
Valentin Tolmer
352a7d90fc Add method to add users to groups 2021-05-26 15:49:59 +02:00
Valentin Tolmer
b3c2f5edfc Add a method to create a group 2021-05-26 15:42:02 +02:00
Valentin Tolmer
5a70f2ebc2 Add a method to create a user 2021-05-26 08:43:31 +02:00
Valentin Tolmer
d1a42b178a Make display_name, first&last name optional 2021-05-26 08:42:05 +02:00
Valentin Tolmer
eb5c48f030 Add a DB cleaner cron job 2021-05-25 10:39:09 +02:00
Valentin Tolmer
054f970f91 Make logout a post request, fix cookie path 2021-05-23 17:06:43 +02:00
Valentin Tolmer
28b7be0500 Hash refesh tokens earlier 2021-05-23 16:26:24 +02:00
Valentin Tolmer
10404abbb0 Implement server-side logout 2021-05-23 16:20:26 +02:00
Valentin Tolmer
28a941924e Split big files into little ones 2021-05-20 19:18:15 +02:00
Valentin Tolmer
9f1feb3b11 Change auth handlers to return an HttpResponse 2021-05-20 17:46:36 +02:00
Valentin Tolmer
6cb06b0e9f Change the authentication address to /auth 2021-05-20 17:41:30 +02:00
Valentin Tolmer
d5cb53ae8a Implement refresh tokens 2021-05-20 17:40:30 +02:00
Valentin Tolmer
312d9b7a6f Mark cookies as sameSite=Strict 2021-05-19 18:08:26 +02:00
Valentin Tolmer
e90ef2737c Add tests for tcp handlers 2021-05-14 10:30:58 +02:00
Valentin Tolmer
f19a4b36de Default the web server to returning index.html 2021-05-14 10:30:58 +02:00
Valentin Tolmer
e524fb0f55 clippy: fix warnings 2021-05-14 10:30:55 +02:00
Valentin Tolmer
e431c40475 Remove user_id cookie
We can't read it from JS anyway
2021-05-14 09:24:14 +02:00
Valentin Tolmer
a15d970725 Move the JWTClaims to the model 2021-05-13 19:32:29 +02:00
Valentin Tolmer
b49a03fd87 Translate the LDAP DN into user IDs 2021-05-13 19:31:37 +02:00
Valentin Tolmer
7e76d3aae2 Implement server-side JWT generation and checks 2021-05-12 20:53:46 +02:00