UNPKG

1.91 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<'TokenGeneration_Authentication'>;
28
29export type PreTokenGenerationNewPasswordChallengeTriggerEvent = BasePreTokenGenerationTriggerEvent<'TokenGeneration_NewPasswordChallenge'>;
30
31export type PreTokenGenerationAuthenticateDeviceTriggerEvent = BasePreTokenGenerationTriggerEvent<'TokenGeneration_AuthenticateDevice'>;
32
33export type PreTokenGenerationRefreshTokensTriggerEvent = BasePreTokenGenerationTriggerEvent<'TokenGeneration_RefreshTokens'>;
34
35/**
36 * @see https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html
37 */
38export type PreTokenGenerationTriggerEvent =
39 | PreTokenGenerationHostedAuthTriggerEvent
40 | PreTokenGenerationAuthenticationTriggerEvent
41 | PreTokenGenerationNewPasswordChallengeTriggerEvent
42 | PreTokenGenerationAuthenticateDeviceTriggerEvent
43 | PreTokenGenerationRefreshTokensTriggerEvent;
44
45export type PreTokenGenerationTriggerHandler = Handler<PreTokenGenerationTriggerEvent>;