Commit Graph

102 Commits

Author SHA1 Message Date
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
ab66a36fe6 Set admin password when creating the user 2021-07-05 10:24:23 +02:00
Valentin Tolmer
d891529da9 Add allow warnings for nonstandard macro braces
The warnings come from the macros of libraries that we use, so we can't
change them.
2021-07-05 10:10:27 +02:00
Valentin Tolmer
e09c73efce Register clients' passwords using OPAQUE 2021-06-25 10:10:55 +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
4bc48a064d Create SQL tables for the temporary OPAQUE data 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
f918debc2e Simplify opaque types 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
3f23f69fce Add the admin user to the admin group by default 2021-05-26 19:22:41 +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
8e369016da Create admin user by default 2021-05-26 15:13:17 +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
cd84aff310 Better database errors 2021-05-23 17:06:21 +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
29b7f4b836 Remove folder placeholder 2021-05-17 16:54:41 +02:00
Valentin Tolmer
e90ef2737c Add tests for tcp handlers 2021-05-14 10:30:58 +02:00