UNPKG

3.85 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 challengeResult: boolean;
62 challengeMetadata?: string;
63 }>;
64 challengeName?: string;
65 privateChallengeParameters?: { [key: string]: string };
66 challengeAnswer?: string;
67 password?: string;
68 clientMetadata?: { [key: string]: string };
69 };
70 response: {
71 autoConfirmUser?: boolean;
72 autoVerifyPhone?: boolean;
73 autoVerifyEmail?: boolean;
74 smsMessage?: string;
75 emailMessage?: string;
76 emailSubject?: string;
77 challengeName?: string;
78 issueTokens?: boolean;
79 failAuthentication?: boolean;
80 publicChallengeParameters?: { [key: string]: string };
81 privateChallengeParameters?: { [key: string]: string };
82 challengeMetadata?: string;
83 answerCorrect?: boolean;
84 userAttributes?: { [key: string]: string };
85 finalUserStatus?: 'CONFIRMED' | 'RESET_REQUIRED';
86 messageAction?: 'SUPPRESS';
87 desiredDeliveryMediums?: Array<'EMAIL' | 'SMS'>;
88 forceAliasCreation?: boolean;
89 claimsOverrideDetails?: {
90 claimsToAddOrOverride?: { [key: string]: string };
91 claimsToSuppress?: string[];
92 groupOverrideDetails?: null | {
93 groupsToOverride?: string[];
94 iamRolesToOverride?: string[];
95 preferredRole?: string;
96 };
97 };
98 };
99}
100export type CognitoUserPoolEvent = CognitoUserPoolTriggerEvent;