Interface VerificationRequest

An incoming, or outgoing, request to verify a user or a device via cross-signing.

Hierarchy

Implemented by

Accessors

  • get accepting(): boolean
  • True if we have started the process of sending an m.key.verification.ready (but have not necessarily received the remote echo which causes a transition to Ready.

    Returns boolean

  • get cancellationCode(): null | string
  • If this request has been cancelled, the cancellation code (e.g m.user) which is responsible for cancelling this verification.

    Returns null | string

  • get cancellingUserId(): undefined | string
  • The id of the user that cancelled the request.

    Only defined when phase is Cancelled

    Returns undefined | string

  • get declining(): boolean
  • True if we have started the process of sending an m.key.verification.cancel (but have not necessarily received the remote echo which causes a transition to Cancelled).

    Returns boolean

  • get initiatedByMe(): boolean
  • True if this request was initiated by the local client.

    For in-room verifications, the initiator is who sent the m.key.verification.request event. For to-device verifications, the initiator is who sent the m.key.verification.start event.

    Returns boolean

  • get isSelfVerification(): boolean
  • True if the other party in this request is one of this user's own devices.

    Returns boolean

  • get methods(): string[]
  • once the phase is Started (and !initiatedByMe) or Ready: common methods supported by both sides

    Returns string[]

  • get otherDeviceId(): undefined | string
  • For verifications via to-device messages: the ID of the other device. Otherwise, undefined.

    Returns undefined | string

  • get pending(): boolean
  • True if the request has sent its initial event and needs more events to complete (ie it is in phase Requested, Ready or Started).

    Returns boolean

  • get roomId(): undefined | string
  • For an in-room verification, the ID of the room.

    For to-device verifictions, undefined.

    Returns undefined | string

  • get timeout(): null | number
  • The remaining number of ms before the request will be automatically cancelled.

    null indicates that there is no timeout

    Returns null | number

  • get transactionId(): undefined | string
  • Unique ID for this verification request.

    An ID isn't assigned until the first message is sent, so this may be undefined in the early phases.

    Returns undefined | string

Methods

  • Create a Verifier to do this verification via a particular method.

    If a verifier has already been created for this request, returns that verifier.

    This does not send the m.key.verification.start event - to do so, call verify on the returned verifier.

    If no previous events have been sent, pass in targetDevice to set who to direct this request to.

    Parameters

    • method: string

      the name of the verification method to use.

    • Optional targetDevice: {
          deviceId?: string;
          userId?: string;
      }

      details of where to send the request to.

      • Optional deviceId?: string
      • Optional userId?: string

    Returns Verifier

    The verifier which will do the actual verification.

    Deprecated

    Use startVerification instead.

  • Cancels the request, sending a cancellation to the other party

    Parameters

    • Optional params: {
          code?: string;
          reason?: string;
      }

      Details for the cancellation, including reason (defaults to "User declined"), and code (defaults to m.user). Deprecated: this parameter is ignored by the Rust cryptography implementation.

      • Optional code?: string
      • Optional reason?: string

    Returns Promise<void>

    Promise which resolves when the event has been sent.

  • Get the data for a QR code allowing the other device to verify this one, if it supports it.

    Only set after a .ready if the other party can scan a QR code, otherwise undefined.

    Returns undefined | Buffer

  • Checks whether the other party supports a given verification method. This is useful when setting up the QR code UI, as it is somewhat asymmetrical: if the other party supports SCAN_QR, we should show a QR code in the UI, and vice versa. For methods that need to be supported by both ends, use the methods property.

    Parameters

    • method: string

      the method to check

    Returns boolean

    true if the other party said they supported the method

  • Send an m.key.verification.start event to start verification via a particular method.

    Parameters

    • method: string

      the name of the verification method to use.

    Returns Promise<Verifier>

    The verifier which will do the actual verification.

Generated using TypeDoc