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;
}
-
Parameters
- req: any
- key: any
Optionalrisk: any
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
Builds one person's drill-down on
/admin/users.