quidproquo-actionprocessor-awslambda 0.0.218 → 0.0.220

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/autoRespond.d.ts +6 -0
  2. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/autoRespond.js +22 -0
  3. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/getRecords.d.ts +6 -0
  4. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/getRecords.js +29 -0
  5. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/getStorySession.d.ts +6 -0
  6. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/index.d.ts +8 -0
  7. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/index.js +13 -0
  8. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/matchStory.d.ts +6 -0
  9. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/matchStory.js +33 -0
  10. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/transformResponseResult.d.ts +6 -0
  11. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/transformResponseResult.js +42 -0
  12. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/types.d.ts +8 -0
  13. package/lib/commonjs/getActionProcessor/core/event/cognito/customMessage/getStorySession.js +22 -0
  14. package/lib/{esm/getActionProcessor/core/event/cognitoCustomMessage → commonjs/getActionProcessor/core/event/cognito/customMessage}/index.d.ts +1 -1
  15. package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/index.js +3 -3
  16. package/lib/commonjs/getActionProcessor/core/event/cognito/customMessage/types.js +4 -0
  17. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/autoRespond.d.ts +6 -0
  18. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/autoRespond.js +22 -0
  19. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/getRecords.d.ts +6 -0
  20. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/getRecords.js +29 -0
  21. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/getStorySession.d.ts +6 -0
  22. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/getStorySession.js +22 -0
  23. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/index.d.ts +8 -0
  24. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/index.js +13 -0
  25. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/matchStory.d.ts +6 -0
  26. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/matchStory.js +33 -0
  27. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/transformResponseResult.d.ts +6 -0
  28. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/transformResponseResult.js +35 -0
  29. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/types.d.ts +8 -0
  30. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/types.js +4 -0
  31. package/lib/commonjs/getActionProcessor/core/event/cognito/index.d.ts +4 -0
  32. package/lib/commonjs/getActionProcessor/core/event/cognito/index.js +20 -0
  33. package/lib/commonjs/getActionProcessor/core/event/cognito/utils/getChallengeSessionFromCognitoTriggerEventSession.d.ts +3 -0
  34. package/lib/commonjs/getActionProcessor/core/event/cognito/utils/getChallengeSessionFromCognitoTriggerEventSession.js +14 -0
  35. package/lib/commonjs/getActionProcessor/core/event/cognito/utils/index.d.ts +1 -0
  36. package/lib/commonjs/getActionProcessor/core/event/cognito/utils/index.js +17 -0
  37. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/autoRespond.d.ts +6 -0
  38. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/autoRespond.js +22 -0
  39. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/getRecords.d.ts +6 -0
  40. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/getRecords.js +29 -0
  41. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/getStorySession.d.ts +6 -0
  42. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/getStorySession.js +22 -0
  43. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/index.d.ts +8 -0
  44. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/index.js +13 -0
  45. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/matchStory.d.ts +6 -0
  46. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/matchStory.js +33 -0
  47. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/transformResponseResult.d.ts +6 -0
  48. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/transformResponseResult.js +33 -0
  49. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/types.d.ts +8 -0
  50. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/types.js +4 -0
  51. package/lib/commonjs/getActionProcessor/core/event/index.d.ts +1 -1
  52. package/lib/commonjs/getActionProcessor/core/event/index.js +1 -1
  53. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryAuthenticateUserActionProcessor.js +1 -1
  54. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.d.ts +5 -0
  55. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +28 -0
  56. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +16 -1
  57. package/lib/commonjs/getActionProcessor/core/userDirectory/index.d.ts +1 -0
  58. package/lib/commonjs/getActionProcessor/core/userDirectory/index.js +2 -1
  59. package/lib/commonjs/logic/cognito/authenticateUser.d.ts +1 -1
  60. package/lib/commonjs/logic/cognito/authenticateUser.js +5 -3
  61. package/lib/commonjs/logic/cognito/cognitoAttributeMap.d.ts +1 -0
  62. package/lib/commonjs/logic/cognito/cognitoAttributeMap.js +18 -10
  63. package/lib/commonjs/logic/cognito/confirmForgotPassword.js +1 -1
  64. package/lib/commonjs/logic/cognito/createUser.js +1 -1
  65. package/lib/commonjs/logic/cognito/listPagedUsersByAttribute.d.ts +2 -0
  66. package/lib/commonjs/logic/cognito/listPagedUsersByAttribute.js +34 -0
  67. package/lib/commonjs/logic/cognito/respondToAuthChallengeChallenge.d.ts +2 -1
  68. package/lib/commonjs/logic/cognito/respondToAuthChallengeChallenge.js +2 -2
  69. package/lib/commonjs/logic/cognito/utils/transformCognitoResponse.js +4 -1
  70. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/autoRespond.d.ts +6 -0
  71. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/autoRespond.js +11 -0
  72. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/getRecords.d.ts +6 -0
  73. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/getRecords.js +18 -0
  74. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/getStorySession.d.ts +6 -0
  75. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/index.d.ts +8 -0
  76. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/index.js +12 -0
  77. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/matchStory.d.ts +6 -0
  78. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/matchStory.js +21 -0
  79. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/transformResponseResult.d.ts +6 -0
  80. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/transformResponseResult.js +36 -0
  81. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/types.d.ts +8 -0
  82. package/lib/esm/getActionProcessor/core/event/cognito/customMessage/getStorySession.js +11 -0
  83. package/lib/{commonjs/getActionProcessor/core/event/cognitoCustomMessage → esm/getActionProcessor/core/event/cognito/customMessage}/index.d.ts +1 -1
  84. package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/index.js +1 -1
  85. package/lib/esm/getActionProcessor/core/event/cognito/customMessage/types.js +1 -0
  86. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/autoRespond.d.ts +6 -0
  87. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/autoRespond.js +11 -0
  88. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/getRecords.d.ts +6 -0
  89. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/getRecords.js +18 -0
  90. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/getStorySession.d.ts +6 -0
  91. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/getStorySession.js +11 -0
  92. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/index.d.ts +8 -0
  93. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/index.js +12 -0
  94. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/matchStory.d.ts +6 -0
  95. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/matchStory.js +21 -0
  96. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/transformResponseResult.d.ts +6 -0
  97. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/transformResponseResult.js +32 -0
  98. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/types.d.ts +8 -0
  99. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/types.js +1 -0
  100. package/lib/esm/getActionProcessor/core/event/cognito/index.d.ts +4 -0
  101. package/lib/esm/getActionProcessor/core/event/cognito/index.js +4 -0
  102. package/lib/esm/getActionProcessor/core/event/cognito/utils/getChallengeSessionFromCognitoTriggerEventSession.d.ts +3 -0
  103. package/lib/esm/getActionProcessor/core/event/cognito/utils/getChallengeSessionFromCognitoTriggerEventSession.js +10 -0
  104. package/lib/esm/getActionProcessor/core/event/cognito/utils/index.d.ts +1 -0
  105. package/lib/esm/getActionProcessor/core/event/cognito/utils/index.js +1 -0
  106. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/autoRespond.d.ts +6 -0
  107. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/autoRespond.js +11 -0
  108. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/getRecords.d.ts +6 -0
  109. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/getRecords.js +18 -0
  110. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/getStorySession.d.ts +6 -0
  111. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/getStorySession.js +11 -0
  112. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/index.d.ts +8 -0
  113. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/index.js +12 -0
  114. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/matchStory.d.ts +6 -0
  115. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/matchStory.js +21 -0
  116. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/transformResponseResult.d.ts +6 -0
  117. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/transformResponseResult.js +28 -0
  118. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/types.d.ts +8 -0
  119. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/types.js +1 -0
  120. package/lib/esm/getActionProcessor/core/event/index.d.ts +1 -1
  121. package/lib/esm/getActionProcessor/core/event/index.js +1 -1
  122. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAuthenticateUserActionProcessor.js +1 -1
  123. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.d.ts +5 -0
  124. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +17 -0
  125. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +17 -2
  126. package/lib/esm/getActionProcessor/core/userDirectory/index.d.ts +1 -0
  127. package/lib/esm/getActionProcessor/core/userDirectory/index.js +2 -0
  128. package/lib/esm/logic/cognito/authenticateUser.d.ts +1 -1
  129. package/lib/esm/logic/cognito/authenticateUser.js +5 -3
  130. package/lib/esm/logic/cognito/cognitoAttributeMap.d.ts +1 -0
  131. package/lib/esm/logic/cognito/cognitoAttributeMap.js +19 -9
  132. package/lib/esm/logic/cognito/confirmForgotPassword.js +1 -1
  133. package/lib/esm/logic/cognito/createUser.js +1 -1
  134. package/lib/esm/logic/cognito/listPagedUsersByAttribute.d.ts +2 -0
  135. package/lib/esm/logic/cognito/listPagedUsersByAttribute.js +21 -0
  136. package/lib/esm/logic/cognito/respondToAuthChallengeChallenge.d.ts +2 -1
  137. package/lib/esm/logic/cognito/respondToAuthChallengeChallenge.js +3 -3
  138. package/lib/esm/logic/cognito/utils/transformCognitoResponse.js +6 -3
  139. package/package.json +5 -5
  140. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/createAuthChallenge}/getStorySession.js +0 -0
  141. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/createAuthChallenge}/types.js +0 -0
  142. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/autoRespond.d.ts +0 -0
  143. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/autoRespond.js +0 -0
  144. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getRecords.d.ts +0 -0
  145. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getRecords.js +0 -0
  146. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getStorySession.d.ts +0 -0
  147. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/matchStory.d.ts +0 -0
  148. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/matchStory.js +0 -0
  149. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/transformResponseResult.d.ts +0 -0
  150. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/transformResponseResult.js +0 -0
  151. /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/types.d.ts +0 -0
  152. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/createAuthChallenge}/getStorySession.js +0 -0
  153. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/createAuthChallenge}/types.js +0 -0
  154. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/autoRespond.d.ts +0 -0
  155. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/autoRespond.js +0 -0
  156. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getRecords.d.ts +0 -0
  157. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getRecords.js +0 -0
  158. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getStorySession.d.ts +0 -0
  159. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/matchStory.d.ts +0 -0
  160. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/matchStory.js +0 -0
  161. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/transformResponseResult.d.ts +0 -0
  162. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/transformResponseResult.js +0 -0
  163. /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/types.d.ts +0 -0
