matrix-react-sdk
matrix-react-sdk copied to clipboard
Implementation of MSC3824 to make the client OIDC-aware
Requirements as taken from https://github.com/matrix-org/matrix-spec-proposals/pull/3824:
- [x] ~~support the
m.login.sso
auth flow~~ already supported - [x] where a
delegated_oidc_compatibility
value oftrue
is present on anm.login.sso
then only offer that auth flow to the user - [x] append
action=login
andaction=register
parameters to the SSO redirect URLs - [x] sign post and link users to manage their account at the OP web UI given by MSC2965
- [x] RECOMMENDED: label SSO button as "Continue"
Here's what your changelog entry will look like:
✨ Features
- Implementation of MSC3824 to make the client OIDC-aware (#8681). Contributed by @hughns.
With regards to design review -
This PR adds a new section to the user settings screens: in the case that the homeserver is OIDC enabled and the delegated OIDC Provider (authentication server) has an account management web interface, an outbound link is provided to that external web interface.
Before:
After:
The "Manage your account" link opens in a new browser tab (target
=_blank
) on the OIDC Provider.
For context, here is an example external account management web interface:
FTR, the latest iteration on the design shows the hostname of the server hosting the management URL:

@hughns err, I'm not clear on why my review is requested?
Because you previously reviewed this PR and commented.
The PR is old, so feel free to take yourself off it if no longer appropriate.
@hughns here are 2 options for the Settings UI about managing your account...
- Option 1 - Dedicated menu item in left rail takes you directly to the external web page
- Option 2 - Updated text and dedicated button
Also, "Continue" for the SSO button label is fine :)
@americanrefugee this is what I have implemented for next iteration:
Notes:
- I've tweaked the wording to reference "managed" have than "stored"
- The horizontal line isn't present anywhere else on the screens so I have left it out. I do think the readability of the screen would improve with more visual clues on the structure.
- I've used the default
<code>
style to be more consistent with the rest of the app.
Let me know what you think?
@hughns The implementation LGTM