You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
matrix-spec-proposals/data/event-schemas/schema/m.room.third_party_invite.yaml

47 lines
2.3 KiB
YAML

---
$schema: http://json-schema.org/draft-04/schema#
allOf:
- $ref: core-event-schema/state_event.yaml
description: "Acts as an `m.room.member` invite event, where there isn't a target user_id to invite. This event contains a token and a public key whose private key must be used to sign the token. Any user who can present that signature may use this invitation to join the target room."
properties:
content:
properties:
display_name:
description: "A user-readable string which represents the user who has been invited. This should not contain the user's third party ID, as otherwise when the invite is accepted it would leak the association between the matrix ID and the third party ID."
type: string
key_validity_url:
description: "A URL which can be fetched, with querystring public_key=public_key, to validate whether the key has been revoked. The URL must return a JSON object containing a boolean property named 'valid'."
type: string
public_key:
description: A base64-encoded ed25519 key with which token must be signed (though a signature from any entry in public_keys is also sufficient). This exists for backwards compatibility.
type: string
public_keys:
description: Keys with which the token may be signed.
items:
properties:
key_validity_url:
description: "An optional URL which can be fetched, with querystring public_key=public_key, to validate whether the key has been revoked. The URL must return a JSON object containing a boolean property named 'valid'. If this URL is absent, the key must be considered valid indefinitely."
type: string
public_key:
description: A base-64 encoded ed25519 key with which token may be signed.
type: string
required:
- public_key
title: PublicKeys
type: object
type: array
required:
- display_name
- key_validity_url
- public_key
type: object
state_key:
description: 'The token, of which a signature must be produced in order to join the room.'
type: string
type:
enum:
- m.room.third_party_invite
type: string
title: 'An invitation to a room issued to a third party identifier, rather than a matrix user ID.'
type: object