@@ -8,6 +8,7 @@ import getUserDirectoryForgetPasswordActionProcessor from './getUserDirectoryFor
8
8
  import getUserDirectoryGetUserAttributesActionProcessor from './getUserDirectoryGetUserAttributesActionProcessor';
9
9
  import getUserDirectoryGetUserAttributesByUserIdActionProcessor from './getUserDirectoryGetUserAttributesByUserIdActionProcessor';
10
10
  import getUserDirectoryGetUsersActionProcessor from './getUserDirectoryGetUsersActionProcessor';
11
+ import getUserDirectoryGetUsersByAttributeActionProcessor from './getUserDirectoryGetUsersByAttributeActionProcessor';
11
12
  import getUserDirectoryReadAccessTokenActionProcessor from './getUserDirectoryReadAccessTokenActionProcessor';
12
13
  import getUserDirectoryRefreshTokenActionProcessor from './getUserDirectoryRefreshTokenActionProcessor';
13
14
  import getUserDirectoryRequestEmailVerificationActionProcessor from './getUserDirectoryRequestEmailVerificationActionProcessor';
@@ -26,6 +27,7 @@ export default (qpqConfig) => ({
26
27
  ...getUserDirectoryGetUserAttributesActionProcessor(qpqConfig),
27
28
  ...getUserDirectoryGetUserAttributesByUserIdActionProcessor(qpqConfig),
28
29
  ...getUserDirectoryGetUsersActionProcessor(qpqConfig),
30
+ ...getUserDirectoryGetUsersByAttributeActionProcessor(qpqConfig),
29
31
  ...getUserDirectoryReadAccessTokenActionProcessor(qpqConfig),
30
32
  ...getUserDirectoryRefreshTokenActionProcessor(qpqConfig),
31
33
  ...getUserDirectoryRequestEmailVerificationActionProcessor(qpqConfig),
@@ -1,2 +1,2 @@
1
1
  import { AuthenticateUserResponse } from 'quidproquo-core';
2
- export declare const authenticateUser: (userPoolId: string, clientId: string, region: string, username: string, password: string) => Promise<AuthenticateUserResponse>;
2
+ export declare const authenticateUser: (userPoolId: string, clientId: string, region: string, isCustom: boolean, username: string, password?: string) => Promise<AuthenticateUserResponse>;
@@ -4,22 +4,24 @@ import { getUserPoolClientSecret } from './getUserPoolClientSecret';
4
4
  import { cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo } from './utils/transformCognitoResponse';
5
5
  import { createAwsClient } from '../createAwsClient';
6
6
  // TODO: retry for TooManyRequestsException
7
- export const authenticateUser = async (userPoolId, clientId, region, username, password) => {
7
+ export const authenticateUser = async (userPoolId, clientId, region, isCustom, username, password) => {
8
8
  const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
9
9
  const clientSecret = await getUserPoolClientSecret(userPoolId, clientId, region);
10
10
  const secretHash = calculateSecretHash(username, clientId, clientSecret);
11
11
  // Time we issued the request
12
12
  const issueDateTime = new Date().toISOString();
13
13
  const params = {
14
- AuthFlow: AuthFlowType.ADMIN_USER_PASSWORD_AUTH,
14
+ AuthFlow: isCustom ? AuthFlowType.CUSTOM_AUTH : AuthFlowType.ADMIN_USER_PASSWORD_AUTH,
15
15
  UserPoolId: userPoolId,
16
16
  ClientId: clientId,
17
17
  AuthParameters: {
18
18
  USERNAME: username,
19
- PASSWORD: password,
20
19
  SECRET_HASH: secretHash,
21
20
  },
22
21
  };
22
+ if (password) {
23
+ params.AuthParameters.PASSWORD = password;
24
+ }
23
25
  const response = await cognitoClient.send(new AdminInitiateAuthCommand(params));
24
26
  return cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo(response, issueDateTime);
25
27
  };
@@ -8,3 +8,4 @@ export declare const getQpqAttributesFromCognitoUserAttributes: (cognitoUserAttr
8
8
  Name: string;
9
9
  Value: string;
10
10
  }[]) => UserAttributes;
11
+ export declare const getQpqAttributesFromCognitoStringMap: (cognitoUserAttributes: Record<string, string>) => UserAttributes;
@@ -28,18 +28,28 @@ export const getCognitoUserAttributesFromQpqUserAttributes = (userAttributes) =>
28
28
  }))
