@idto/digilocker-sdk
Version:
Official JavaScript SDK for integrating DigiLocker authentication with IDTO platform. Provides secure Aadhaar verification with real-time event tracking and reference key delivery.
103 lines • 2.75 kB
TypeScript
export interface IDTOApiResponse<T = any> {
status: 'success' | 'error';
data?: T;
message?: string;
url?: string;
}
export interface DigilockerInitiateSessionRequest {
user_id: string;
url: string;
}
export interface DigilockerInitiateSessionResponse {
status: 'success';
url: string;
}
export interface DigilockerGetReferenceRequest {
user_id: string;
code: string;
code_verifier: string;
}
export interface DigilockerGetReferenceResponse {
status: 'success';
reference_key: string;
expires_at: string;
}
export interface DigilockerEvent {
type: DigilockerEventType;
timestamp: number;
data?: any;
}
export type DigilockerEventType = 'SESSION_INITIATED' | 'SESSION_COMPLETED' | 'REFERENCE_RECEIVED' | 'ERROR_OCCURRED' | 'SESSION_EXPIRED' | 'USER_CANCELLED' | 'LANGUAGE_CHANGED' | 'AUDIO_TOGGLED';
export interface DigilockerEventData {
SESSION_INITIATED: {
user_id: string;
redirect_url: string;
};
SESSION_COMPLETED: {
user_id: string;
};
REFERENCE_RECEIVED: {
user_id: string;
reference_key: string;
expires_at: string;
};
ERROR_OCCURRED: {
user_id: string;
error: string;
error_code?: string;
};
SESSION_EXPIRED: {
user_id: string;
reference_key: string;
};
USER_CANCELLED: {
user_id: string;
};
LANGUAGE_CHANGED: {
language: string;
language_code: string;
};
AUDIO_TOGGLED: {
is_muted: boolean;
};
}
export interface DigilockerEventEmitter {
on(event: DigilockerEventType, callback: (event: DigilockerEvent) => void): void;
off(event: DigilockerEventType, callback: (event: DigilockerEvent) => void): void;
emit(event: DigilockerEventType, data?: any): void;
removeAllListeners(): void;
}
export interface DigilockerSDKConfig {
userId: string;
token: string;
onEvent?: (event: DigilockerEvent) => void;
onSessionInitiated?: (data: {
user_id: string;
redirect_url: string;
}) => void;
onReferenceReceived?: (data: {
user_id: string;
reference_key: string;
expires_at: string;
}) => void;
onSessionCompleted?: (data: {
user_id: string;
}) => void;
onError?: (data: {
user_id: string;
error: string;
error_code?: string;
}) => void;
onSessionExpired?: (data: {
user_id: string;
reference_key: string;
}) => void;
onLanguageChanged?: (data: {
language: string;
language_code: string;
}) => void;
onAudioToggled?: (data: {
is_muted: boolean;
}) => void;
}
//# sourceMappingURL=digilocker.d.ts.map