UNPKG

1.98 kBTypeScriptView Raw
1import { Handler } from "../../handler";
2import { BaseTriggerEvent, StringMap } from "./_common";
3
4export interface GroupOverrideDetails {
5 groupsToOverride?: string[] | undefined;
6 iamRolesToOverride?: string[] | undefined;
7 preferredRole?: string | undefined;
8}
9
10export interface BasePreTokenGenerationTriggerEvent<T extends string> extends BaseTriggerEvent<T> {
11 request: {
12 userAttributes: StringMap;
13 groupConfiguration: GroupOverrideDetails;
14 clientMetadata?: StringMap | undefined;
15 };
16 response: {
17 claimsOverrideDetails: {
18 claimsToAddOrOverride?: StringMap | undefined;
19 claimsToSuppress?: string[] | undefined;
20 groupOverrideDetails?: GroupOverrideDetails | undefined;
21 };
22 };
23}
24
25export type PreTokenGenerationHostedAuthTriggerEvent = BasePreTokenGenerationTriggerEvent<"TokenGeneration_HostedAuth">;
26
27export type PreTokenGenerationAuthenticationTriggerEvent = BasePreTokenGenerationTriggerEvent<
28 "TokenGeneration_Authentication"
29>;
30
31export type PreTokenGenerationNewPasswordChallengeTriggerEvent = BasePreTokenGenerationTriggerEvent<
32 "TokenGeneration_NewPasswordChallenge"
33>;
34
35export type PreTokenGenerationAuthenticateDeviceTriggerEvent = BasePreTokenGenerationTriggerEvent<
36 "TokenGeneration_AuthenticateDevice"
37>;
38
39export type PreTokenGenerationRefreshTokensTriggerEvent = BasePreTokenGenerationTriggerEvent<
40 "TokenGeneration_RefreshTokens"
41>;
42
43/**
44 * @see https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html
45 */
46export type PreTokenGenerationTriggerEvent =
47 | PreTokenGenerationHostedAuthTriggerEvent
48 | PreTokenGenerationAuthenticationTriggerEvent
49 | PreTokenGenerationNewPasswordChallengeTriggerEvent
50 | PreTokenGenerationAuthenticateDeviceTriggerEvent
51 | PreTokenGenerationRefreshTokensTriggerEvent;
52
53export type PreTokenGenerationTriggerHandler = Handler<PreTokenGenerationTriggerEvent>;