29
29
  .filter((attribute) => !!attribute.Name && !!attribute.Value);
30
30
  };
31
+ const getQpqAttributeObjectFromCognitoKeyValue = (key, value) => {
32
+ const userAttributeKey = reversedCognitoAttributeMap[key];
33
+ if (!userAttributeKey) {
34
+ return {}; // If there's no matching key in your mapping, just return nothing
35
+ }
36
+ if (userAttributeKey === 'emailVerified') {
37
+ // Assume the value of 'email_verified' is a string of 'true' or 'false'
38
+ return { [userAttributeKey]: value === 'true' };
39
+ }
40
+ return { [userAttributeKey]: value };
41
+ };
31
42
  export const getQpqAttributesFromCognitoUserAttributes = (cognitoUserAttributes) => {
32
43
  // Map cognitoUserAttributes to your UserAttributes format
33
44
  const userAttributes = cognitoUserAttributes.reduce((acc, { Name, Value }) => {
34
- const userAttributeKey = reversedCognitoAttributeMap[Name];
35
- if (!userAttributeKey) {
36
- return acc; // If there's no matching key in your mapping, just continue with the current accumulation
37
- }
38
- if (userAttributeKey === 'emailVerified') {
39
- // Assume the value of 'email_verified' is a string of 'true' or 'false'
40
- return { ...acc, [userAttributeKey]: Value === 'true' };
41
- }
42
- return { ...acc, [userAttributeKey]: Value };
45
+ return { ...acc, ...getQpqAttributeObjectFromCognitoKeyValue(Name, Value) };
43
46
  }, {});
44
47
  return userAttributes;
45
48
  };
