UNPKG

3.91 kBTypeScriptView Raw
1import { Handler } from "../handler";
2
3// Result type is weird: docs and samples say to return the mutated event, but it only requires an object
4// with a "response" field, the type of which is specific to the event.triggerType. Leave as any for now.
5export type CognitoUserPoolTriggerHandler = Handler<CognitoUserPoolTriggerEvent>;
6// TODO: Different event/handler types for each event trigger so we can type the result?
7
8/**
9 * Cognito User Pool event
10 * http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html
11 */
12export interface CognitoUserPoolTriggerEvent {
13 version: number;
14 triggerSource:
15 | 'PreSignUp_SignUp'
16 | 'PreSignUp_ExternalProvider'
17 | 'PostConfirmation_ConfirmSignUp'
18 | 'PreAuthentication_Authentication'
19 | 'PostAuthentication_Authentication'
20 | 'CustomMessage_SignUp'
21 | 'CustomMessage_AdminCreateUser'
22 | 'CustomMessage_ResendCode'
23 | 'CustomMessage_ForgotPassword'
24 | 'CustomMessage_UpdateUserAttribute'
25 | 'CustomMessage_VerifyUserAttribute'
26 | 'CustomMessage_Authentication'
27 | 'DefineAuthChallenge_Authentication'
28 | 'CreateAuthChallenge_Authentication'
29 | 'VerifyAuthChallengeResponse_Authentication'
30 | 'PreSignUp_AdminCreateUser'
31 | 'PostConfirmation_ConfirmForgotPassword'
32 | 'TokenGeneration_HostedAuth'
33 | 'TokenGeneration_Authentication'
34 | 'TokenGeneration_NewPasswordChallenge'
35 | 'TokenGeneration_AuthenticateDevice'
36 | 'TokenGeneration_RefreshTokens'
37 | 'UserMigration_Authentication'
38 | 'UserMigration_ForgotPassword';
39 region: string;
40 userPoolId: string;
41 userName?: string;
42 callerContext: {
43 awsSdkVersion: string;
44 clientId: string;
45 };
46 request: {
47 userAttributes: { [key: string]: string };
48 validationData?: { [key: string]: string };
49 codeParameter?: string;
50 linkParameter?: string;
51 usernameParameter?: string;
52 newDeviceUsed?: boolean;
53 session?: Array<{
54 challengeName:
55 | 'CUSTOM_CHALLENGE'
56 | 'PASSWORD_VERIFIER'
57 | 'SMS_MFA'
58 | 'DEVICE_SRP_AUTH'
59 | 'DEVICE_PASSWORD_VERIFIER'
60 | 'ADMIN_NO_SRP_AUTH'
61 | 'SRP_A';
62 challengeResult: boolean;
63 challengeMetadata?: string;
64 }>;
65 challengeName?: string;
66 privateChallengeParameters?: { [key: string]: string };
67 challengeAnswer?: string;
68 password?: string;
69 clientMetadata?: { [key: string]: string };
70 userNotFound?: boolean;
71 };
72 response: {
73 autoConfirmUser?: boolean;
74 autoVerifyPhone?: boolean;
75 autoVerifyEmail?: boolean;
76 smsMessage?: string;
77 emailMessage?: string;
78 emailSubject?: string;
79 challengeName?: string;
80 issueTokens?: boolean;
81 failAuthentication?: boolean;
82 publicChallengeParameters?: { [key: string]: string };
83 privateChallengeParameters?: { [key: string]: string };
84 challengeMetadata?: string;
85 answerCorrect?: boolean;
86 userAttributes?: { [key: string]: string };
87 finalUserStatus?: 'CONFIRMED' | 'RESET_REQUIRED';
88 messageAction?: 'SUPPRESS';
89 desiredDeliveryMediums?: Array<'EMAIL' | 'SMS'>;
90 forceAliasCreation?: boolean;
91 claimsOverrideDetails?: {
92 claimsToAddOrOverride?: { [key: string]: string };
93 claimsToSuppress?: string[];
94 groupOverrideDetails?: null | {
95 groupsToOverride?: string[];
96 iamRolesToOverride?: string[];
97 preferredRole?: string;
98 };
99 };
100 };
101}
102export type CognitoUserPoolEvent = CognitoUserPoolTriggerEvent;