@types/aws-lambda
Version:
TypeScript definitions for aws-lambda
54 lines (44 loc) • 1.98 kB
TypeScript
import { Handler } from "../../handler";
import { BaseTriggerEvent, StringMap } from "./_common";
export interface GroupOverrideDetails {
groupsToOverride?: string[] | undefined;
iamRolesToOverride?: string[] | undefined;
preferredRole?: string | undefined;
}
export interface BasePreTokenGenerationTriggerEvent<T extends string> extends BaseTriggerEvent<T> {
request: {
userAttributes: StringMap;
groupConfiguration: GroupOverrideDetails;
clientMetadata?: StringMap | undefined;
};
response: {
claimsOverrideDetails: {
claimsToAddOrOverride?: StringMap | undefined;
claimsToSuppress?: string[] | undefined;
groupOverrideDetails?: GroupOverrideDetails | undefined;
};
};
}
export type PreTokenGenerationHostedAuthTriggerEvent = BasePreTokenGenerationTriggerEvent<"TokenGeneration_HostedAuth">;
export type PreTokenGenerationAuthenticationTriggerEvent = BasePreTokenGenerationTriggerEvent<
"TokenGeneration_Authentication"
>;
export type PreTokenGenerationNewPasswordChallengeTriggerEvent = BasePreTokenGenerationTriggerEvent<
"TokenGeneration_NewPasswordChallenge"
>;
export type PreTokenGenerationAuthenticateDeviceTriggerEvent = BasePreTokenGenerationTriggerEvent<
"TokenGeneration_AuthenticateDevice"
>;
export type PreTokenGenerationRefreshTokensTriggerEvent = BasePreTokenGenerationTriggerEvent<
"TokenGeneration_RefreshTokens"
>;
/**
* @see https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html
*/
export type PreTokenGenerationTriggerEvent =
| PreTokenGenerationHostedAuthTriggerEvent
| PreTokenGenerationAuthenticationTriggerEvent
| PreTokenGenerationNewPasswordChallengeTriggerEvent
| PreTokenGenerationAuthenticateDeviceTriggerEvent
| PreTokenGenerationRefreshTokensTriggerEvent;
export type PreTokenGenerationTriggerHandler = Handler<PreTokenGenerationTriggerEvent>;