49
+ export const getQpqAttributesFromCognitoStringMap = (cognitoUserAttributes) => {
50
+ const userAttributes = Object.keys(cognitoUserAttributes).reduce((acc, key) => ({
51
+ ...acc,
52
+ ...getQpqAttributeObjectFromCognitoKeyValue(key, cognitoUserAttributes[key]),
53
+ }), {});
54
+ return userAttributes;
55
+ };
@@ -16,6 +16,6 @@ export const confirmForgotPassword = async (userPoolId, clientId, region, code,
16
16
  };
17
17
  await cognitoClient.send(new ConfirmForgotPasswordCommand(params));
18
18
  // Authenticate the user
19
- const authResponse = await authenticateUser(userPoolId, clientId, region, username, password);
19
+ const authResponse = await authenticateUser(userPoolId, clientId, region, false, username, password);
20
20
  return authResponse;
21
21
  };
@@ -21,6 +21,6 @@ export const createUser = async (userPoolId, region, clientId, createUserRequest
21
21
  // Set the user's password
22
22
  await setUserPassword(region, userPoolId, username, createUserRequest.password);
23
23
  // Authenticate the user
24
- const authResponse = await authenticateUser(userPoolId, clientId, region, username, createUserRequest.password);
24
+ const authResponse = await authenticateUser(userPoolId, clientId, region, false, username, createUserRequest.password);
25
25
  return authResponse;
26
26
  };
