UNPKG

9.98 kBTypeScriptView Raw
1declare module 'amazon-cognito-identity-js' {
2 //import * as AWS from "aws-sdk";
3
4 export type NodeCallback<E, T> = (err?: E, result?: T) => void;
5
6 export interface CodeDeliveryDetails {
7 AttributeName: string;
8 DeliveryMedium: string;
9 Destination: string;
10 }
11
12 export type ClientMetadata = { [key: string]: string } | undefined;
13
14 export interface IAuthenticationCallback {
15 onSuccess: (
16 session: CognitoUserSession,
17 userConfirmationNecessary?: boolean
18 ) => void;
19 onFailure: (err: any) => void;
20 newPasswordRequired?: (
21 userAttributes: any,
22 requiredAttributes: any
23 ) => void;
24 mfaRequired?: (challengeName: any, challengeParameters: any) => void;
25 totpRequired?: (challengeName: any, challengeParameters: any) => void;
26 customChallenge?: (challengeParameters: any) => void;
27 mfaSetup?: (challengeName: any, challengeParameters: any) => void;
28 selectMFAType?: (challengeName: any, challengeParameters: any) => void;
29 }
30
31 export interface IMfaSettings {
32 PreferredMfa: boolean;
33 Enabled: boolean;
34 }
35 export interface IAuthenticationDetailsData {
36 Username: string;
37 Password?: string;
38 ValidationData?: { [key: string]: any };
39 ClientMetadata?: ClientMetadata;
40 }
41
42 export class AuthenticationDetails {
43 constructor(data: IAuthenticationDetailsData);
44
45 public getUsername(): string;
46 public getPassword(): string;
47 public getValidationData(): any[];
48 }
49
50 export interface ICognitoStorage {
51 setItem(key: string, value: string): void;
52 getItem(key: string): string;
53 removeItem(key: string): void;
54 clear(): void;
55 }
56
57 export interface ICognitoUserData {
58 Username: string;
59 Pool: CognitoUserPool;
60 Storage?: ICognitoStorage;
61 }
62
63 export class CognitoUser {
64 constructor(data: ICognitoUserData);
65
66 public setSignInUserSession(
67 signInUserSession: CognitoUserSession
68 ): void;
69 public getSignInUserSession(): CognitoUserSession | null;
70 public getUsername(): string;
71
72 public getAuthenticationFlowType(): string;
73 public setAuthenticationFlowType(
74 authenticationFlowType: string
75 ): string;
76
77 public getSession(callback: Function): any;
78 public refreshSession(
79 refreshToken: CognitoRefreshToken,
80 callback: NodeCallback<any, any>
81 ): void;
82 public authenticateUser(
83 authenticationDetails: AuthenticationDetails,
84 callbacks: IAuthenticationCallback
85 ): void;
86 public initiateAuth(
87 authenticationDetails: AuthenticationDetails,
88 callbacks: IAuthenticationCallback
89 ): void;
90 public confirmRegistration(
91 code: string,
92 forceAliasCreation: boolean,
93 callback: NodeCallback<any, any>,
94 clientMetadata?: ClientMetadata
95 ): void;
96 public sendCustomChallengeAnswer(
97 answerChallenge: any,
98 callback: IAuthenticationCallback
99 ): void;
100 public resendConfirmationCode(
101 callback: NodeCallback<Error, 'SUCCESS'>,
102 clientMetaData?: ClientMetadata
103 ): void;
104 public changePassword(
105 oldPassword: string,
106 newPassword: string,
107 callback: NodeCallback<Error, 'SUCCESS'>
108 ): void;
109 public forgotPassword(
110 callbacks: {
111 onSuccess: (data: any) => void;
112 onFailure: (err: Error) => void;
113 inputVerificationCode?: (data: any) => void;
114 },
115 clientMetaData?: ClientMetadata
116 ): void;
117 public confirmPassword(
118 verificationCode: string,
119 newPassword: string,
120 callbacks: {
121 onSuccess: () => void;
122 onFailure: (err: Error) => void;
123 },
124 clientMetaData?: ClientMetadata
125 ): void;
126 public setDeviceStatusRemembered(callbacks: {
127 onSuccess: (success: string) => void;
128 onFailure: (err: any) => void;
129 }): void;
130 public setDeviceStatusNotRemembered(callbacks: {
131 onSuccess: (success: string) => void;
132 onFailure: (err: any) => void;
133 }): void;
134 public getDevice(callbacks: {
135 onSuccess: (success: string) => void;
136 onFailure: (err: Error) => void;
137 }): any;
138 public forgetDevice(callbacks: {
139 onSuccess: (success: string) => void;
140 onFailure: (err: Error) => void;
141 }): void;
142 public forgetSpecificDevice(
143 deviceKey: string,
144 callbacks: {
145 onSuccess: (success: string) => void;
146 onFailure: (err: Error) => void;
147 }
148 ): void;
149 public sendMFACode(
150 confirmationCode: string,
151 callbacks: {
152 onSuccess: (session: CognitoUserSession) => void;
153 onFailure: (err: any) => void;
154 },
155 mfaType?: string
156 ): void;
157 public listDevices(
158 limit: number,
159 paginationToken: string,
160 callbacks: {
161 onSuccess: (data: any) => void;
162 onFailure: (err: Error) => void;
163 }
164 ): void;
165 public completeNewPasswordChallenge(
166 newPassword: string,
167 requiredAttributeData: any,
168 callbacks: {
169 onSuccess: (session: CognitoUserSession) => void;
170 onFailure: (err: any) => void;
171 mfaRequired?: (
172 challengeName: any,
173 challengeParameters: any
174 ) => void;
175 customChallenge?: (challengeParameters: any) => void;
176 mfaSetup?: (
177 challengeName: any,
178 challengeParameters: any
179 ) => void;
180 },
181 clientMetadata?: ClientMetadata
182 ): void;
183 public signOut(): void;
184 public globalSignOut(callbacks: {
185 onSuccess: (msg: string) => void;
186 onFailure: (err: Error) => void;
187 }): void;
188 public verifyAttribute(
189 attributeName: string,
190 confirmationCode: string,
191 callbacks: {
192 onSuccess: (success: string) => void;
193 onFailure: (err: Error) => void;
194 }
195 ): void;
196 public getUserAttributes(
197 callback: NodeCallback<Error, CognitoUserAttribute[]>
198 ): void;
199 public updateAttributes(
200 attributes: ICognitoUserAttributeData[],
201 callback: NodeCallback<Error, string>
202 ): void;
203 public deleteAttributes(
204 attributeList: string[],
205 callback: NodeCallback<Error, string>
206 ): void;
207 public getAttributeVerificationCode(
208 name: string,
209 callback: {
210 onSuccess: () => void;
211 onFailure: (err: Error) => void;
212 inputVerificationCode?: (data: string) => void | null;
213 }
214 ): void;
215 public deleteUser(callback: NodeCallback<Error, string>): void;
216 public enableMFA(callback: NodeCallback<Error, string>): void;
217 public disableMFA(callback: NodeCallback<Error, string>): void;
218 public getMFAOptions(callback: NodeCallback<Error, MFAOption[]>): void;
219 public getUserData(callback: NodeCallback<Error, UserData>): void;
220 public associateSoftwareToken(callbacks: {
221 associateSecretCode: (secretCode: string) => void;
222 onFailure: (err: any) => void;
223 }): void;
224 public verifySoftwareToken(
225 totpCode: string,
226 friendlyDeviceName: string,
227 callbacks: {
228 onSuccess: (session: CognitoUserSession) => void;
229 onFailure: (err: Error) => void;
230 }
231 ): void;
232 public setUserMfaPreference(
233 smsMfaSettings: IMfaSettings | null,
234 softwareTokenMfaSettings: IMfaSettings | null,
235 callback: NodeCallback<Error, string>
236 ): void;
237 public sendMFASelectionAnswer(
238 answerChallenge: string,
239 callbacks: {
240 onSuccess: (session: CognitoUserSession) => void;
241 onFailure: (err: any) => void;
242 mfaRequired?: (
243 challengeName: any,
244 challengeParameters: any
245 ) => void;
246 totpRequired?: (
247 challengeName: any,
248 challengeParameters: any
249 ) => void;
250 }
251 ): void;
252 }
253
254 export interface MFAOption {
255 DeliveryMedium: 'SMS' | 'EMAIL';
256 AttributeName: string;
257 }
258
259 export interface UserData {
260 MFAOptions: MFAOption[];
261 PreferredMfaSetting: string;
262 UserAttributes: ICognitoUserAttributeData[];
263 UserMFASettingList: string[];
264 Username: string;
265 }
266
267 export interface ICognitoUserAttributeData {
268 Name: string;
269 Value: string;
270 }
271
272 export class CognitoUserAttribute {
273 constructor(data: ICognitoUserAttributeData);
274
275 public getValue(): string;
276 public setValue(value: string): CognitoUserAttribute;
277 public getName(): string;
278 public setName(name: string): CognitoUserAttribute;
279 public toString(): string;
280 public toJSON(): Object;
281 }
282
283 export interface ISignUpResult {
284 user: CognitoUser;
285 userConfirmed: boolean;
286 userSub: string;
287 codeDeliveryDetails: CodeDeliveryDetails;
288 }
289
290 export interface ICognitoUserPoolData {
291 UserPoolId: string;
292 ClientId: string;
293 endpoint?: string;
294 Storage?: ICognitoStorage;
295 }
296
297 export class CognitoUserPool {
298 constructor(data: ICognitoUserPoolData);
299
300 public getUserPoolId(): string;
301 public getClientId(): string;
302
303 public signUp(
304 username: string,
305 password: string,
306 userAttributes: CognitoUserAttribute[],
307 validationData: CognitoUserAttribute[],
308 callback: NodeCallback<Error, ISignUpResult>
309 ): void;
310
311 public getCurrentUser(): CognitoUser | null;
312 }
313
314 export interface ICognitoUserSessionData {
315 IdToken: CognitoIdToken;
316 AccessToken: CognitoAccessToken;
317 RefreshToken?: CognitoRefreshToken;
318 }
319
320 export class CognitoUserSession {
321 constructor(data: ICognitoUserSessionData);
322
323 public getIdToken(): CognitoIdToken;
324 public getRefreshToken(): CognitoRefreshToken;
325 public getAccessToken(): CognitoAccessToken;
326 public isValid(): boolean;
327 }
328 /*
329 export class CognitoIdentityServiceProvider {
330 public config: AWS.CognitoIdentityServiceProvider.Types.ClientConfiguration;
331 }
332 */
333 export class CognitoAccessToken {
334 payload: { [key: string]: any };
335
336 constructor({ AccessToken }: { AccessToken: string });
337
338 public getJwtToken(): string;
339 public getExpiration(): number;
340 public getIssuedAt(): number;
341 public decodePayload(): { [id: string]: any };
342 }
343
344 export class CognitoIdToken {
345 payload: { [key: string]: any };
346
347 constructor({ IdToken }: { IdToken: string });
348
349 public getJwtToken(): string;
350 public getExpiration(): number;
351 public getIssuedAt(): number;
352 public decodePayload(): { [id: string]: any };
353 }
354
355 export class CognitoRefreshToken {
356 constructor({ RefreshToken }: { RefreshToken: string });
357
358 public getToken(): string;
359 }
360
361 export interface ICookieStorageData {
362 domain: string;
363 path?: string;
364 expires?: number;
365 secure?: boolean;
366 }
367 export class CookieStorage implements ICognitoStorage {
368 constructor(data: ICookieStorageData);
369 setItem(key: string, value: string): void;
370 getItem(key: string): string;
371 removeItem(key: string): void;
372 clear(): void;
373 }
374}