Commit Graph

857 Commits

Author SHA1 Message Date
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 73a39fecf0 opaque: Lower the compute cost
This reduces the time to validate a password, at a minor cost of
security (makes bruteforcing the DB easier, but still really hard).

Note: this invalidates all current passwords. It is recommended to
delete the admin user directly in sqlite:

$ sqlite3 users.db
> DELETE from users WHERE user_id = "admin";

It will be recreated with the reset password when restarting the server.
The admin can then reset other users' passwords.
2021-10-15 08:05:50 +02:00
Valentin Tolmer 263fd44156 server: add a display name to the administrator user 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 35ee2834a3 graphql: Add a method 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 42da86cf72 graphql: Implement looking up a group's users 2021-10-15 08:05:50 +02:00
Valentin Tolmer 65780ae0fe graphql: Add a method to look up a group's details 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 0a3cfa168e gitignore: Add output of `npm install rollup` 2021-10-15 08:05:50 +02:00
Valentin Tolmer d9abcd335d config: Add a minimum password length 2021-10-07 18:33:47 +02:00
Valentin Tolmer 1ec533bd9b app: Fix login password prompt 2021-10-06 17:58:02 +02:00
Valentin Tolmer 54b6f7d726 graphql: Add guardrails to prevent deleting all the admins 2021-09-28 13:50:56 +02:00
Valentin Tolmer eb974e781c graphql: Add a filter by group 2021-09-28 13:50:56 +02:00
Valentin Tolmer 09a23a1e59 ldap: Add support for memberOf and wildcards 2021-09-28 13:50:56 +02:00
Valentin Tolmer c0d866b77b graphql: Add a method to update group details 2021-09-28 13:50:56 +02:00
Valentin Tolmer 3b70762b42 graphql: Add a method to delete a group 2021-09-28 13:50:56 +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 e8831f607b graphql: Add a method to delete a user 2021-09-24 16:46:30 +02:00
Valentin Tolmer 9e3315e09f docker: add cargo chef to the dockerfile to cache dependencies 2021-09-24 11:15:57 +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 63467e5050 server: Prevent user updates from applying to everyone 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 e4d6b122c5 graphql: Add methods to add/remove group memberships 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 a184cce38f docker: fix command 2021-09-12 12:06:11 +02:00
Valentin Tolmer 035eb6cc3c cargo: update dependencies and add a patch to a library 2021-09-03 14:32:33 +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 6ef06163db schema: add a script to re-export the schema 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 092cdb860c workflow: Fix typo 2021-08-31 20:32:55 +02:00
Valentin Tolmer d8df47b35d Move backend source to server/ subpackage
To clarify the organization.
2021-08-31 20:32:55 +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 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