@@ -0,0 +1,2 @@
1
+ import { UserAttributes, QpqPagedData } from 'quidproquo-core';
2
+ export declare const listPagedUsersByAttribute: (userPoolId: string, region: string, attributeName: string, attributeValue: string, limit?: number, pageKey?: string) => Promise<QpqPagedData<UserAttributes>>;
@@ -0,0 +1,21 @@
1
+ import { CognitoIdentityProviderClient, ListUsersCommand } from '@aws-sdk/client-cognito-identity-provider';
2
+ import { getQpqAttributesFromCognitoUserAttributes } from './cognitoAttributeMap';
3
+ import { pageKeyToPaginationToken, paginationTokenToPageKey } from './utils';
4
+ import { createAwsClient } from '../createAwsClient';
5
+ export const listPagedUsersByAttribute = async (userPoolId, region, attributeName, attributeValue, limit, pageKey) => {
6
+ const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
7
+ const response = await cognitoClient.send(new ListUsersCommand({
8
+ UserPoolId: userPoolId,
9
+ Limit: limit,
10
+ Filter: `${attributeName} = "${attributeValue}"`,
11
+ PaginationToken: pageKeyToPaginationToken(pageKey),
12
+ }));
13
+ const users = (response.Users || []).map((user) => {
14
+ const validAttributes = (user.Attributes || []).filter((attr) => attr.Name && attr.Value);
15
+ return getQpqAttributesFromCognitoUserAttributes(validAttributes);
16
+ });
17
+ return {
18
+ nextPageKey: paginationTokenToPageKey(response.PaginationToken),
19
+ items: users,
20
+ };
21
+ };
@@ -1,2 +1,3 @@
1
1
  import { AuthenticateUserResponse } from 'quidproquo-core';
2
- export declare const respondToAuthChallengeChallenge: (userPoolId: string, clientId: string, region: string, username: string, session: string, attributes: Record<string, string>) => Promise<AuthenticateUserResponse>;
2
+ import { ChallengeNameType } from '@aws-sdk/client-cognito-identity-provider';
3
+ export declare const respondToAuthChallengeChallenge: (userPoolId: string, clientId: string, region: string, username: string, session: string, challengeNameType: ChallengeNameType, attributes: Record<string, string>) => Promise<AuthenticateUserResponse>;
@@ -1,14 +1,14 @@
1
- import { CognitoIdentityProviderClient, RespondToAuthChallengeCommand, ChallengeNameType, } from '@aws-sdk/client-cognito-identity-provider';
1
+ import { CognitoIdentityProviderClient, RespondToAuthChallengeCommand, } from '@aws-sdk/client-cognito-identity-provider';
2
2
  import { calculateSecretHash } from './utils/calculateSecretHash';
3
3
  import { getUserPoolClientSecret } from './getUserPoolClientSecret';
4
4
  import { cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo } from './utils/transformCognitoResponse';
