Skip to content

MSC4447: Move OpenID userinfo endpoint out of /_matrix/federation#4447

Open
gingershaped wants to merge 3 commits into
matrix-org:mainfrom
gingershaped:msc/move-openid-userinfo
Open

MSC4447: Move OpenID userinfo endpoint out of /_matrix/federation#4447
gingershaped wants to merge 3 commits into
matrix-org:mainfrom
gingershaped:msc/move-openid-userinfo

Conversation

@gingershaped
Copy link
Copy Markdown

@gingershaped gingershaped commented Apr 6, 2026

Rendered

Implementations:

  • None yet

Conflict of interest declaration: I am a maintainer of the Continuwuity homeserver. This pull request was written as part of my work on Continuwuity.

Signed-off-by: Ginger ginger@gingershaped.computer

@gingershaped gingershaped changed the title MSC0000: Move OpenID userinfo endpoint out of /_matrix/federation MSC4447: Move OpenID userinfo endpoint out of /_matrix/federation Apr 6, 2026
@tulir tulir added proposal A matrix spec change proposal s2s Server-to-Server API (federation) kind:maintenance MSC which clarifies/updates existing spec needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. labels Apr 6, 2026
Comment thread 4447-move-openid-userinfo.md Outdated
Co-authored-by: Helix K <vel@riseup.net>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Implementation requirements:

  • Server (serving)
  • Application (using)

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.

This is early review on MSC structure rather than contents

@@ -0,0 +1,25 @@
# MSC4447: Move OpenID userinfo endpoint out of `/_matrix/federation`

The Matrix specification includes [an endpoint](https://spec.matrix.org/v1.17/server-server-api/#get_matrixfederationv1openiduserinfo), `/_matrix/federation/v1/openid/userinfo`, which allows a client to prove its identity to an external service. This endpoint is used by the [lk-jwt-service](https://github.com/element-hq/lk-jwt-service), among others. However, its location in the server-to-server API is strange -- it requires no authentication, and, unlike every other endpoint under `/_matrix/federation`, it isn't intended for use by other homeservers. This proposal moves it to a new endpoint prefix, `/_matrix/openid`, to separate it from the federation endpoints which it is unrelated to.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please limit lines to ~100 characters


## Unstable prefix

No unstable name for the new endpoint is proposed, as introducing one would defeat the purpose of this proposal. Servers MAY indicate their support for this proposal by setting the `org.continuwuity.msc4447` field of `unstable_features` to `true` under [`/_matrix/client/versions`](https://spec.matrix.org/v1.17/client-server-api/#get_matrixclientversions).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The new path would need to be served under an unstable namespace. Though it's unlikely to change shape over the course of this MSC, it's still possible.


## Proposal

[`GET /_matrix/federation/v1/openid/userinfo`](https://spec.matrix.org/v1.17/server-server-api/#get_matrixfederationv1openiduserinfo) is moved to a new location, `GET /_matrix/openid/v1/userinfo`. No changes are made to the behavior of the endpoint itself. The old endpoint is marked for deprecation and removal in a future version of the Matrix specification.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Since this endpoint is some weird cut down version of OpenID Connect, we should probably seek to replace the endpoint with the proper oauth2 next-gen auth that recently landed in the spec instead of renaming it with no changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind:maintenance MSC which clarifies/updates existing spec needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal s2s Server-to-Server API (federation)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants