{"version":3,"file":"handlePasswordVerifierChallenge.mjs","sources":["../../../../../src/providers/cognito/utils/handlePasswordVerifierChallenge.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AuthError } from '../../../errors/AuthError';\nimport { createRespondToAuthChallengeClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';\nimport { createCognitoUserPoolEndpointResolver } from '../factories';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers';\nimport { getNowString, getSignatureString } from './srp';\nimport { BigInteger } from './srp/BigInteger';\nimport { getUserContextData } from './userContextData';\nimport { handleDeviceSRPAuth } from './handleDeviceSRPAuth';\nexport async function handlePasswordVerifierChallenge(password, challengeParameters, clientMetadata, session, authenticationHelper, config, tokenOrchestrator) {\n    const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n    const userPoolName = userPoolId?.split('_')[1] || '';\n    const serverBValue = new BigInteger(challengeParameters?.SRP_B, 16);\n    const salt = new BigInteger(challengeParameters?.SALT, 16);\n    const username = challengeParameters?.USER_ID_FOR_SRP;\n    if (!username)\n        throw new AuthError({\n            name: 'EmptyUserIdForSRPException',\n            message: 'USER_ID_FOR_SRP was not found in challengeParameters',\n        });\n    const hkdf = await authenticationHelper.getPasswordAuthenticationKey({\n        username,\n        password,\n        serverBValue,\n        salt,\n    });\n    const dateNow = getNowString();\n    const challengeResponses = {\n        USERNAME: username,\n        PASSWORD_CLAIM_SECRET_BLOCK: challengeParameters?.SECRET_BLOCK,\n        TIMESTAMP: dateNow,\n        PASSWORD_CLAIM_SIGNATURE: getSignatureString({\n            username,\n            userPoolName,\n            challengeParameters,\n            dateNow,\n            hkdf,\n        }),\n    };\n    const deviceMetadata = await tokenOrchestrator.getDeviceMetadata(username);\n    if (deviceMetadata && deviceMetadata.deviceKey) {\n        challengeResponses.DEVICE_KEY = deviceMetadata.deviceKey;\n    }\n    const UserContextData = getUserContextData({\n        username,\n        userPoolId,\n        userPoolClientId,\n    });\n    const jsonReqResponseChallenge = {\n        ChallengeName: 'PASSWORD_VERIFIER',\n        ChallengeResponses: challengeResponses,\n        ClientMetadata: clientMetadata,\n        Session: session,\n        ClientId: userPoolClientId,\n        UserContextData,\n    };\n    const respondToAuthChallenge = createRespondToAuthChallengeClient({\n        endpointResolver: createCognitoUserPoolEndpointResolver({\n            endpointOverride: userPoolEndpoint,\n        }),\n    });\n    const response = await respondToAuthChallenge({ region: getRegionFromUserPoolId(userPoolId) }, jsonReqResponseChallenge);\n    if (response.ChallengeName === 'DEVICE_SRP_AUTH')\n        return handleDeviceSRPAuth({\n            username,\n            config,\n            clientMetadata,\n            session: response.Session,\n            tokenOrchestrator,\n        });\n    return response;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AASO,eAAe,+BAA+B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE;AAC/J,IAAI,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM;AACrE,IAAI,MAAM,YAAY,GAAG,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AACxD,IAAI,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,CAAC;AACvE,IAAI,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE,IAAI,EAAE,EAAE,CAAC;AAC9D,IAAI,MAAM,QAAQ,GAAG,mBAAmB,EAAE,eAAe;AACzD,IAAI,IAAI,CAAC,QAAQ;AACjB,QAAQ,MAAM,IAAI,SAAS,CAAC;AAC5B,YAAY,IAAI,EAAE,4BAA4B;AAC9C,YAAY,OAAO,EAAE,sDAAsD;AAC3E,SAAS,CAAC;AACV,IAAI,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,4BAA4B,CAAC;AACzE,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,QAAQ,YAAY;AACpB,QAAQ,IAAI;AACZ,KAAK,CAAC;AACN,IAAI,MAAM,OAAO,GAAG,YAAY,EAAE;AAClC,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,QAAQ,2BAA2B,EAAE,mBAAmB,EAAE,YAAY;AACtE,QAAQ,SAAS,EAAE,OAAO;AAC1B,QAAQ,wBAAwB,EAAE,kBAAkB,CAAC;AACrD,YAAY,QAAQ;AACpB,YAAY,YAAY;AACxB,YAAY,mBAAmB;AAC/B,YAAY,OAAO;AACnB,YAAY,IAAI;AAChB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AAC9E,IAAI,IAAI,cAAc,IAAI,cAAc,CAAC,SAAS,EAAE;AACpD,QAAQ,kBAAkB,CAAC,UAAU,GAAG,cAAc,CAAC,SAAS;AAChE,IAAI;AACJ,IAAI,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAC/C,QAAQ,QAAQ;AAChB,QAAQ,UAAU;AAClB,QAAQ,gBAAgB;AACxB,KAAK,CAAC;AACN,IAAI,MAAM,wBAAwB,GAAG;AACrC,QAAQ,aAAa,EAAE,mBAAmB;AAC1C,QAAQ,kBAAkB,EAAE,kBAAkB;AAC9C,QAAQ,cAAc,EAAE,cAAc;AACtC,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,QAAQ,EAAE,gBAAgB;AAClC,QAAQ,eAAe;AACvB,KAAK;AACL,IAAI,MAAM,sBAAsB,GAAG,kCAAkC,CAAC;AACtE,QAAQ,gBAAgB,EAAE,qCAAqC,CAAC;AAChE,YAAY,gBAAgB,EAAE,gBAAgB;AAC9C,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,uBAAuB,CAAC,UAAU,CAAC,EAAE,EAAE,wBAAwB,CAAC;AAC5H,IAAI,IAAI,QAAQ,CAAC,aAAa,KAAK,iBAAiB;AACpD,QAAQ,OAAO,mBAAmB,CAAC;AACnC,YAAY,QAAQ;AACpB,YAAY,MAAM;AAClB,YAAY,cAAc;AAC1B,YAAY,OAAO,EAAE,QAAQ,CAAC,OAAO;AACrC,YAAY,iBAAiB;AAC7B,SAAS,CAAC;AACV,IAAI,OAAO,QAAQ;AACnB;;;;"}