5
5
  import { createAwsClient } from '../createAwsClient';
6
- export const respondToAuthChallengeChallenge = async (userPoolId, clientId, region, username, session, attributes) => {
6
+ export const respondToAuthChallengeChallenge = async (userPoolId, clientId, region, username, session, challengeNameType, attributes) => {
7
7
  const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
8
8
  const clientSecret = await getUserPoolClientSecret(userPoolId, clientId, region);
9
9
  const secretHash = calculateSecretHash(username, clientId, clientSecret);
10
10
  const params = {
11
- ChallengeName: ChallengeNameType.NEW_PASSWORD_REQUIRED,
11
+ ChallengeName: challengeNameType,
12
12
  ClientId: clientId,
13
13
  Session: session,
14
14
  ChallengeResponses: {
@@ -1,5 +1,5 @@
1
- import { AuthenticateUserChallenge, } from 'quidproquo-core';
2
- import { ChallengeNameType, } from '@aws-sdk/client-cognito-identity-provider';
1
+ import { AuthenticateUserChallenge } from 'quidproquo-core';
2
+ import { ChallengeNameType } from '@aws-sdk/client-cognito-identity-provider';
3
3
  export const cognitoAuthenticationResultTypeToQpqAuthenticationInfo = (authResult, issueDateTime) => {
4
4
  // Parse the issueDateTime and add the expiresIn to get the expiration date
5
5
  let issueDate = new Date(issueDateTime);
@@ -20,15 +20,18 @@ export const cognitoChallengeNameTypeToQpqAuthenticateUserChallenge = (cognitoCh
20
20
  }
21
21
  const map = {
22
22
  [ChallengeNameType.NEW_PASSWORD_REQUIRED]: AuthenticateUserChallenge.NEW_PASSWORD_REQUIRED,
23
+ [ChallengeNameType.CUSTOM_CHALLENGE]: AuthenticateUserChallenge.CUSTOM_CHALLENGE,
23
24
  };
24
25
  // TODO: handle the NOT-IMP cases
25
- const challenge = map[cognitoChallengeName] || `NOT-IMP-${cognitoChallengeName}`;
26
+ const challenge = map[cognitoChallengeName] || `QPQ-NOT-IMP-${cognitoChallengeName}`;
26
27
  return challenge;
27
28
  };
28
29
  export const cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo = (authResponse, issueDateTime) => {
30
+ console.log('authResponse XYZ', authResponse);
29
31
  const res = {
30
32
  session: authResponse.Session,
31
33
  challenge: cognitoChallengeNameTypeToQpqAuthenticateUserChallenge(authResponse.ChallengeName),
34
+ challengeParameters: authResponse.ChallengeParameters,
32
35
  };
33
36
  if (authResponse.AuthenticationResult) {
34
37
  res.authenticationInfo = cognitoAuthenticationResultTypeToQpqAuthenticationInfo(authResponse.AuthenticationResult, issueDateTime);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quidproquo-actionprocessor-awslambda",
3
- "version": "0.0.218",
3
+ "version": "0.0.220",
4
4
  "description": "",
5
5
  "main": "./lib/commonjs/index.js",
6
6
  "module": "./lib/esm/index.js",
@@ -51,9 +51,9 @@
51
51
  "lodash": "^4.17.21",
52
52
  "node-cache": "^5.1.2",
53
53
  "node-match-path": "^0.6.3",
54
- "quidproquo-config-aws": "0.0.218",
55
- "quidproquo-core": "0.0.218",
56
- "quidproquo-webserver": "0.0.218"
54
+ "quidproquo-config-aws": "0.0.220",
55
+ "quidproquo-core": "0.0.220",
56
+ "quidproquo-webserver": "0.0.220"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/aws-lambda": "^8.10.109",
@@ -61,7 +61,7 @@
61
61
  "@types/jsonwebtoken": "^9.0.2",
62
62
  "@types/lodash": "^4.14.194",
63
63
  "@types/node": "^18.11.9",
64
- "quidproquo-tsconfig": "0.0.218",
64
+ "quidproquo-tsconfig": "0.0.220",
65
65
  "typescript": "^4.9.3"
66
66
  }
67
67
  }