Commit Graph

112 Commits

Author SHA1 Message Date
Valentin Tolmer
3eb53ba5bf model: rename to auth
Since the "model" doesn't contain any message from the API anymore, and
instead contains only the structures needed for authentication, it was
renamed as such.
2021-08-31 20:32:55 +02:00
Valentin Tolmer
9dd579e32e model: move User and Group definition to backend 2021-08-31 20:32:55 +02:00
Valentin Tolmer
641018ff56 model: remove AddUserToGroupRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer
54f973e349 model: remove CreateGroupRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer
4af60e5668 model: remove DeleteUserRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer
0bcabc7d0c model: remove CreateUserRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer
0dd05e5771 model: inline the UserDetailsRequest 2021-08-31 20:32:55 +02:00
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
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