add in-room m.key.verification.request msgtype

This commit is contained in:
Hubert Chathi 2022-10-04 17:49:36 -04:00
parent 1cdfbd3cd8
commit 191450ea73
6 changed files with 104 additions and 10 deletions

View file

@ -0,0 +1,19 @@
{
"event_id": "$143273582443PhrSn:example.org",
"origin_server_ts": 1432735824653,
"room_id": "!jEsUZKDJdhlrceRyVU:example.org",
"sender": "@alice:example.org",
"type": "m.room.message",
"unsigned": {
"age": 1234
},
"content": {
"body": "Alice is requesting to verify your device, but your client does not support verification, so you may need to use a different verification method.",
"from_device": "AliceDevice2",
"methods": [
"m.sas.v1"
],
"to": "@bob:example.org",
"msgtype": "m.key.verification.request"
}
}

View file

@ -3,7 +3,9 @@ allOf:
- $ref: core-event-schema/event.yaml
description: |-
Requests a key verification with another user's devices.
Requests a key verification using to-device messaging. When requesting a key
verification in a room, a `m.room.message` should be used, with
[`m.key.verification.request`](#mroommessagemkeyverificationrequest) as msgtype.
properties:
content:
properties:

View file

@ -0,0 +1,67 @@
---
allOf:
- $ref: core-event-schema/room_event.yaml
description:
Requests a key verification in a room. When requesting a key verification
using to-device messaging, an event with type [`m.key.verification.request`](#mkeyverificationrequest)
should be used.
properties:
content:
properties:
body:
type: string
description: |-
a fallback message to alert users that their client does not support
the key verification framework, and that they should use a different method
to verify keys. For example, "Alice is requesting to verify keys with you.
However, your client does not support this method, so you will need to use
the legacy method of key verification."
Clients that do support the key verification framework should hide the body
and instead present the user with an interface to accept or reject the key
verification.
format:
description: |-
The format used in the `formatted_body`. Currently only
`org.matrix.custom.html` is supported.
type: string
formatted_body:
description: |-
The formatted version of the `body`. This is required if `format` is
specified. As with the `body`, clients that do support the key
verification framework should hide the formatted body and instead
present the user with an interface to accept or reject the key
verification.
type: string
from_device:
type: string
description: |-
The device ID which is initiating the request.
methods:
type: array
description: |-
The verification methods supported by the sender.
items:
type: string
to:
description: |-
The user that the verification request is intended for. Users who
are not named in this field and who did not send this event should
ignore all other events that have an `m.reference` relationship with
this event.
type: string
msgtype:
enum:
- m.key.verification.request
type: string
required:
- from_device
- methods
- msgtype
type: object
type:
enum:
- m.room.message
type: string
title: KeyVerification
type: object