iya-sts
    Preparing search index...
    userDetailJson: (
        req: any,
        key: any,
        risk?: any,
    ) => {
        artifactPage: {
            paging: {
                firstRow: number;
                lastRow: number;
                noun: any;
                offset: number;
                page: number;
                pages: number;
                param: string;
                perPage: number;
                total: any;
            };
            shown: any;
        };
        attributeEditor: {
            attributes: (
                EditableRow & { editable: boolean; values: string[]; why: string }
            )[];
            dn: string;
            mail: string;
            withheld: Withheld[];
        };
        back: string;
        credentialsState: Record<string, any>;
        detail: { artifacts: any; tokens: any; user: any };
        directory: { json: any };
        endedPage: {
            paging: {
                firstRow: number;
                lastRow: number;
                noun: any;
                offset: number;
                page: number;
                pages: number;
                param: string;
                perPage: number;
                total: any;
            };
            shown: any;
        };
        expired: any;
        federationLinkPage: {
            paging: {
                firstRow: number;
                lastRow: number;
                noun: any;
                offset: number;
                page: number;
                pages: number;
                param: string;
                perPage: number;
                total: any;
            };
            shown: any;
        };
        gnapGrants: { cells: any; paging: any; rows: any };
        json: {
            artifacts: any;
            artifactsPaging: {
                firstRow: any;
                lastRow: any;
                page: any;
                pages: any;
                perPage: any;
                total: any;
            };
            attributeEditor: {
                attributes: (
                    EditableRow & { editable: boolean; values: string[]; why: string }
                )[];
                dn: string;
                mail: string;
                withheld: Withheld[];
            };
            credentials: any;
            factors: {
                activated: boolean;
                appPasswords: any;
                backupCodes: | {
                    generatedAt: number;
                    hashed?: undefined;
                    lastUsedAt: number;
                    legacy?: undefined;
                    present: boolean;
                    remaining: number;
                    sealed: boolean;
                    total: number;
                    usable: boolean;
                    used: number;
                    why: string;
                }
                | {
                    generatedAt: number;
                    hashed: boolean;
                    lastUsedAt: number;
                    legacy: boolean;
                    present: boolean;
                    remaining: number;
                    sealed: boolean;
                    total: number;
                    usable: boolean;
                    used: number;
                    why: string;
                };
                disabled: boolean;
                keys: {
                    aaguid: any;
                    algorithm: {
                        coseAlg: number;
                        insecure: boolean;
                        name: string;
                        postQuantum: boolean;
                        text: string;
                    };
                    attestation: any;
                    credentialId: any;
                    enrolledAt: any;
                    label: any;
                    role: any;
                    signCount: any;
                }[];
                mfaKeys: number;
                mfaRequired: boolean;
                mfaRequirement: | {
                    byAdministrator: boolean;
                    byRealm: boolean;
                    byUser: boolean;
                    offered: boolean;
                    required: boolean;
                }
                | { byRealm: false; byUser: false; required: false };
                password: boolean;
                passwordChangeRequired: boolean;
                passwordOnlyDoors: {
                    accepted: string[];
                    passwordAloneDoors: string[];
                    refused: string[];
                    secondFactor: boolean;
                    sentence: string;
                };
                passwordResetLink: { expired: boolean; expires: any };
                policy: {
                    backupCodesCount: number;
                    backupCodesEnabled: boolean;
                    maxKeysPerPerson: any;
                    mfaAllowed: boolean;
                    primaryAllowed: boolean;
                    totpEnabled: boolean;
                    webauthnEnabled: boolean;
                };
                primaryKeys: number;
                secondFactor: string;
                totp: boolean;
                totpDetail: {
                    algorithm: any;
                    digits: any;
                    enrolledAt: any;
                    lastUsedAt: any;
                    period: any;
                    sealed: boolean;
                    unusable: boolean;
                    why: any;
                };
                totpUsable: boolean;
                usable: boolean;
            };
            federationLinks: any;
            federationLinksPaging: {
                firstRow: any;
                lastRow: any;
                page: any;
                pages: any;
                perPage: any;
                total: any;
            };
            gnapGrants: any;
            gnapGrantsCells: any;
            gnapGrantsPaging: any;
            kerberos: any;
            ldap: any;
            risk: any;
            sessions: any;
            sessionsPaging: {
                firstRow: any;
                lastRow: any;
                page: any;
                pages: any;
                perPage: any;
                total: any;
            };
            subject: string;
            tokensOnEndedSessions: any;
            tokensOnEndedSessionsPaging: {
                firstRow: any;
                lastRow: any;
                page: any;
                pages: any;
                perPage: any;
                total: any;
            };
            tokensWithNoSession: any;
            tokensWithNoSessionPaging: {
                firstRow: any;
                lastRow: any;
                page: any;
                pages: any;
                perPage: any;
                total: any;
            };
            user: any;
        };
        kerberos: any;
        live: any[];
        mfa: {
            json: {
                activated: boolean;
                appPasswords: any;
                backupCodes: | {
                    generatedAt: number;
                    hashed?: undefined;
                    lastUsedAt: number;
                    legacy?: undefined;
                    present: boolean;
                    remaining: number;
                    sealed: boolean;
                    total: number;
                    usable: boolean;
                    used: number;
                    why: string;
                }
                | {
                    generatedAt: number;
                    hashed: boolean;
                    lastUsedAt: number;
                    legacy: boolean;
                    present: boolean;
                    remaining: number;
                    sealed: boolean;
                    total: number;
                    usable: boolean;
                    used: number;
                    why: string;
                };
                disabled: boolean;
                keys: {
                    aaguid: any;
                    algorithm: {
                        coseAlg: number;
                        insecure: boolean;
                        name: string;
                        postQuantum: boolean;
                        text: string;
                    };
                    attestation: any;
                    credentialId: any;
                    enrolledAt: any;
                    label: any;
                    role: any;
                    signCount: any;
                }[];
                mfaKeys: number;
                mfaRequired: boolean;
                mfaRequirement: | {
                    byAdministrator: boolean;
                    byRealm: boolean;
                    byUser: boolean;
                    offered: boolean;
                    required: boolean;
                }
                | { byRealm: false; byUser: false; required: false };
                password: boolean;
                passwordChangeRequired: boolean;
                passwordOnlyDoors: {
                    accepted: string[];
                    passwordAloneDoors: string[];
                    refused: string[];
                    secondFactor: boolean;
                    sentence: string;
                };
                passwordResetLink: { expired: boolean; expires: any };
                policy: {
                    backupCodesCount: number;
                    backupCodesEnabled: boolean;
                    maxKeysPerPerson: any;
                    mfaAllowed: boolean;
                    primaryAllowed: boolean;
                    totpEnabled: boolean;
                    webauthnEnabled: boolean;
                };
                primaryKeys: number;
                secondFactor: string;
                totp: boolean;
                totpDetail: {
                    algorithm: any;
                    digits: any;
                    enrolledAt: any;
                    lastUsedAt: any;
                    period: any;
                    sealed: boolean;
                    unusable: boolean;
                    why: any;
                };
                totpUsable: boolean;
                usable: boolean;
            };
        };
        params: Record<string, any>;
        row: any;
        sessionlessPage: {
            paging: {
                firstRow: number;
                lastRow: number;
                noun: any;
                offset: number;
                page: number;
                pages: number;
                param: string;
                perPage: number;
                total: any;
            };
            shown: any;
        };
        sessionPage: {
            paging: {
                firstRow: number;
                lastRow: number;
                noun: any;
                offset: number;
                page: number;
                pages: number;
                param: string;
                perPage: number;
                total: any;
            };
            shown: any;
        };
        sessionRows: any[];
        sessionTokenPages: any;
        split: { ended: any[]; held: Record<string, any>; sessionless: any[] };
        valid: any;
    } = ...

    Type Declaration

      • (
            req: any,
            key: any,
            risk?: any,
        ): {
            artifactPage: {
                paging: {
                    firstRow: number;
                    lastRow: number;
                    noun: any;
                    offset: number;
                    page: number;
                    pages: number;
                    param: string;
                    perPage: number;
                    total: any;
                };
                shown: any;
            };
            attributeEditor: {
                attributes: (
                    EditableRow & { editable: boolean; values: string[]; why: string }
                )[];
                dn: string;
                mail: string;
                withheld: Withheld[];
            };
            back: string;
            credentialsState: Record<string, any>;
            detail: { artifacts: any; tokens: any; user: any };
            directory: { json: any };
            endedPage: {
                paging: {
                    firstRow: number;
                    lastRow: number;
                    noun: any;
                    offset: number;
                    page: number;
                    pages: number;
                    param: string;
                    perPage: number;
                    total: any;
                };
                shown: any;
            };
            expired: any;
            federationLinkPage: {
                paging: {
                    firstRow: number;
                    lastRow: number;
                    noun: any;
                    offset: number;
                    page: number;
                    pages: number;
                    param: string;
                    perPage: number;
                    total: any;
                };
                shown: any;
            };
            gnapGrants: { cells: any; paging: any; rows: any };
            json: {
                artifacts: any;
                artifactsPaging: {
                    firstRow: any;
                    lastRow: any;
                    page: any;
                    pages: any;
                    perPage: any;
                    total: any;
                };
                attributeEditor: {
                    attributes: (
                        EditableRow & { editable: boolean; values: string[]; why: string }
                    )[];
                    dn: string;
                    mail: string;
                    withheld: Withheld[];
                };
                credentials: any;
                factors: {
                    activated: boolean;
                    appPasswords: any;
                    backupCodes: | {
                        generatedAt: number;
                        hashed?: undefined;
                        lastUsedAt: number;
                        legacy?: undefined;
                        present: boolean;
                        remaining: number;
                        sealed: boolean;
                        total: number;
                        usable: boolean;
                        used: number;
                        why: string;
                    }
                    | {
                        generatedAt: number;
                        hashed: boolean;
                        lastUsedAt: number;
                        legacy: boolean;
                        present: boolean;
                        remaining: number;
                        sealed: boolean;
                        total: number;
                        usable: boolean;
                        used: number;
                        why: string;
                    };
                    disabled: boolean;
                    keys: {
                        aaguid: any;
                        algorithm: {
                            coseAlg: number;
                            insecure: boolean;
                            name: string;
                            postQuantum: boolean;
                            text: string;
                        };
                        attestation: any;
                        credentialId: any;
                        enrolledAt: any;
                        label: any;
                        role: any;
                        signCount: any;
                    }[];
                    mfaKeys: number;
                    mfaRequired: boolean;
                    mfaRequirement: | {
                        byAdministrator: boolean;
                        byRealm: boolean;
                        byUser: boolean;
                        offered: boolean;
                        required: boolean;
                    }
                    | { byRealm: false; byUser: false; required: false };
                    password: boolean;
                    passwordChangeRequired: boolean;
                    passwordOnlyDoors: {
                        accepted: string[];
                        passwordAloneDoors: string[];
                        refused: string[];
                        secondFactor: boolean;
                        sentence: string;
                    };
                    passwordResetLink: { expired: boolean; expires: any };
                    policy: {
                        backupCodesCount: number;
                        backupCodesEnabled: boolean;
                        maxKeysPerPerson: any;
                        mfaAllowed: boolean;
                        primaryAllowed: boolean;
                        totpEnabled: boolean;
                        webauthnEnabled: boolean;
                    };
                    primaryKeys: number;
                    secondFactor: string;
                    totp: boolean;
                    totpDetail: {
                        algorithm: any;
                        digits: any;
                        enrolledAt: any;
                        lastUsedAt: any;
                        period: any;
                        sealed: boolean;
                        unusable: boolean;
                        why: any;
                    };
                    totpUsable: boolean;
                    usable: boolean;
                };
                federationLinks: any;
                federationLinksPaging: {
                    firstRow: any;
                    lastRow: any;
                    page: any;
                    pages: any;
                    perPage: any;
                    total: any;
                };
                gnapGrants: any;
                gnapGrantsCells: any;
                gnapGrantsPaging: any;
                kerberos: any;
                ldap: any;
                risk: any;
                sessions: any;
                sessionsPaging: {
                    firstRow: any;
                    lastRow: any;
                    page: any;
                    pages: any;
                    perPage: any;
                    total: any;
                };
                subject: string;
                tokensOnEndedSessions: any;
                tokensOnEndedSessionsPaging: {
                    firstRow: any;
                    lastRow: any;
                    page: any;
                    pages: any;
                    perPage: any;
                    total: any;
                };
                tokensWithNoSession: any;
                tokensWithNoSessionPaging: {
                    firstRow: any;
                    lastRow: any;
                    page: any;
                    pages: any;
                    perPage: any;
                    total: any;
                };
                user: any;
            };
            kerberos: any;
            live: any[];
            mfa: {
                json: {
                    activated: boolean;
                    appPasswords: any;
                    backupCodes: | {
                        generatedAt: number;
                        hashed?: undefined;
                        lastUsedAt: number;
                        legacy?: undefined;
                        present: boolean;
                        remaining: number;
                        sealed: boolean;
                        total: number;
                        usable: boolean;
                        used: number;
                        why: string;
                    }
                    | {
                        generatedAt: number;
                        hashed: boolean;
                        lastUsedAt: number;
                        legacy: boolean;
                        present: boolean;
                        remaining: number;
                        sealed: boolean;
                        total: number;
                        usable: boolean;
                        used: number;
                        why: string;
                    };
                    disabled: boolean;
                    keys: {
                        aaguid: any;
                        algorithm: {
                            coseAlg: number;
                            insecure: boolean;
                            name: string;
                            postQuantum: boolean;
                            text: string;
                        };
                        attestation: any;
                        credentialId: any;
                        enrolledAt: any;
                        label: any;
                        role: any;
                        signCount: any;
                    }[];
                    mfaKeys: number;
                    mfaRequired: boolean;
                    mfaRequirement: | {
                        byAdministrator: boolean;
                        byRealm: boolean;
                        byUser: boolean;
                        offered: boolean;
                        required: boolean;
                    }
                    | { byRealm: false; byUser: false; required: false };
                    password: boolean;
                    passwordChangeRequired: boolean;
                    passwordOnlyDoors: {
                        accepted: string[];
                        passwordAloneDoors: string[];
                        refused: string[];
                        secondFactor: boolean;
                        sentence: string;
                    };
                    passwordResetLink: { expired: boolean; expires: any };
                    policy: {
                        backupCodesCount: number;
                        backupCodesEnabled: boolean;
                        maxKeysPerPerson: any;
                        mfaAllowed: boolean;
                        primaryAllowed: boolean;
                        totpEnabled: boolean;
                        webauthnEnabled: boolean;
                    };
                    primaryKeys: number;
                    secondFactor: string;
                    totp: boolean;
                    totpDetail: {
                        algorithm: any;
                        digits: any;
                        enrolledAt: any;
                        lastUsedAt: any;
                        period: any;
                        sealed: boolean;
                        unusable: boolean;
                        why: any;
                    };
                    totpUsable: boolean;
                    usable: boolean;
                };
            };
            params: Record<string, any>;
            row: any;
            sessionlessPage: {
                paging: {
                    firstRow: number;
                    lastRow: number;
                    noun: any;
                    offset: number;
                    page: number;
                    pages: number;
                    param: string;
                    perPage: number;
                    total: any;
                };
                shown: any;
            };
            sessionPage: {
                paging: {
                    firstRow: number;
                    lastRow: number;
                    noun: any;
                    offset: number;
                    page: number;
                    pages: number;
                    param: string;
                    perPage: number;
                    total: any;
                };
                shown: any;
            };
            sessionRows: any[];
            sessionTokenPages: any;
            split: { ended: any[]; held: Record<string, any>; sessionless: any[] };
            valid: any;
        }
      • Builds one person's drill-down on /admin/users.

        Parameters

        • req: any

          the request

        • key: any

          the person

        • Optionalrisk: any

          the person's current risk standing, read by riskFor()

        Returns {
            artifactPage: {
                paging: {
                    firstRow: number;
                    lastRow: number;
                    noun: any;
                    offset: number;
                    page: number;
                    pages: number;
                    param: string;
                    perPage: number;
                    total: any;
                };
                shown: any;
            };
            attributeEditor: {
                attributes: (
                    EditableRow & { editable: boolean; values: string[]; why: string }
                )[];
                dn: string;
                mail: string;
                withheld: Withheld[];
            };
            back: string;
            credentialsState: Record<string, any>;
            detail: { artifacts: any; tokens: any; user: any };
            directory: { json: any };
            endedPage: {
                paging: {
                    firstRow: number;
                    lastRow: number;
                    noun: any;
                    offset: number;
                    page: number;
                    pages: number;
                    param: string;
                    perPage: number;
                    total: any;
                };
                shown: any;
            };
            expired: any;
            federationLinkPage: {
                paging: {
                    firstRow: number;
                    lastRow: number;
                    noun: any;
                    offset: number;
                    page: number;
                    pages: number;
                    param: string;
                    perPage: number;
                    total: any;
                };
                shown: any;
            };
            gnapGrants: { cells: any; paging: any; rows: any };
            json: {
                artifacts: any;
                artifactsPaging: {
                    firstRow: any;
                    lastRow: any;
                    page: any;
                    pages: any;
                    perPage: any;
                    total: any;
                };
                attributeEditor: {
                    attributes: (
                        EditableRow & { editable: boolean; values: string[]; why: string }
                    )[];
                    dn: string;
                    mail: string;
                    withheld: Withheld[];
                };
                credentials: any;
                factors: {
                    activated: boolean;
                    appPasswords: any;
                    backupCodes: | {
                        generatedAt: number;
                        hashed?: undefined;
                        lastUsedAt: number;
                        legacy?: undefined;
                        present: boolean;
                        remaining: number;
                        sealed: boolean;
                        total: number;
                        usable: boolean;
                        used: number;
                        why: string;
                    }
                    | {
                        generatedAt: number;
                        hashed: boolean;
                        lastUsedAt: number;
                        legacy: boolean;
                        present: boolean;
                        remaining: number;
                        sealed: boolean;
                        total: number;
                        usable: boolean;
                        used: number;
                        why: string;
                    };
                    disabled: boolean;
                    keys: {
                        aaguid: any;
                        algorithm: {
                            coseAlg: number;
                            insecure: boolean;
                            name: string;
                            postQuantum: boolean;
                            text: string;
                        };
                        attestation: any;
                        credentialId: any;
                        enrolledAt: any;
                        label: any;
                        role: any;
                        signCount: any;
                    }[];
                    mfaKeys: number;
                    mfaRequired: boolean;
                    mfaRequirement: | {
                        byAdministrator: boolean;
                        byRealm: boolean;
                        byUser: boolean;
                        offered: boolean;
                        required: boolean;
                    }
                    | { byRealm: false; byUser: false; required: false };
                    password: boolean;
                    passwordChangeRequired: boolean;
                    passwordOnlyDoors: {
                        accepted: string[];
                        passwordAloneDoors: string[];
                        refused: string[];
                        secondFactor: boolean;
                        sentence: string;
                    };
                    passwordResetLink: { expired: boolean; expires: any };
                    policy: {
                        backupCodesCount: number;
                        backupCodesEnabled: boolean;
                        maxKeysPerPerson: any;
                        mfaAllowed: boolean;
                        primaryAllowed: boolean;
                        totpEnabled: boolean;
                        webauthnEnabled: boolean;
                    };
                    primaryKeys: number;
                    secondFactor: string;
                    totp: boolean;
                    totpDetail: {
                        algorithm: any;
                        digits: any;
                        enrolledAt: any;
                        lastUsedAt: any;
                        period: any;
                        sealed: boolean;
                        unusable: boolean;
                        why: any;
                    };
                    totpUsable: boolean;
                    usable: boolean;
                };
                federationLinks: any;
                federationLinksPaging: {
                    firstRow: any;
                    lastRow: any;
                    page: any;
                    pages: any;
                    perPage: any;
                    total: any;
                };
                gnapGrants: any;
                gnapGrantsCells: any;
                gnapGrantsPaging: any;
                kerberos: any;
                ldap: any;
                risk: any;
                sessions: any;
                sessionsPaging: {
                    firstRow: any;
                    lastRow: any;
                    page: any;
                    pages: any;
                    perPage: any;
                    total: any;
                };
                subject: string;
                tokensOnEndedSessions: any;
                tokensOnEndedSessionsPaging: {
                    firstRow: any;
                    lastRow: any;
                    page: any;
                    pages: any;
                    perPage: any;
                    total: any;
                };
                tokensWithNoSession: any;
                tokensWithNoSessionPaging: {
                    firstRow: any;
                    lastRow: any;
                    page: any;
                    pages: any;
                    perPage: any;
                    total: any;
                };
                user: any;
            };
            kerberos: any;
            live: any[];
            mfa: {
                json: {
                    activated: boolean;
                    appPasswords: any;
                    backupCodes: | {
                        generatedAt: number;
                        hashed?: undefined;
                        lastUsedAt: number;
                        legacy?: undefined;
                        present: boolean;
                        remaining: number;
                        sealed: boolean;
                        total: number;
                        usable: boolean;
                        used: number;
                        why: string;
                    }
                    | {
                        generatedAt: number;
                        hashed: boolean;
                        lastUsedAt: number;
                        legacy: boolean;
                        present: boolean;
                        remaining: number;
                        sealed: boolean;
                        total: number;
                        usable: boolean;
                        used: number;
                        why: string;
                    };
                    disabled: boolean;
                    keys: {
                        aaguid: any;
                        algorithm: {
                            coseAlg: number;
                            insecure: boolean;
                            name: string;
                            postQuantum: boolean;
                            text: string;
                        };
                        attestation: any;
                        credentialId: any;
                        enrolledAt: any;
                        label: any;
                        role: any;
                        signCount: any;
                    }[];
                    mfaKeys: number;
                    mfaRequired: boolean;
                    mfaRequirement: | {
                        byAdministrator: boolean;
                        byRealm: boolean;
                        byUser: boolean;
                        offered: boolean;
                        required: boolean;
                    }
                    | { byRealm: false; byUser: false; required: false };
                    password: boolean;
                    passwordChangeRequired: boolean;
                    passwordOnlyDoors: {
                        accepted: string[];
                        passwordAloneDoors: string[];
                        refused: string[];
                        secondFactor: boolean;
                        sentence: string;
                    };
                    passwordResetLink: { expired: boolean; expires: any };
                    policy: {
                        backupCodesCount: number;
                        backupCodesEnabled: boolean;
                        maxKeysPerPerson: any;
                        mfaAllowed: boolean;
                        primaryAllowed: boolean;
                        totpEnabled: boolean;
                        webauthnEnabled: boolean;
                    };
                    primaryKeys: number;
                    secondFactor: string;
                    totp: boolean;
                    totpDetail: {
                        algorithm: any;
                        digits: any;
                        enrolledAt: any;
                        lastUsedAt: any;
                        period: any;
                        sealed: boolean;
                        unusable: boolean;
                        why: any;
                    };
                    totpUsable: boolean;
                    usable: boolean;
                };
            };
            params: Record<string, any>;
            row: any;
            sessionlessPage: {
                paging: {
                    firstRow: number;
                    lastRow: number;
                    noun: any;
                    offset: number;
                    page: number;
                    pages: number;
                    param: string;
                    perPage: number;
                    total: any;
                };
                shown: any;
            };
            sessionPage: {
                paging: {
                    firstRow: number;
                    lastRow: number;
                    noun: any;
                    offset: number;
                    page: number;
                    pages: number;
                    param: string;
                    perPage: number;
                    total: any;
                };
                shown: any;
            };
            sessionRows: any[];
            sessionTokenPages: any;
            split: { ended: any[]; held: Record<string, any>; sessionless: any[] };
            valid: any;
        }

        the JSON