Commit Graph

65 Commits

Author SHA1 Message Date
Quentin Gliech
c1c76177bd Admin API to list upstream OAuth 2.0 providers 2025-09-19 11:12:48 +02:00
Quentin Gliech
cb8c408489 Admin API filter to search users by username 2025-09-15 14:12:31 +02:00
Quentin Gliech
b7015c0b3d Allow filtering guest/non-guest users 2025-09-15 12:51:06 +02:00
Quentin Gliech
a2172a02ba Surface the user guest flag in the admin API 2025-09-15 12:51:00 +02:00
Quentin Gliech
ca9aeb42c0 Admin API to expose a few configuration values 2025-09-12 17:47:36 +02:00
Quentin Gliech
4d83fcb25e Merge remote-tracking branch 'origin/main' into quenting/stable-api 2025-08-04 16:38:49 +02:00
Quentin Gliech
0878505429 Allow skipping GDPR-erasure when deactivating a user through the admin API (#4744) 2025-07-17 09:15:25 +02:00
Andrew Ferrazzutti
49540693ab Decouple (un)locking from (re/de)activation
Unify the admin API, CLI, and GraphQL API in not having the unlock
command also reactivate, or the deactivate command also lock.

Still let the unlock command of the CLI and GraphQL API to also
reactivate the target user, albeit as a non-default option.
2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
415e3a2555 Separate active state from lock state in admin API
- Allow the admin API to deactivate a user without locking it, and to
  unlock a user without reactivating it.
- Make unlock-and-reactivate flows unset the "deactivated_at" timestamp.
- Revert adding an "unlock" parameter on `ReactivateUserJob`, as the
  option is used only by the admin API which doesn't use a job.
2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
63bb786b5d Update schema 2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
44ffec5111 Add admin API endpoint to reactivate user 2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
23a87a02d2 Negate erase option and make optional
This makes it more intuitive for an empty request body to be equivalent
to the option being set to false.
2025-07-14 01:02:51 -04:00
Andrew Ferrazzutti
88f5df36d4 Force optional request body for JSON schema 2025-07-10 13:26:58 -04:00
Andrew Ferrazzutti
f8b4dcc6c2 Require "erase" key in deactivation request body
If body is absent, treat "erase" as true.
If body is present, require "erase" to be present in the body.
2025-07-04 14:30:42 -04:00
Andrew Ferrazzutti
58cd2ba993 Add "erase" option to REST deactivate request body
This allows using the endpoint to deactivate a user without deleting it.

TODO: make the request body optional.
2025-07-03 13:22:17 -04:00
Quentin Gliech
a390e61b08 Update the admin API doc to use stable scope in the example 2025-06-13 15:57:53 +02:00
Quentin Gliech
5a4bc59bd3 Admin API to edit registration tokens 2025-06-05 18:22:16 +02:00
Quentin Gliech
5a34e28f4c Admin API to un-revoke a user registration token. 2025-06-05 16:56:42 +02:00
Quentin Gliech
0e94e6c2bb Add whether the registration is valid or not in the admin API 2025-06-03 17:42:55 +02:00
Quentin Gliech
4d1122533b Admin API to revoke user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
2eaca3db22 Admin API to create a new user registration token 2025-06-03 17:42:54 +02:00
Quentin Gliech
378e83ef66 Admin API to get individual user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
35a33f3464 Admin API to list user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
cd96b6324e Add the user deactivation state in the admin API 2025-06-02 11:54:16 +02:00
Quentin Gliech
f8c7a218f1 Make the security schemes relative in the static OpenAPI spec 2025-05-07 14:20:21 +02:00
Quentin Gliech
95094453e5 Use absolute URLs in the OAuth 2.0 security scheme in the API spec 2025-05-07 14:05:44 +02:00
Quentin Gliech
5d4c371e53 admin: expose the sessions 'human_name' 2025-04-25 16:55:30 +02:00
Tonkku
13c9713205 Handle the correct conflict 2025-04-09 07:27:04 +00:00
Tonkku
b7c6320016 Admin API endpoint to remove upstream link 2025-03-17 16:33:49 +00:00
Tonkku
81c0602092 Admin API endpoint to add upstream link 2025-03-17 14:40:27 +00:00
Quentin Gliech
518a366ee2 Make the admin API update the local policy data 2025-02-25 16:42:21 +01:00
Quentin Gliech
aec5d80dbd Admin API to get and set policy data 2025-02-25 13:06:44 +01:00
Quentin Gliech
9e81369c60 Fix the HTTP status code for the user creation admin endpoint (#4040) 2025-02-14 15:01:58 +01:00
Quentin Gliech
281ed7bc17 Fix the HTTP status code for the user creation admin endpoint 2025-02-14 14:54:22 +01:00
Quentin Gliech
69a4b28691 Admin API to add user emails 2025-02-14 14:50:47 +01:00
Quentin Gliech
78f30e58dd Admin API to delete user emails 2025-02-14 14:50:46 +01:00
Quentin Gliech
9fea06693b Allow filtering sessions by client kind (dynamic or static) 2025-02-12 17:31:21 +01:00
Quentin Gliech
5e9cc91979 Allow filtering by subject in the upstream OAuth links admin API 2025-02-12 11:07:11 +01:00
Quentin Gliech
1f36463e8f Admin API to list and get upstream OAuth links 2025-02-12 10:51:31 +01:00
Quentin Gliech
b9a0eced33 Load Swagger UI earlier 2025-02-11 19:16:59 +01:00
Quentin Gliech
9c515f0e0e Enable operation deep-linking in the admin API docs 2025-02-11 19:06:19 +01:00
Quentin Gliech
a398d8d579 Fix the user session admin API docs 2025-02-11 17:09:33 +01:00
Quentin Gliech
487d1633e2 Admin API to list and get user sessions (#4004)
Similar to #4002, this adds an admin API to list and get user (browser
cookies) sessions
2025-02-11 16:38:21 +01:00
Quentin Gliech
c48e063d3a Admin API to list and get user sessions 2025-02-11 14:24:16 +01:00
Quentin Gliech
bf900e7e5a Fix the definition of the set-password success response in the OpenAPI spec 2025-02-11 13:54:15 +01:00
Quentin Gliech
38daf613af Admin API to list and get compatibility sessions 2025-02-11 12:01:54 +01:00
Quentin Gliech
845f0c274b Admin API to list and get user emails 2025-02-10 17:13:55 +01:00
Quentin Gliech
5c9b475674 admin: rename the can_request_admin field to admin 2024-08-07 20:13:43 +02:00
Quentin Gliech
4c347939fa admin: set can_request_admin API 2024-08-07 20:13:43 +02:00
Quentin Gliech
b5c96c6fd9 admin: get OAuth 2.0 session API 2024-08-07 17:41:18 +02:00