@cfxlabsinc/b2b-services
    Preparing search index...

    An operator's own login on the cfx-admin pool. Each change publishes auth.adminUser.* once it has happened, with no tenant owners: an operator is CFX staff. A refused publish never fails the change.

    Implements

    • OperatorPasskeyClient
    Index
    completeWebAuthnRegistration: (
        __namedParameters: AccessTokenInput & { credential: string },
    ) => Promise<
        { error: CognitoAuthError; ok: false }
        | { ok: true; value: void },
    > = ...

    Adds the browser's passkey, then publishes auth.adminUser.passkeyAdded. The session layer verified the token; only its sub is read, after the add, so a failed read skips the event and never blocks the passkey.

    Type Declaration

      • (
            __namedParameters: AccessTokenInput & { credential: string },
        ): Promise<
            { error: CognitoAuthError; ok: false }
            | { ok: true; value: void },
        >
      • credential is WebAuthn RegistrationResponseJSON, as a JSON string.

        Parameters

        • __namedParameters: AccessTokenInput & { credential: string }

        Returns Promise<{ error: CognitoAuthError; ok: false } | { ok: true; value: void }>

    deleteWebAuthnCredential: (
        __namedParameters: AccessTokenInput & { credentialId: string },
    ) => Promise<
        { error: CognitoAuthError; ok: false }
        | { ok: true; value: void },
    > = ...

    Only a stale RP ID's passkey is deleted, by the session layer: no event.

    listWebAuthnCredentials: (
        __namedParameters: AccessTokenInput,
    ) => Promise<
        | { error: CognitoAuthError; ok: false }
        | { ok: true; value: CognitoPasskey[] },
    > = ...

    Every passkey the signed-in user has, across all pages.

    startWebAuthnRegistration: (
        __namedParameters: AccessTokenInput,
    ) => Promise<
        { error: CognitoAuthError; ok: false }
        | { ok: true; value: string },
    > = ...

    WebAuthn PublicKeyCredentialCreationOptionsJSON, as a JSON string.