Skip to content

Spec Account management for OAuth 2.0 API#2270

Merged
turt2live merged 13 commits intomatrix-org:mainfrom
zecakeh:oauth-account-management
Jan 20, 2026
Merged

Spec Account management for OAuth 2.0 API#2270
turt2live merged 13 commits intomatrix-org:mainfrom
zecakeh:oauth-account-management

Conversation

@zecakeh
Copy link
Copy Markdown
Contributor

@zecakeh zecakeh commented Dec 16, 2025

As per MSC4191.

Pull Request Checklist

Preview: https://pr2270--matrix-spec-previews.netlify.app

As per MSC4191.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
@zecakeh zecakeh requested a review from a team as a code owner December 16, 2025 19:40
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
@hughns
Copy link
Copy Markdown
Member

hughns commented Dec 17, 2025

Question: would it be useful to add notes to the legacy API endpoints to say what the equivalent functionality is in the OAuth 2.0 API?

For example for /_matrix/client/v3/account/deactivate saying something like:

Note: In the OAuth 2.0 API this is replaced by the org.matrix.account_deactivate account management URL action, where supported.

Copy link
Copy Markdown
Member

@hughns hughns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One of the field names is wrong. Otherwise this looks sensible 👍

@zecakeh
Copy link
Copy Markdown
Contributor Author

zecakeh commented Dec 17, 2025

Question: would it be useful to add notes to the legacy API endpoints to say what the equivalent functionality is in the OAuth 2.0 API?

For example for /_matrix/client/v3/account/deactivate saying something like:

Note: In the OAuth 2.0 API this is replaced by the org.matrix.account_deactivate account management URL action, where supported.

I would rather not, we don't do that for other endpoints of the legacy API, and we already have an overview on how to do things depending on the authentication API before defining both APIs.

That said my feelings are not that strong on the subject so if you really think that's better, I'll add it.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
@zecakeh
Copy link
Copy Markdown
Contributor Author

zecakeh commented Dec 17, 2025

I would rather not, we don't do that for other endpoints of the legacy API, and we already have an overview on how to do things depending on the authentication API before defining both APIs.

That said my feelings are not that strong on the subject so if you really think that's better, I'll add it.

Now that I think bout it, it might be good to add this a warning for OAuth aware clients however in #2272.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
@richvdh richvdh requested a review from hughns January 6, 2026 17:13
Copy link
Copy Markdown
Member

@richvdh richvdh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm modulo a couple of nits

zecakeh and others added 3 commits January 7, 2026 14:55
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
@zecakeh zecakeh requested a review from richvdh January 7, 2026 14:00
Copy link
Copy Markdown
Member

@hughns hughns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This now looks good to me.

Please can we ask @turt2live to review to make sure it meets the requirements he said here?

Per recent emails sent to oauth-ext-review on our thread, it seems possible to allow this MSC to go through without formal registration. When we get to the spec PR, we should verbosely describe the fields so we can point to them in a more complete registration application.

Copy link
Copy Markdown
Member

@richvdh richvdh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@richvdh richvdh requested a review from turt2live January 13, 2026 18:12
Copy link
Copy Markdown
Member

@turt2live turt2live left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've done a pass based on IANA's perceived requirements, which is a bit nitpicky (sorry). I haven't checked to see how compatible the SHOULD/MAY/MUST-style suggestions are with the original MSC.

Edit: to clarify review state: "approved with changes".

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
It doesn't make sense to have the action schema in a separate file now
that only the `type` is shared.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
@zecakeh zecakeh requested a review from turt2live January 17, 2026 09:09
@turt2live turt2live merged commit c8c2110 into matrix-org:main Jan 20, 2026
13 checks passed
@zecakeh zecakeh deleted the oauth-account-management branch January 20, 2026 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants