Commit Graph

60 Commits

Author SHA1 Message Date
Quentin Gliech
7e018a06aa Merge remote-tracking branch 'origin/main' into quenting/stable-api 2025-08-04 16:38:49 +02:00
Quentin Gliech
b83c747f37 Allow skipping GDPR-erasure when deactivating a user through the admin API (#4744) 2025-07-17 09:15:25 +02:00
Andrew Ferrazzutti
d807975137 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
6c1afee13d 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
13a21cc018 Update schema 2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
a8b8c8e31c Add admin API endpoint to reactivate user 2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
49f2daeaa9 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
1101dd95e8 Force optional request body for JSON schema 2025-07-10 13:26:58 -04:00
Andrew Ferrazzutti
972c50d6a3 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
aad422110c 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
15408d32d8 Update the admin API doc to use stable scope in the example 2025-06-13 15:57:53 +02:00
Quentin Gliech
52942ee94e Admin API to edit registration tokens 2025-06-05 18:22:16 +02:00
Quentin Gliech
c8f2a2146c Admin API to un-revoke a user registration token. 2025-06-05 16:56:42 +02:00
Quentin Gliech
12e9d025d7 Add whether the registration is valid or not in the admin API 2025-06-03 17:42:55 +02:00
Quentin Gliech
723302fd97 Admin API to revoke user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
aa7c6b35bc Admin API to create a new user registration token 2025-06-03 17:42:54 +02:00
Quentin Gliech
6000719b29 Admin API to get individual user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
322c8545bb Admin API to list user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
a11610d318 Add the user deactivation state in the admin API 2025-06-02 11:54:16 +02:00
Quentin Gliech
c326d76e2a Make the security schemes relative in the static OpenAPI spec 2025-05-07 14:20:21 +02:00
Quentin Gliech
dc2ff768e3 Use absolute URLs in the OAuth 2.0 security scheme in the API spec 2025-05-07 14:05:44 +02:00
Quentin Gliech
498c0ac3a7 admin: expose the sessions 'human_name' 2025-04-25 16:55:30 +02:00
Tonkku
7c4a9bf5be Handle the correct conflict 2025-04-09 07:27:04 +00:00
Tonkku
272a9b8caf Admin API endpoint to remove upstream link 2025-03-17 16:33:49 +00:00
Tonkku
61091ff7e6 Admin API endpoint to add upstream link 2025-03-17 14:40:27 +00:00
Quentin Gliech
c3296a2e22 Make the admin API update the local policy data 2025-02-25 16:42:21 +01:00
Quentin Gliech
d393494e76 Admin API to get and set policy data 2025-02-25 13:06:44 +01:00
Quentin Gliech
ffb6e2e9be Fix the HTTP status code for the user creation admin endpoint (#4040) 2025-02-14 15:01:58 +01:00
Quentin Gliech
be1da26bd8 Fix the HTTP status code for the user creation admin endpoint 2025-02-14 14:54:22 +01:00
Quentin Gliech
a8b03bbd86 Admin API to add user emails 2025-02-14 14:50:47 +01:00
Quentin Gliech
344794bb0b Admin API to delete user emails 2025-02-14 14:50:46 +01:00
Quentin Gliech
dab640aa51 Allow filtering sessions by client kind (dynamic or static) 2025-02-12 17:31:21 +01:00
Quentin Gliech
a7ae36e1ce Allow filtering by subject in the upstream OAuth links admin API 2025-02-12 11:07:11 +01:00
Quentin Gliech
c880a3dbac Admin API to list and get upstream OAuth links 2025-02-12 10:51:31 +01:00
Quentin Gliech
91d4d0ea39 Load Swagger UI earlier 2025-02-11 19:16:59 +01:00
Quentin Gliech
3d36b234f3 Enable operation deep-linking in the admin API docs 2025-02-11 19:06:19 +01:00
Quentin Gliech
9216d547ea Fix the user session admin API docs 2025-02-11 17:09:33 +01:00
Quentin Gliech
3792cd4f3b 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
2a9fb26265 Admin API to list and get user sessions 2025-02-11 14:24:16 +01:00
Quentin Gliech
c881fb24f5 Fix the definition of the set-password success response in the OpenAPI spec 2025-02-11 13:54:15 +01:00
Quentin Gliech
42841cea3e Admin API to list and get compatibility sessions 2025-02-11 12:01:54 +01:00
Quentin Gliech
7ade439ac3 Admin API to list and get user emails 2025-02-10 17:13:55 +01:00
Quentin Gliech
29d6383c5d admin: rename the can_request_admin field to admin 2024-08-07 20:13:43 +02:00
Quentin Gliech
6189abe7b4 admin: set can_request_admin API 2024-08-07 20:13:43 +02:00
Quentin Gliech
cf9f201337 admin: get OAuth 2.0 session API 2024-08-07 17:41:18 +02:00
Quentin Gliech
4f52840bf3 admin: list OAuth 2.0 sessions API 2024-08-07 17:41:18 +02:00
Quentin Gliech
83e4aa476f admin: setup base for oauth2 sessions endpoints 2024-08-07 17:41:18 +02:00
Quentin Gliech
c61a52a3a0 admin: better error when password auth is disabled 2024-08-07 15:10:19 +02:00
Quentin Gliech
475a43df71 admin: check password complexity in password set API 2024-08-07 15:10:19 +02:00
Quentin Gliech
8b5d576018 admin: set password API 2024-08-07 15:10:19 +02:00