Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarifications around third-party invites #2083

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

zecakeh
Copy link
Contributor

@zecakeh zecakeh commented Feb 22, 2025

There are a lot of small commits to make changes easy to justify and to review.

I have tried to add more links to other APIs of the spec since this spans across 3 APIs and the links were not obvious unless we read each section. A couple of commits are about formatting the files to wrap lines that were way too long before making actual changes to the files.

The main motivation for this PR is to clarify the base64 encoding of the public keys of the identity server (#2060). Currently Sydent encodes the long-term public key using standard base64, but ephemeral public keys using URL-safe base64. Synapse uses the same python library as Sydent that decodes both indifferently.

Even if we deem that Sydent's behavior is wrong (matrix-org/sydent#593), we still need to document the current behavior, because public keys in m.room.third_party_event are used in the authorization rules to validate m.room.member invites with a third_party_invite property, so homeservers must be able to handle it.

Note that I did not touch the third_party_signed of /join because it is unclear how or when it is used (#2082).

Closes #2060.

Pull Request Checklist

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

…I links

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
…I links

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
… standard or URL-safe base64.

Sydent has been using both alphabets.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
The exact same thing is said two paragraphs before.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Wrap lines at around 100 characters

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>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
@zecakeh zecakeh requested a review from a team as a code owner February 22, 2025 19:17
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
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.

Identity servers public_key(s) base64 format needs to be clarified
1 participant