import { SAMLProfile } from '@boxyhq/saml20/dist/typings'; import SSOTraces from '.'; import { OIDCIdPInitiatedReq } from '../typings'; export interface Trace { traceId: string; timestamp: number; error: string; context: { [key: string]: unknown; }; } export interface SSOTrace extends Omit { timestamp?: number /** Can be passed in from outside else will be set to Date.now() */; context: { tenant: string; product: string; clientID: string; redirectUri?: string; requestedOIDCFlow?: boolean; isSAMLFederated?: boolean; isOIDCFederated?: boolean; isIdPFlow?: boolean; relayState?: string; providerName?: string; acsUrl?: string; entityId?: string; samlRequest?: string; samlResponse?: string; issuer?: string; profile?: SAMLProfile; error?: string; error_description?: string; error_uri?: string; session_state_from_op_error?: string; scope_from_op_error?: string; stack?: string; oidcTokenSet?: { id_token?: string; access_token?: string; }; oidcIdPRequest?: OIDCIdPInitiatedReq; oAuthStage?: 'token_fetch' | 'userinfo_fetch'; }; } export type SSOTracesInstance = InstanceType;