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