[aws-lambda] Add missing fields on CognitoUserPoolTriggerEvent (#36668)

See:
https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html#cognito-user-pools-lambda-trigger-syntax-pre-token-generation

The linkParameter doesn't seem to be in the documentation, but it is there on the events.
This commit is contained in:
Erik Dalén 2019-07-08 22:36:53 +02:00 committed by Armando Aguirre
parent 6a0a151520
commit b9eba8fc8e
2 changed files with 36 additions and 0 deletions

View File

@ -444,6 +444,7 @@ str = cognitoUserPoolEvent.callerContext.clientId;
str = cognitoUserPoolEvent.request.userAttributes["email"];
str = cognitoUserPoolEvent.request.validationData!["k1"];
strOrUndefined = cognitoUserPoolEvent.request.codeParameter;
strOrUndefined = cognitoUserPoolEvent.request.linkParameter;
strOrUndefined = cognitoUserPoolEvent.request.usernameParameter;
boolOrUndefined = cognitoUserPoolEvent.request.newDeviceUsed;
cognitoUserPoolEvent.request.session![0].challengeName === "CUSTOM_CHALLENGE";
@ -477,6 +478,31 @@ cognitoUserPoolEvent.response.desiredDeliveryMediums === ["EMAIL"];
cognitoUserPoolEvent.response.desiredDeliveryMediums === ["SMS"];
cognitoUserPoolEvent.response.desiredDeliveryMediums === ["SMS", "EMAIL"];
boolOrUndefined = cognitoUserPoolEvent.response.forceAliasCreation;
// From AWS examples
cognitoUserPoolEvent.response = {
claimsOverrideDetails: {
claimsToAddOrOverride: {
attribute_key2: "attribute_value2",
attribute_key: "attribute_value"
},
claimsToSuppress: ["email"]
}
};
cognitoUserPoolEvent.response = {
claimsOverrideDetails: {
claimsToAddOrOverride: {
attribute_key2: "attribute_value2",
attribute_key: "attribute_value"
},
claimsToSuppress: ["email"],
groupOverrideDetails: {
groupsToOverride: ["group-A", "group-B", "group-C"],
iamRolesToOverride: ["arn:aws:iam::XXXXXXXXXXXX:role/sns_callerA", "arn:aws:iam::XXXXXXXXX:role/sns_callerB", "arn:aws:iam::XXXXXXXXXX:role/sns_callerC"],
preferredRole: "arn:aws:iam::XXXXXXXXXXX:role/sns_caller"
}
}
};
cognitoUserPoolEvent.response.claimsOverrideDetails!.groupOverrideDetails = null;
// CloudFormation Custom Resource
switch (cloudformationCustomResourceEvent.RequestType) {

View File

@ -293,6 +293,7 @@ export interface CognitoUserPoolTriggerEvent {
userAttributes: { [key: string]: string };
validationData?: { [key: string]: string };
codeParameter?: string;
linkParameter?: string;
usernameParameter?: string;
newDeviceUsed?: boolean;
session?: Array<{
@ -322,6 +323,15 @@ export interface CognitoUserPoolTriggerEvent {
messageAction?: "SUPPRESS";
desiredDeliveryMediums?: Array<"EMAIL" | "SMS">;
forceAliasCreation?: boolean;
claimsOverrideDetails?: {
claimsToAddOrOverride?: { [key: string]: string };
claimsToSuppress?: string[];
groupOverrideDetails?: null | {
groupsToOverride?: string[];
iamRolesToOverride?: string[];
preferredRole?: string;
};
};
};
}
export type CognitoUserPoolEvent = CognitoUserPoolTriggerEvent;