Commit Graph

158 Commits

Author SHA1 Message Date
kaysond
06a12f5351 remove unnecessary attrs 2021-12-01 00:38:54 +01:00
kaysond
bf20c448dc fix typo 2021-12-01 00:38:54 +01:00
kaysond
9f138ec4ac server libraries locally in the docker container 2021-12-01 00:38:54 +01:00
Valentin Tolmer
ddeb4c3ce3 cargo: Bump the version number to 0.3.0-alpha.1 2021-11-29 15:50:43 +01:00
Valentin Tolmer
4a5abfd395 app: Implement the second part of password reset 2021-11-23 00:25:47 +01:00
Valentin Tolmer
9fb4afcf60 app: Implement the first screen of password reset 2021-11-23 00:25:47 +01:00
Valentin Tolmer
790fd7c5d1 cargo: Update to 2021 edition 2021-11-23 00:25:47 +01:00
Valentin Tolmer
77ced7ea43 misc: Forbid non-ascii identifiers
That prevents a class of unicode attacks, e.g. invisible characters.
2021-11-23 00:25:47 +01:00
Valentin Tolmer
d60f5ab460 app: Simplify some CommonComponent uses 2021-10-31 15:52:17 +01:00
Valentin Tolmer
12dfa60eed app: Add docs to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
158e4100ef app: Migrate UserTable to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
87ebee672f app: Migrate UserDetailsForm to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
ec6e1b0c09 app: Migrate RemoveUserFromGroup to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
640126f39a app: Migrate Logout to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
d31ca426f7 app: Migrate GroupTable to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
d4ac9fa703 app: Migrate DeleteUser to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
5523d38838 app: Migrate DeleteGroup to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
587d724c2c app: Migrate CreateUser to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
29f3636064 app: Migrate CreateGroup to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
ec69d30b1c app: Migrate AddUserToGroup to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
232a41d053 app: Migrate AddGroupMember to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
540ac5d241 app: Migrate Login to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
29962881cf app: Migrate user_details to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
65dd1d1fd3 app,infra: Move more functionality in CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
ba72e622c2 app: Migrate group_details to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
5a5baf883f app: Migrate change_password to CommonComponent 2021-10-31 15:52:17 +01:00
Valentin Tolmer
6c09af6479 app: Create CommonComponent
This is a utility that gathers common parts of components, like task
and error handling.
2021-10-31 15:52:17 +01:00
Valentin Tolmer
026a2f7eb0 app: Fix the login button not re-enabling after failed login 2021-10-28 18:20:01 +02:00
Valentin Tolmer
aa8bbf96f8 cargo: Bump the version to 0.2.0 2021-10-20 08:58:36 +02:00
Valentin Tolmer
3df3a96d46 app: Fix login cookie expiration format 2021-10-15 10:46:17 +02:00
Valentin Tolmer
f4edb99379 app: Add style.css, improve classes
Also change the server to be able to serve style.css.
2021-10-15 10:46:17 +02:00
Valentin Tolmer
3912d62623 app: Disable buttons while the task is running 2021-10-15 08:05:50 +02:00
Valentin Tolmer
ead501158d app: Migrate change password to yew_form
Also disable submit while the password is being sent.
2021-10-15 08:05:50 +02:00
Valentin Tolmer
88019a42c9 app: Add a proper error message to the email field 2021-10-15 08:05:50 +02:00
Valentin Tolmer
29832574c1 app: disable the login button while logging in 2021-10-15 08:05:50 +02:00
Valentin Tolmer
c4c0bb8b8e app: Truncate the user creation date to the day 2021-10-15 08:05:50 +02:00
Valentin Tolmer
9a68563c0b app: Disable the add user/group buttons when relevant 2021-10-15 08:05:50 +02:00
Valentin Tolmer
01c82f09eb app: Add a page to create a group 2021-10-15 08:05:50 +02:00
Valentin Tolmer
8bd1dec180 app: Implement group management
Except group creation
2021-10-15 08:05:50 +02:00
Valentin Tolmer
9e9129aa3a app: Add navigation banner
Unstyled as of yet.
2021-10-15 08:05:50 +02:00
Valentin Tolmer
7d21cc5126 app: Add a page with the list of groups 2021-10-15 08:05:50 +02:00
Valentin Tolmer
1ec533bd9b app: Fix login password prompt 2021-10-06 17:58:02 +02:00
Valentin Tolmer
402ef2f83a app: Add a component to delete a user
Also adds a way to hook to the bootstrap modals to show or hide them.
2021-09-24 16:46:30 +02:00
Valentin Tolmer
dfe1607a3e app: Migrate create_user to yew_form 2021-09-20 11:23:57 +02:00
Valentin Tolmer
fa6427e694 app: Migrate login to yew_form 2021-09-20 11:23:57 +02:00
Valentin Tolmer
a952968e9f app: Add Bootstrap classes. 2021-09-20 11:23:57 +02:00
Valentin Tolmer
00efdb42af app: Extract a RemoveUserFromGroup component 2021-09-20 11:23:57 +02:00
Valentin Tolmer
14be1170f2 app: Extract the form component from the user details page 2021-09-20 11:23:57 +02:00
Valentin Tolmer
5943df6443 app: Extract a Select component 2021-09-20 11:23:57 +02:00
Valentin Tolmer
37c6e8ef30 app: Extract the AddUserToGroup component 2021-09-20 11:23:57 +02:00
Valentin Tolmer
7aab9e8cf5 app: Add a way to manage a user's group memberships 2021-09-20 11:23:57 +02:00
Valentin Tolmer
480f48f820 graphql: Add a method to list groups 2021-09-20 11:23:57 +02:00
Valentin Tolmer
a54e73bded app: Add the group memberships 2021-09-20 11:23:57 +02:00
Valentin Tolmer
718da71d0d app: Allow admins to change passwords 2021-09-20 11:23:57 +02:00
Valentin Tolmer
005e18472e app: reorganize and add a page to change the password 2021-09-13 10:35:39 +02:00
Valentin Tolmer
d647be793a app: Add a way for users to edit their info 2021-09-03 14:32:33 +02:00
Valentin Tolmer
2954109d96 graphql: Add a method to update a user 2021-09-03 14:32:33 +02:00
Valentin Tolmer
0ac9e134de schema: make user fields non-nullable
They can always be empty. This simplifies mutation, since graphql_client
doesn't have an easy way to conditionally leave out fields (we could do
that with `@include`, but that's one bool per field in addition to the
field, a bit ugly).
2021-09-03 14:32:33 +02:00
Valentin Tolmer
564c09d6ab app: Fix the user detail view 2021-09-03 14:32:33 +02:00
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
6efafa99c8 user_table: refactor to clarify view() 2021-08-31 20:32:55 +02:00
Valentin Tolmer
9c4f8931a0 app: Fix local timezone not taken into account 2021-08-31 20:32:55 +02:00
Valentin Tolmer
2aca9dbe62 app: migrate user creation to GraphQL 2021-08-31 20:32:55 +02:00
Valentin Tolmer
37f61ce212 app: fix registration URLs 2021-08-31 20:32:55 +02:00
Valentin Tolmer
40ba65dca7 app: make a graphql argument required 2021-08-31 20:32:55 +02:00
Valentin Tolmer
dd7e9c9283 app: migrate user_details to graphql endpoint 2021-08-31 20:32:55 +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
a1f40a32a5 app: refactor API methods with empty responses 2021-08-30 09:27:00 +02:00
Valentin Tolmer
f860b8fe43 app: Migrate list_users to use the graphql client 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
04b9e97527 Implement client view for the user details 2021-07-05 13:41:36 +02:00
Valentin Tolmer
5e0b41998f Propagate the admin status to the top component 2021-07-05 13:41:36 +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
0a761ff11f Create a workspace for the packages 2021-06-23 11:13:05 +02:00
Valentin Tolmer
2f7019433d Fix clippy warnings 2021-06-23 10:57:34 +02:00
Valentin Tolmer
eec0903052 Refactor API client 2021-06-23 10:27:59 +02:00
Valentin Tolmer
659eab3706 Implement opaque login flow in the client 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
86bfd37b70 Opaque: use argon2 as slow hash 2021-06-23 10:27:59 +02:00
Valentin Tolmer
973fa40dd1 Add OPAQUE implementation 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
Valentin Tolmer
0d8e317490 build.sh: Detect local installs of rollup and improve error messages 2021-06-22 15:32:20 +02:00
Valentin Tolmer
0469252277 Add Bootstrap CSS 2021-06-08 18:48:27 +02:00
Valentin Tolmer
7465a6b93f Add a form to create users 2021-06-01 17:31:18 +02:00
Valentin Tolmer
e3ff3b7b0a App: Display users in a table 2021-05-30 17:51:28 +02:00
Valentin Tolmer
ac492f987d App: Various cleanups (clippy) 2021-05-30 17:07:34 +02:00
Valentin Tolmer
c1cb5792fe Introduce a router for the app 2021-05-30 17:02:09 +02:00
Valentin Tolmer
6ebd18d1e0 Return not found when a cookie is empty 2021-05-30 17:01:14 +02:00
Valentin Tolmer
9899c6f5aa app: Refactor API calls 2021-05-25 10:03:33 +02:00
Valentin Tolmer
e07efc9585 Implement client-side logout 2021-05-23 17:07:02 +02:00
Valentin Tolmer
6cb06b0e9f Change the authentication address to /auth 2021-05-20 17:41:30 +02:00
Valentin Tolmer
312d9b7a6f Mark cookies as sameSite=Strict 2021-05-19 18:08:26 +02:00
Valentin Tolmer
4d9f554fe6 Implement logout
Also introduce a library to handle cookies
2021-05-18 19:04:06 +02:00
Valentin Tolmer
d57cd1230c Turn the login form into a regular form 2021-05-18 17:44:46 +02:00
Valentin Tolmer
e524fb0f55 clippy: fix warnings 2021-05-14 10:30:55 +02:00