1 | import { Handler } from '../../handler';
|
2 | import { BaseTriggerEvent, StringMap } from './_common';
|
3 |
|
4 | export interface GroupOverrideDetails {
|
5 | groupsToOverride?: string[] | undefined;
|
6 | iamRolesToOverride?: string[] | undefined;
|
7 | preferredRole?: string | undefined;
|
8 | }
|
9 |
|
10 | export 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 |
|
25 | export type PreTokenGenerationHostedAuthTriggerEvent = BasePreTokenGenerationTriggerEvent<'TokenGeneration_HostedAuth'>;
|
26 |
|
27 | export type PreTokenGenerationAuthenticationTriggerEvent = BasePreTokenGenerationTriggerEvent<'TokenGeneration_Authentication'>;
|
28 |
|
29 | export type PreTokenGenerationNewPasswordChallengeTriggerEvent = BasePreTokenGenerationTriggerEvent<'TokenGeneration_NewPasswordChallenge'>;
|
30 |
|
31 | export type PreTokenGenerationAuthenticateDeviceTriggerEvent = BasePreTokenGenerationTriggerEvent<'TokenGeneration_AuthenticateDevice'>;
|
32 |
|
33 | export type PreTokenGenerationRefreshTokensTriggerEvent = BasePreTokenGenerationTriggerEvent<'TokenGeneration_RefreshTokens'>;
|
34 |
|
35 |
|
36 |
|
37 |
|
38 | export type PreTokenGenerationTriggerEvent =
|
39 | | PreTokenGenerationHostedAuthTriggerEvent
|
40 | | PreTokenGenerationAuthenticationTriggerEvent
|
41 | | PreTokenGenerationNewPasswordChallengeTriggerEvent
|
42 | | PreTokenGenerationAuthenticateDeviceTriggerEvent
|
43 | | PreTokenGenerationRefreshTokensTriggerEvent;
|
44 |
|
45 | export type PreTokenGenerationTriggerHandler = Handler<PreTokenGenerationTriggerEvent>;
|