@duosecurity/duo_universal
Version:
Node.js implementation of the Duo Universal SDK.
119 lines (118 loc) • 2.58 kB
TypeScript
export type ClientPayload = {
iss: string;
sub: string;
aud: string;
jti: string;
exp: number;
iat: number;
};
export type ErrorResponse = {
error?: string;
error_description?: string;
};
export type HealthCheckRequest = {
client_id: string;
client_assertion: string;
};
export type HealthCheckResponse = {
stat: string;
response: {
timestamp: number;
};
code?: number;
timestamp?: number;
message?: string;
message_detail?: string;
};
export type AuthorizationRequest = {
response_type: string;
client_id: string;
request: string;
redirect_uri?: string;
scope?: string;
nonce?: string;
state?: string;
};
export type AuthorizationRequestPayload = {
response_type: string;
scope: string;
exp: number;
client_id: string;
redirect_uri: string;
state: string;
duo_uname: string;
iss?: string;
aud?: string;
nonce?: string;
use_duo_code_attribute?: boolean;
};
export type AuthorizationResponse = {
code: string;
state: string;
};
export type TokenRequest = {
grant_type: string;
code: string;
redirect_uri: string;
client_assertion_type: string;
client_assertion: string;
client_id: string;
};
export type TokenResponse = {
id_token: string;
access_token: string;
expires_in: string;
token_type: string;
};
export type Location = {
city: string;
state: string;
country: string;
};
export type TokenResponsePayload = {
iss: string;
sub: string;
aud: string;
exp: number;
iat: number;
auth_time: number;
auth_result: {
result: string;
status: string;
status_msg: string;
};
auth_context: {
txid: string;
timestamp: number;
user: {
name: string;
key: string | null;
groups: string[];
};
application: {
name: string;
key: string;
};
auth_device: {
ip: string | null;
location: Location;
name: string | null;
};
access_device: {
ip: string;
location: Location;
hostname: string | null;
epkey: string | null;
};
factor: string;
event_type: string;
result: string;
reason: string;
alias: string;
isotimestamp: string;
email: string | null;
ood_software: string | null;
};
preferred_username?: string;
nonce?: string;
};