From ae646ac6360ba691d8210057835ba45ed8da712d Mon Sep 17 00:00:00 2001 From: Devon Hudson Date: Fri, 24 Nov 2023 15:54:40 -0700 Subject: [PATCH] Update joins to include a cryptoid field in the request --- proposals/4080-cryptographic-identities.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/proposals/4080-cryptographic-identities.md b/proposals/4080-cryptographic-identities.md index 16475fd7b..922f5e8c1 100644 --- a/proposals/4080-cryptographic-identities.md +++ b/proposals/4080-cryptographic-identities.md @@ -187,6 +187,20 @@ These are added to help the client when sending the join event to the `/send_pdu server chosen by the homeserver to perform the join via. The `via_server` should be passed along to the `/send_pdus` endpoint with the fully signed version of this event. +Room joining adds a new `cryptoid` field to the request body. The `cryptoid` must be valid [Unpadded Base64](https://spec.matrix.org/v1.8/appendices/#unpadded-base64) +and 32 bytes in size in order to be a valid ed25519 public key. This field is used for the homeserver to be able to +create the join event on behalf of the client and for the homeserver to validate the user is joining with the +correct cryptoID if the join follows an invite event. If this is a join without a matching invite, the homeserver +needs to be told which cryptoID to correlate to this room for this user. + +Request: +``` +{ + ..., + cryptoid: string +} +``` + 200 OK Response: ``` {