Commit Graph

298 Commits

Author SHA1 Message Date
Quentin Gliech e1de5c5860 Simplify the consent screen (#5310) 2025-12-03 14:22:14 +01:00
Quentin Gliech 9213a1ebcc Get the display name of the Matrix user on the consent screens 2025-12-02 17:51:23 +01:00
Quentin Gliech df14076dd0 Merge branch 'quenting/upstream-oauth/better-conflict-options' into quenting/upstream-oauth/skip-interactive 2025-11-28 18:08:09 +01:00
Quentin Gliech 47d411f641 Option to skip confirmation when registering through an upstream OAuth provider 2025-11-28 15:51:43 +01:00
Quentin Gliech ffb86f6558 Add more options to deal with localpart conflicts on upstream OAuth 2.0 logins 2025-11-28 10:53:28 +01:00
Quentin Gliech 4b6c1db5a2 Unify registrations for local passwords and upstream OAuth registrations (#5281) 2025-11-27 16:13:03 +01:00
Quentin Gliech ac4f66920c Store upstream OAuth sessions on user registrations
This will allow us creating user registrations from upstream OAuth auth
sessions
2025-11-21 19:31:37 +01:00
Olivier 'reivilibre 604ed545b0 Use NonZeroU64 2025-11-06 15:01:49 +00:00
Olivier 'reivilibre 87c897c51a Add configuration for session limiting 2025-11-06 10:12:14 +00:00
Olivier 'reivilibre 3d80097bae Merge branch 'main' into rei/pat_devicesync 2025-10-22 14:27:40 +01:00
Olivier 'reivilibre c8ed12512e Relax the validity check of the token actor 2025-10-22 13:15:12 +01:00
Olivier 'reivilibre 42f6664396 When adding or revoking personal sessions, schedule needed device syncs 2025-10-22 11:50:27 +01:00
reivilibre 477385fd9f Add storage for Personal Access Tokens (#5106)
Defines a token format for PATs and implements the base storage functionality for PATs and 'Personal Sessions' which are conceptually the parent containers of PATs.

Personal Sessions survive across regenerations of PATs and are the entities associated with the device ID. In virtually every way they are functionally the same as Compat or OAuth2 Sessions.
2025-10-09 13:07:41 +01:00
Olivier 'reivilibre 72d3ea851b Support OAuth2 clients as owners of personal sessions 2025-10-07 19:54:59 +01:00
Quentin Gliech e4844968d3 Add a configuration option to make email optional for password registration 2025-10-07 17:28:01 +02:00
Olivier 'reivilibre b54a657c32 data model: Add personal sessions with mpt_ prefix 2025-10-07 16:08:43 +01:00
Quentin Gliech 377ef1d390 Inject the version in the app state 2025-10-03 11:41:22 +02:00
Quentin Gliech 5d63ee2edf Surface the user guest flag in the admin API 2025-09-15 12:51:00 +02:00
Quentin Gliech fb5c4de881 Simplify handling of login hints 2025-08-18 16:48:21 +02:00
Quentin Gliech 576b5c6e73 Remove unnecessary crate-level comment 2025-08-18 16:48:04 +02:00
Quentin Gliech 6a1d67f452 Merge remote-tracking branch 'origin/main' into feat/login_hint_with_email 2025-08-18 16:43:00 +02:00
Quentin Gliech a3d1148055 Fix a few more clippy lints 2025-08-18 10:45:20 +02:00
Quentin Gliech 3eaa27ce8c Un-hide a few elidded lifetimes 2025-08-18 10:35:28 +02:00
Quentin Gliech 45b6b567db Collapse a few nested if now that we have if let chains 2025-08-18 10:29:30 +02:00
mcalinghee a55f26c53e Merge branch 'main' into feat/login_hint_with_email 2025-08-05 17:02:14 +02:00
Quentin Gliech 7e018a06aa Merge remote-tracking branch 'origin/main' into quenting/stable-api 2025-08-04 16:38:49 +02:00
mcalinghee b189bfd7d1 use of static RNG and MockClock in tests 2025-07-31 12:48:16 +02:00
mcalinghee a75ca69ed0 move Clock/MockClock/SystemClock/BoxClock/BoxRng to mas-data-model : format 2025-07-31 12:35:56 +02:00
mcalinghee d65b70d0dc move Clock/MockClock/SystemClock/BoxClock/BoxRng to mas-data-model : correct documentation 2025-07-31 12:34:01 +02:00
mcalinghee c314802fcd move Clock/MockClock/SystemClock/BoxClock/BoxRng to mas-data-model 2025-07-31 11:17:33 +02:00
mcalinghee cdf53ca4a0 use of login_with_email_allowed at caller level 2025-07-30 15:19:57 +02:00
mcalinghee 3f14589bbb rename Login:EMAIL to Login::Email + remove use of email prefix 2025-07-30 15:19:57 +02:00
mcalinghee 8af50a15ff display email login_hint when login_with_email_allowed is activated 2025-07-30 15:19:57 +02:00
olivier 87ac7a1989 remove unused function 2025-07-21 10:19:57 +02:00
olivier c7b57f7d4c fix rust style 2025-07-21 09:52:24 +02:00
mcalinghee 3644d4c0bf rename is_forced to is_forced_or_required 2025-07-21 09:52:24 +02:00
mcalinghee 3774850c94 use of UpstreamOAuthProviderLocalpartPreference 2025-07-21 09:52:24 +02:00
mcalinghee 98912f4ada allow importing existing users when the localpart matches in upstream OAuth 2.0 logins 2025-07-21 09:52:24 +02:00
Quentin Gliech 8d6621f00e Log out oauth & compat sessions when receiving a backchannel logout request 2025-07-04 16:27:10 +02:00
Quentin Gliech e28ffccc3a Backchannel logout behavior settings on upstream providers 2025-07-04 16:27:10 +02:00
Quentin Gliech 1c6c6ff8fa Record the decoded ID token claims on upstream auth sessions 2025-07-04 16:27:09 +02:00
Quentin Gliech 6d2dd069d8 data-model: make the device emit both stable and unstable scope tokens 2025-06-13 15:42:57 +02:00
Quentin Gliech c3707c13ae Add license headers in most files that missed them 2025-06-12 11:01:07 +02:00
Quentin Gliech 3d96dc9d47 Update license headers to match the actual license 2025-06-12 10:32:16 +02:00
Quentin Gliech 97e83e1467 Define all the dependencies at the workspace level 2025-06-10 14:25:38 +02:00
Quentin Gliech 8df03bf185 Support for experimental plan management tab in UI (#4549) 2025-06-10 14:14:24 +02:00
Hugh Nimmo-Smith d6dd647f79 Make plan_management_iframe_uri be a String not URL 2025-06-06 10:31:45 +01:00
Quentin Gliech 685f4761cd Add config flag to require registration tokens for password registrations 2025-06-03 17:42:53 +02:00
Quentin Gliech ccb971d3d3 Data model and repository for user registration tokens 2025-06-03 17:42:52 +02:00
Hugh Nimmo-Smith 5a71d49e06 Lint 2025-05-09 10:58:03 +01:00