ping-identity
    Preparing search index...

    Type Alias QRCodeCollector

    Display-only QR code collector — renders a scannable code for out-of-band authentication (e.g. push registration, cross-device sign-in).

    Does not extend BaseCollector — like LabelCollector, the native QRCodeCollector (Android: Collector<Nothing>; iOS: Collector) does not implement FieldCollector and therefore has no label or required.

    Does not participate in form submission — native payload() always returns nil/null on both platforms.

    key is not exposed by the native Android QRCodeCollector (2.1.0) — the server sends it in the raw field JSON, but the collector's init() never reads it, and its id() falls back to a fresh random UUID on every call. On Android the bridge emits key: "" for this collector until the native SDK exposes it; see DaVinciNodeMapper.kt's TODO-SDK-PARITY comment. iOS's native collector does parse key and is unaffected.

    type QRCodeCollector = {
        content: string;
        fallbackText: string;
        key: string;
        raw?: Record<string, unknown>;
        type: "QR_CODE";
    }
    Index

    Properties

    content: string

    Full data URI of the QR code image (e.g. "data:image/png;base64,...").

    Android's native content getter retains the raw data URI as received from the server. iOS's native collector strips the "data:...base64," prefix during init and only retains decoded imageData bytes — the bridge reconstructs the data URI on iOS (see DaVinciNodeMapper.swift).

    fallbackText: string

    Alternative text to display when the QR code cannot be rendered or scanned.

    key: string

    Unique collector key identifying this field in the form.

    raw?: Record<string, unknown>

    Raw server-side field JSON from node.input.form.components.fields[].

    Populated by the native mapper.

    type: "QR_CODE"