Quentin Gliech
00234469a9
Human-readable error page on the compat SSO login redirect
2025-07-24 10:01:00 +02:00
Quentin Gliech
e964c08eb6
Make the compat_router also recover from errors in human-facing routes
2025-07-23 19:45:59 +02:00
Quentin Gliech
e21d113cfb
Human-readable error page on the upstream callback page
2025-07-23 19:36:39 +02:00
Quentin Gliech
089de9ef8f
Human-readable error page on the upstream authorization page
2025-07-23 19:36:17 +02:00
Quentin Gliech
d356ae5732
Human-readable error page on the authorization endpoint
2025-07-23 19:35:51 +02:00
Quentin Gliech
db27ffb0a2
Human-readable error page on the consent page
2025-07-23 19:35:28 +02:00
Quentin Gliech
0730a3b18a
Allow the homeserver to perform introspection using a shared secret ( #4808 )
2025-07-22 13:30:49 +02:00
Quentin Gliech
faa3282792
Clarify comment
...
Co-authored-by: reivilibre <oliverw@element.io >
2025-07-22 13:24:03 +02:00
Quentin Gliech
01d5a2cca2
Allow the homeserver to perform introspection using a shared secret
2025-07-22 11:27:56 +02:00
Quentin Gliech
6ffe95cdc6
Merge branch 'main' into feat/allow_override_user
2025-07-21 17:03:35 +02:00
olivier
e3511bef2e
simplify unit tests
2025-07-21 11:32:54 +02:00
Quentin Gliech
089229732e
Rename create_device -> upsert_device
2025-07-21 10:54:40 +02:00
Olivier D
aa62b92638
Update crates/handlers/src/upstream_oauth2/link.rs
...
Co-authored-by: Quentin Gliech <quenting@element.io >
2025-07-21 09:52:24 +02:00
Olivier D
9d2cceb497
Update crates/handlers/src/upstream_oauth2/link.rs
...
Co-authored-by: Quentin Gliech <quenting@element.io >
2025-07-21 09:52:24 +02:00
olivier
64b3b1b2a5
fix rust style
2025-07-21 09:52:24 +02:00
olivier
54cb82af3e
add semi column
2025-07-21 09:52:24 +02:00
Olivier D
e2a6091424
fix code style
...
Co-authored-by: Quentin Gliech <quenting@element.io >
2025-07-21 09:52:24 +02:00
Olivier D
2172a961cc
Update crates/handlers/src/upstream_oauth2/link.rs
...
Co-authored-by: Quentin Gliech <quenting@element.io >
2025-07-21 09:52:24 +02:00
mcalinghee
a0e320b994
rename is_forced to is_forced_or_required
2025-07-21 09:52:24 +02:00
mcalinghee
f78e2c38f5
use of UpstreamOAuthProviderLocalpartPreference
2025-07-21 09:52:24 +02:00
mcalinghee
1886e73e40
allow importing existing users when the localpart matches in upstream OAuth 2.0 logins
2025-07-21 09:52:24 +02:00
Quentin Gliech
445f26b8bf
Take the localpart instead of the MXID in HomeserverConnection methods
2025-07-18 16:39:24 +02:00
Quentin Gliech
81147cc43a
Merge branch 'main' into quenting/rust-1.87
2025-07-17 09:22:28 +02:00
Quentin Gliech
4c06421716
Support M_USER_LOCKED error for compat sessions ( #4789 )
2025-07-17 09:17:14 +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
Quentin Gliech
2bd29b8f2a
New admin API endpoint to reactivate users & align what lock/unlock/deactivate does in the admin API ( #4768 )
2025-07-17 09:11:32 +02:00
Quentin Gliech
b8897baeec
Make the admin API provision users synchronously ( #4788 )
2025-07-17 09:07:41 +02:00
Andrew Ferrazzutti
8bacf44c68
Revert GraphQL's unlock to also reactivate
...
Unlike the CLI and admin API, leave the behaviour of the GraphQL's
unlock handler unchanged from before, so as to not break internal
tooling that depends on it.
Also update its documentation description to make note of the fact that
it reactivates in addition to unlocks.
2025-07-16 14:17:01 -04: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
27accd963a
Satisfy Clippy
2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
24dbd792a4
Format
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
44ffec5111
Add admin API endpoint to reactivate user
2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
7a37a78eca
Format
2025-07-16 13:42:14 -04:00
Andrew Ferrazzutti
8a56bbd8f1
Don't return locked error for deactivated users
...
When a user is both locked and deactivated, give precedence to
deactivation errors over locked errors, as a locked error suggests that
unlocking the user would make it available.
2025-07-16 13:38:15 -04:00
Quentin Gliech
62dcab9f75
Box all the figment errors to avoid large enum differences
2025-07-16 19:23:06 +02:00
Quentin Gliech
a51a697013
Miscellaneous housekeeping ( #4735 )
2025-07-16 18:53:59 +02:00
Andrew Ferrazzutti
12bd245980
Always add users synchronously with admin API
2025-07-15 12:08:47 -04:00
Andrew Ferrazzutti
ec12bfef90
Let admin API add users synchronously
...
as opposed to always launching an asynchronous worker job.
This allows callers to have a guarantee that the user is fully created
by the time it receives the response to the user creation request.
2025-07-15 12:08:33 -04:00
Andrew Ferrazzutti
0eca22a6f5
Satisfy Clippy
2025-07-15 11:19:41 -04:00
Andrew Ferrazzutti
b57020cf9f
Add test coverage
...
Also update snapshots for token values affected by state changes
2025-07-15 11:19:19 -04:00
Andrew Ferrazzutti
75346d9827
Check for compat session locking earlier
2025-07-15 11:19:19 -04:00
Andrew Ferrazzutti
6a49a140a8
Support M_USER_LOCKED error for compat sessions
2025-07-15 11:19:19 -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
02898021fd
Merge with 'main'
2025-07-11 09:50:38 -04:00
Andrew Ferrazzutti
88f5df36d4
Force optional request body for JSON schema
2025-07-10 13:26:58 -04:00
Quentin Gliech
f4c0c84e00
Use an async-aware mutex for the test queue worker
2025-07-09 18:30:12 +02:00
Quentin Gliech
d985815cfd
Update the deactivate admin API test to run the deactivation job
2025-07-09 17:28:54 +02:00
Quentin Gliech
928da0709e
Test helper to run all tests in the job queue
2025-07-09 17:26:09 +02:00
Quentin Gliech
5fc6b369ce
Allow setting a custom clock on the QueueWorker & add one to the
...
TestState
2025-07-09 17:24:04 +02:00