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.
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/autoRespond.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/autoRespond.js +22 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/getRecords.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/getRecords.js +29 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/getStorySession.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/index.d.ts +8 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/index.js +13 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/matchStory.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/matchStory.js +33 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/transformResponseResult.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/transformResponseResult.js +42 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/types.d.ts +8 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/customMessage/getStorySession.js +22 -0
- package/lib/{esm/getActionProcessor/core/event/cognitoCustomMessage → commonjs/getActionProcessor/core/event/cognito/customMessage}/index.d.ts +1 -1
- package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/index.js +3 -3
- package/lib/commonjs/getActionProcessor/core/event/cognito/customMessage/types.js +4 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/autoRespond.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/autoRespond.js +22 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/getRecords.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/getRecords.js +29 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/getStorySession.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/getStorySession.js +22 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/index.d.ts +8 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/index.js +13 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/matchStory.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/matchStory.js +33 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/transformResponseResult.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/transformResponseResult.js +35 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/types.d.ts +8 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/types.js +4 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/index.d.ts +4 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/index.js +20 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/utils/getChallengeSessionFromCognitoTriggerEventSession.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/utils/getChallengeSessionFromCognitoTriggerEventSession.js +14 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/utils/index.d.ts +1 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/utils/index.js +17 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/autoRespond.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/autoRespond.js +22 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/getRecords.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/getRecords.js +29 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/getStorySession.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/getStorySession.js +22 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/index.d.ts +8 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/index.js +13 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/matchStory.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/matchStory.js +33 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/transformResponseResult.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/transformResponseResult.js +33 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/types.d.ts +8 -0
- package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/types.js +4 -0
- package/lib/commonjs/getActionProcessor/core/event/index.d.ts +1 -1
- package/lib/commonjs/getActionProcessor/core/event/index.js +1 -1
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryAuthenticateUserActionProcessor.js +1 -1
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.d.ts +5 -0
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +28 -0
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +16 -1
- package/lib/commonjs/getActionProcessor/core/userDirectory/index.d.ts +1 -0
- package/lib/commonjs/getActionProcessor/core/userDirectory/index.js +2 -1
- package/lib/commonjs/logic/cognito/authenticateUser.d.ts +1 -1
- package/lib/commonjs/logic/cognito/authenticateUser.js +5 -3
- package/lib/commonjs/logic/cognito/cognitoAttributeMap.d.ts +1 -0
- package/lib/commonjs/logic/cognito/cognitoAttributeMap.js +18 -10
- package/lib/commonjs/logic/cognito/confirmForgotPassword.js +1 -1
- package/lib/commonjs/logic/cognito/createUser.js +1 -1
- package/lib/commonjs/logic/cognito/listPagedUsersByAttribute.d.ts +2 -0
- package/lib/commonjs/logic/cognito/listPagedUsersByAttribute.js +34 -0
- package/lib/commonjs/logic/cognito/respondToAuthChallengeChallenge.d.ts +2 -1
- package/lib/commonjs/logic/cognito/respondToAuthChallengeChallenge.js +2 -2
- package/lib/commonjs/logic/cognito/utils/transformCognitoResponse.js +4 -1
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/autoRespond.js +11 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/getRecords.js +18 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/matchStory.js +21 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/transformResponseResult.js +36 -0
- package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/types.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/cognito/customMessage/getStorySession.js +11 -0
- package/lib/{commonjs/getActionProcessor/core/event/cognitoCustomMessage → esm/getActionProcessor/core/event/cognito/customMessage}/index.d.ts +1 -1
- package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/index.js +1 -1
- package/lib/esm/getActionProcessor/core/event/cognito/customMessage/types.js +1 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/autoRespond.js +11 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/getRecords.js +18 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/getStorySession.js +11 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/matchStory.js +21 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/transformResponseResult.js +32 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/types.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/types.js +1 -0
- package/lib/esm/getActionProcessor/core/event/cognito/index.d.ts +4 -0
- package/lib/esm/getActionProcessor/core/event/cognito/index.js +4 -0
- package/lib/esm/getActionProcessor/core/event/cognito/utils/getChallengeSessionFromCognitoTriggerEventSession.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/event/cognito/utils/getChallengeSessionFromCognitoTriggerEventSession.js +10 -0
- package/lib/esm/getActionProcessor/core/event/cognito/utils/index.d.ts +1 -0
- package/lib/esm/getActionProcessor/core/event/cognito/utils/index.js +1 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/autoRespond.js +11 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/getRecords.js +18 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/getStorySession.js +11 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/matchStory.js +21 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/transformResponseResult.js +28 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/types.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/types.js +1 -0
- package/lib/esm/getActionProcessor/core/event/index.d.ts +1 -1
- package/lib/esm/getActionProcessor/core/event/index.js +1 -1
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAuthenticateUserActionProcessor.js +1 -1
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +17 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +17 -2
- package/lib/esm/getActionProcessor/core/userDirectory/index.d.ts +1 -0
- package/lib/esm/getActionProcessor/core/userDirectory/index.js +2 -0
- package/lib/esm/logic/cognito/authenticateUser.d.ts +1 -1
- package/lib/esm/logic/cognito/authenticateUser.js +5 -3
- package/lib/esm/logic/cognito/cognitoAttributeMap.d.ts +1 -0
- package/lib/esm/logic/cognito/cognitoAttributeMap.js +19 -9
- package/lib/esm/logic/cognito/confirmForgotPassword.js +1 -1
- package/lib/esm/logic/cognito/createUser.js +1 -1
- package/lib/esm/logic/cognito/listPagedUsersByAttribute.d.ts +2 -0
- package/lib/esm/logic/cognito/listPagedUsersByAttribute.js +21 -0
- package/lib/esm/logic/cognito/respondToAuthChallengeChallenge.d.ts +2 -1
- package/lib/esm/logic/cognito/respondToAuthChallengeChallenge.js +3 -3
- package/lib/esm/logic/cognito/utils/transformCognitoResponse.js +6 -3
- package/package.json +5 -5
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/createAuthChallenge}/getStorySession.js +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/createAuthChallenge}/types.js +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/autoRespond.d.ts +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/autoRespond.js +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getRecords.d.ts +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getRecords.js +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getStorySession.d.ts +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/matchStory.d.ts +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/matchStory.js +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/transformResponseResult.d.ts +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/transformResponseResult.js +0 -0
- /package/lib/commonjs/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/types.d.ts +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/createAuthChallenge}/getStorySession.js +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/createAuthChallenge}/types.js +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/autoRespond.d.ts +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/autoRespond.js +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getRecords.d.ts +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getRecords.js +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/getStorySession.d.ts +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/matchStory.d.ts +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/matchStory.js +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/transformResponseResult.d.ts +0 -0
- /package/lib/esm/getActionProcessor/core/event/{cognitoCustomMessage → cognito/customMessage}/transformResponseResult.js +0 -0
- /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
|
|
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
|
};
|
|
@@ -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
|
-
|
|
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,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
|
-
|
|
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,
|
|
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:
|
|
11
|
+
ChallengeName: challengeNameType,
|
|
12
12
|
ClientId: clientId,
|
|
13
13
|
Session: session,
|
|
14
14
|
ChallengeResponses: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AuthenticateUserChallenge
|
|
2
|
-
import { ChallengeNameType
|
|
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.
|
|
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.
|
|
55
|
-
"quidproquo-core": "0.0.
|
|
56
|
-
"quidproquo-webserver": "0.0.
|
|
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.
|
|
64
|
+
"quidproquo-tsconfig": "0.0.220",
|
|
65
65
|
"typescript": "^4.9.3"
|
|
66
66
|
}
|
|
67
67
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|