@aws-amplify/auth 6.13.4-unstable.e5a8569.0 → 6.14.0
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/dist/cjs/Errors.js.map +1 -1
- package/dist/cjs/client/apis/index.js.map +1 -1
- package/dist/cjs/client/flows/shared/handlePasswordSRP.js.map +1 -1
- package/dist/cjs/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.js.map +1 -1
- package/dist/cjs/client/flows/userAuth/handleUserAuthFlow.js.map +1 -1
- package/dist/cjs/client/flows/userAuth/handleWebAuthnSignInResult.js.map +1 -1
- package/dist/cjs/client/utils/index.js.map +1 -1
- package/dist/cjs/client/utils/passkey/errors.js.map +1 -1
- package/dist/cjs/client/utils/passkey/getPasskey.js.map +1 -1
- package/dist/cjs/client/utils/passkey/index.js.map +1 -1
- package/dist/cjs/client/utils/passkey/registerPasskey.js.map +1 -1
- package/dist/cjs/client/utils/passkey/serde.js.map +1 -1
- package/dist/cjs/client/utils/passkey/types/index.js.map +1 -1
- package/dist/cjs/client/utils/store/autoSignInStore.js.map +1 -1
- package/dist/cjs/client/utils/store/signInStore.js.map +1 -1
- package/dist/cjs/errors/AuthError.js.map +1 -1
- package/dist/cjs/errors/utils/assertServiceError.js.map +1 -1
- package/dist/cjs/errors/utils/assertValidationError.js.map +1 -1
- package/dist/cjs/foundation/apis/index.js.map +1 -1
- package/dist/cjs/foundation/convert/base64url/index.js.map +1 -1
- package/dist/cjs/foundation/convert/index.js.map +1 -1
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/constants.js.map +1 -1
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.js.map +1 -1
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/index.js.map +1 -1
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/index.js.map +1 -1
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createEmptyResponseDeserializer.js.map +1 -1
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolDeserializer.js.map +1 -1
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/index.js.map +1 -1
- package/dist/cjs/foundation/parsers/index.js.map +1 -1
- package/dist/cjs/foundation/parsers/regionParsers.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/autoSignIn.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/confirmSignIn.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/confirmSignUp.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/fetchDevices.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/internal/getCurrentUser.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/server/index.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/setUpTOTP.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithCustomAuth.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithCustomSRPAuth.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithRedirect.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithSRP.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithUserAuth.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithUserPassword.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signOut.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signUp.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/updateMFAPreference.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/updateUserAttributes.js.map +1 -1
- package/dist/cjs/providers/cognito/credentialsProvider/IdentityIdProvider.js.map +1 -1
- package/dist/cjs/providers/cognito/credentialsProvider/IdentityIdStore.js.map +1 -1
- package/dist/cjs/providers/cognito/credentialsProvider/credentialsProvider.js.map +1 -1
- package/dist/cjs/providers/cognito/credentialsProvider/index.js.map +1 -1
- package/dist/cjs/providers/cognito/credentialsProvider/utils.js.map +1 -1
- package/dist/cjs/providers/cognito/factories/createCognitoIdentityPoolEndpointResolver.js.map +1 -1
- package/dist/cjs/providers/cognito/factories/createCognitoUserPoolEndpointResolver.js.map +1 -1
- package/dist/cjs/providers/cognito/factories/index.js.map +1 -1
- package/dist/cjs/providers/cognito/index.js.map +1 -1
- package/dist/cjs/providers/cognito/tokenProvider/CognitoUserPoolsTokenProvider.js.map +1 -1
- package/dist/cjs/providers/cognito/tokenProvider/TokenOrchestrator.js.map +1 -1
- package/dist/cjs/providers/cognito/tokenProvider/TokenStore.js.map +1 -1
- package/dist/cjs/providers/cognito/tokenProvider/cacheTokens.js.map +1 -1
- package/dist/cjs/providers/cognito/tokenProvider/index.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/apiHelpers.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/dispatchSignedInHubEvent.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/getNewDeviceMetadata.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/handlePasswordVerifierChallenge.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/attemptCompleteOAuthFlow.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/cancelOAuthFlow.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/completeOAuthFlow.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/enableOAuthListener.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/generateCodeVerifier.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/getRedirectUrl.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/getRedirectUrl.native.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/handleOAuthSignOut.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/handleOAuthSignOut.native.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/index.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/inflightPromise.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/oauth/validateState.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/refreshAuthTokens.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/retryOnResourceNotFoundException.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/signInHelpers.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/signInWithRedirectStore.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/signUpHelpers.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/AuthenticationHelper/AuthenticationHelper.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/BigInteger/BigInteger.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/BigInteger/index.native.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/calculate/calculateA.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/calculate/calculateS.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/calculate/calculateU.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/calculate/index.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/constants.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/getBytesFromHex.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/getHexFromBytes.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/getNowString.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/getPaddedHex.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/getSignatureString.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/srp/index.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/textEncoder/index.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/textEncoder/index.native.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/types.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/userContextData.js.map +1 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/openAuthSession.js.map +1 -1
- package/dist/cjs/utils/openAuthSession.native.js.map +1 -1
- package/dist/esm/Errors.mjs.map +1 -1
- package/dist/esm/client/flows/shared/handlePasswordSRP.mjs.map +1 -1
- package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.mjs.map +1 -1
- package/dist/esm/client/flows/userAuth/handleUserAuthFlow.mjs.map +1 -1
- package/dist/esm/client/flows/userAuth/handleWebAuthnSignInResult.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/errors.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/getPasskey.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/registerPasskey.mjs.map +1 -1
- package/dist/esm/client/utils/passkey/serde.mjs.map +1 -1
- package/dist/esm/client/utils/store/autoSignInStore.mjs.map +1 -1
- package/dist/esm/client/utils/store/signInStore.mjs.map +1 -1
- package/dist/esm/errors/AuthError.mjs.map +1 -1
- package/dist/esm/errors/utils/assertServiceError.mjs.map +1 -1
- package/dist/esm/errors/utils/assertValidationError.mjs.map +1 -1
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs.map +1 -1
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.mjs.map +1 -1
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createEmptyResponseDeserializer.mjs.map +1 -1
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolDeserializer.mjs.map +1 -1
- package/dist/esm/foundation/parsers/regionParsers.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/autoSignIn.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/confirmSignIn.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/confirmSignUp.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/fetchDevices.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/internal/getCurrentUser.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/setUpTOTP.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signInWithCustomAuth.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signInWithCustomSRPAuth.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signInWithRedirect.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signInWithSRP.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signInWithUserAuth.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signInWithUserPassword.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signOut.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signUp.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/updateMFAPreference.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/updateUserAttributes.mjs.map +1 -1
- package/dist/esm/providers/cognito/credentialsProvider/IdentityIdProvider.mjs.map +1 -1
- package/dist/esm/providers/cognito/credentialsProvider/IdentityIdStore.mjs.map +1 -1
- package/dist/esm/providers/cognito/credentialsProvider/credentialsProvider.mjs.map +1 -1
- package/dist/esm/providers/cognito/credentialsProvider/utils.mjs.map +1 -1
- package/dist/esm/providers/cognito/factories/createCognitoIdentityPoolEndpointResolver.mjs.map +1 -1
- package/dist/esm/providers/cognito/factories/createCognitoUserPoolEndpointResolver.mjs.map +1 -1
- package/dist/esm/providers/cognito/tokenProvider/CognitoUserPoolsTokenProvider.mjs.map +1 -1
- package/dist/esm/providers/cognito/tokenProvider/TokenOrchestrator.mjs.map +1 -1
- package/dist/esm/providers/cognito/tokenProvider/TokenStore.mjs.map +1 -1
- package/dist/esm/providers/cognito/tokenProvider/cacheTokens.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/apiHelpers.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/dispatchSignedInHubEvent.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/getNewDeviceMetadata.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/handlePasswordVerifierChallenge.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/attemptCompleteOAuthFlow.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/cancelOAuthFlow.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/completeOAuthFlow.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/enableOAuthListener.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/generateCodeVerifier.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/getRedirectUrl.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/getRedirectUrl.native.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/handleOAuthSignOut.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/handleOAuthSignOut.native.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/inflightPromise.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/oauth/validateState.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/refreshAuthTokens.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/retryOnResourceNotFoundException.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/signInHelpers.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/signInWithRedirectStore.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/signUpHelpers.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/AuthenticationHelper/AuthenticationHelper.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/BigInteger/BigInteger.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/BigInteger/index.native.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/calculate/calculateA.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/calculate/calculateS.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/calculate/calculateU.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/constants.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/getBytesFromHex.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/getHexFromBytes.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/getNowString.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/getPaddedHex.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/srp/getSignatureString.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/textEncoder/index.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/textEncoder/index.native.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/types.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/userContextData.mjs.map +1 -1
- package/dist/esm/utils/openAuthSession.mjs.map +1 -1
- package/dist/esm/utils/openAuthSession.native.mjs.map +1 -1
- package/package.json +105 -105
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signInHelpers.mjs","sources":["../../../../../src/providers/cognito/utils/signInHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { AmplifyUrl, AuthAction, assertTokenProviderConfig, } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError';\nimport { InitiateAuthException } from '../types/errors';\nimport { AuthErrorCodes } from '../../../common/AuthErrorStrings';\nimport { AuthValidationErrorCode } from '../../../errors/types/validation';\nimport { assertValidationError } from '../../../errors/utils/assertValidationError';\nimport { USER_ALREADY_AUTHENTICATED_EXCEPTION } from '../../../errors/constants';\nimport { getCurrentUser } from '../apis/getCurrentUser';\nimport { getAuthUserAgentValue } from '../../../utils';\nimport { createAssociateSoftwareTokenClient, createInitiateAuthClient, createRespondToAuthChallengeClient, createVerifySoftwareTokenClient, } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';\nimport { createCognitoUserPoolEndpointResolver } from '../factories';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers';\nimport { handleWebAuthnSignInResult } from '../../../client/flows/userAuth/handleWebAuthnSignInResult';\nimport { handlePasswordSRP } from '../../../client/flows/shared/handlePasswordSRP';\nimport { initiateSelectedChallenge } from '../../../client/flows/userAuth/handleSelectChallenge';\nimport { handleSelectChallengeWithPassword } from '../../../client/flows/userAuth/handleSelectChallengeWithPassword';\nimport { handleSelectChallengeWithPasswordSRP } from '../../../client/flows/userAuth/handleSelectChallengeWithPasswordSRP';\nimport { signInStore } from '../../../client/utils/store';\nimport { getAuthenticationHelper } from './srp';\nimport { getUserContextData } from './userContextData';\nimport { handlePasswordVerifierChallenge } from './handlePasswordVerifierChallenge';\nimport { handleDeviceSRPAuth } from './handleDeviceSRPAuth';\nimport { retryOnResourceNotFoundException } from './retryOnResourceNotFoundException';\nimport { setActiveSignInUsername } from './setActiveSignInUsername';\nconst USER_ATTRIBUTES = 'userAttributes.';\nfunction isWebAuthnResultAuthSignInOutput(result) {\n return 'isSignedIn' in result && 'nextStep' in result;\n}\nexport async function handleCustomChallenge({ challengeResponse, clientMetadata, session, username, config, tokenOrchestrator, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const challengeResponses = {\n USERNAME: username,\n ANSWER: challengeResponse,\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 jsonReq = {\n ChallengeName: 'CUSTOM_CHALLENGE',\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH') {\n return handleDeviceSRPAuth({\n username,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n }\n return response;\n}\nexport async function handleMFASetupChallenge({ challengeResponse, username, clientMetadata, session, deviceName, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n if (challengeResponse === 'EMAIL') {\n return {\n ChallengeName: 'MFA_SETUP',\n Session: session,\n ChallengeParameters: {\n MFAS_CAN_SETUP: '[\"EMAIL_OTP\"]',\n },\n $metadata: {},\n };\n }\n if (challengeResponse === 'TOTP') {\n return {\n ChallengeName: 'MFA_SETUP',\n Session: session,\n ChallengeParameters: {\n MFAS_CAN_SETUP: '[\"SOFTWARE_TOKEN_MFA\"]',\n },\n $metadata: {},\n };\n }\n const challengeResponses = {\n USERNAME: username,\n };\n const isTOTPCode = /^\\d+$/.test(challengeResponse);\n if (isTOTPCode) {\n const verifySoftwareToken = createVerifySoftwareTokenClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const { Session } = await verifySoftwareToken({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, {\n UserCode: challengeResponse,\n Session: session,\n FriendlyDeviceName: deviceName,\n });\n signInStore.dispatch({\n type: 'SET_SIGN_IN_SESSION',\n value: Session,\n });\n const jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ChallengeResponses: challengeResponses,\n Session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n }\n const isEmail = challengeResponse.includes('@');\n if (isEmail) {\n challengeResponses.EMAIL = challengeResponse;\n const jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n }\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: `Cannot proceed with MFA setup using challengeResponse: ${challengeResponse}`,\n recoverySuggestion: 'Try passing \"EMAIL\", \"TOTP\", a valid email, or OTP code as the challengeResponse.',\n });\n}\nexport async function handleSelectMFATypeChallenge({ challengeResponse, username, clientMetadata, session, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n assertValidationError(challengeResponse === 'TOTP' ||\n challengeResponse === 'SMS' ||\n challengeResponse === 'EMAIL', AuthValidationErrorCode.IncorrectMFAMethod);\n const challengeResponses = {\n USERNAME: username,\n ANSWER: mapMfaType(challengeResponse),\n };\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n ChallengeName: 'SELECT_MFA_TYPE',\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n}\nexport async function handleCompleteNewPasswordChallenge({ challengeResponse, clientMetadata, session, username, requiredAttributes, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const challengeResponses = {\n ...createAttributes(requiredAttributes),\n NEW_PASSWORD: challengeResponse,\n USERNAME: username,\n };\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n ChallengeName: 'NEW_PASSWORD_REQUIRED',\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 return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n}\nexport async function handleUserPasswordAuthFlow(username, password, clientMetadata, config, tokenOrchestrator) {\n const { userPoolClientId, userPoolId, userPoolEndpoint } = config;\n const authParameters = {\n USERNAME: username,\n PASSWORD: password,\n };\n const deviceMetadata = await tokenOrchestrator.getDeviceMetadata(username);\n if (deviceMetadata && deviceMetadata.deviceKey) {\n authParameters.DEVICE_KEY = deviceMetadata.deviceKey;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n AuthFlow: 'USER_PASSWORD_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await initiateAuth({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),\n }, jsonReq);\n const activeUsername = response.ChallengeParameters?.USERNAME ??\n response.ChallengeParameters?.USER_ID_FOR_SRP ??\n username;\n setActiveSignInUsername(activeUsername);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH')\n return handleDeviceSRPAuth({\n username: activeUsername,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n return response;\n}\nexport async function handleUserSRPAuthFlow(username, password, clientMetadata, config, tokenOrchestrator) {\n return handlePasswordSRP({\n username,\n password,\n clientMetadata,\n config,\n tokenOrchestrator,\n authFlow: 'USER_SRP_AUTH',\n });\n}\nexport async function handleCustomAuthFlowWithoutSRP(username, clientMetadata, config, tokenOrchestrator) {\n const { userPoolClientId, userPoolId, userPoolEndpoint } = config;\n const authParameters = {\n USERNAME: username,\n };\n const deviceMetadata = await tokenOrchestrator.getDeviceMetadata(username);\n if (deviceMetadata && deviceMetadata.deviceKey) {\n authParameters.DEVICE_KEY = deviceMetadata.deviceKey;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await initiateAuth({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),\n }, jsonReq);\n const activeUsername = response.ChallengeParameters?.USERNAME ?? username;\n setActiveSignInUsername(activeUsername);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH')\n return handleDeviceSRPAuth({\n username: activeUsername,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n return response;\n}\nexport async function handleCustomSRPAuthFlow(username, password, clientMetadata, config, tokenOrchestrator) {\n assertTokenProviderConfig(config);\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const userPoolName = userPoolId?.split('_')[1] || '';\n const authenticationHelper = await getAuthenticationHelper(userPoolName);\n const authParameters = {\n USERNAME: username,\n SRP_A: authenticationHelper.A.toString(16),\n CHALLENGE_NAME: 'SRP_A',\n };\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const { ChallengeParameters: challengeParameters, Session: session } = await initiateAuth({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),\n }, jsonReq);\n const activeUsername = challengeParameters?.USERNAME ?? username;\n setActiveSignInUsername(activeUsername);\n return retryOnResourceNotFoundException(handlePasswordVerifierChallenge, [\n password,\n challengeParameters,\n clientMetadata,\n session,\n authenticationHelper,\n config,\n tokenOrchestrator,\n ], activeUsername, tokenOrchestrator);\n}\nexport async function getSignInResult(params) {\n const { challengeName, challengeParameters, availableChallenges } = params;\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(authConfig);\n switch (challengeName) {\n case 'CUSTOM_CHALLENGE':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_CUSTOM_CHALLENGE',\n additionalInfo: challengeParameters,\n },\n };\n case 'MFA_SETUP': {\n const { signInSession, username } = signInStore.getState();\n const mfaSetupTypes = getMFATypes(parseMFATypes(challengeParameters.MFAS_CAN_SETUP)) || [];\n const allowedMfaSetupTypes = getAllowedMfaSetupTypes(mfaSetupTypes);\n const isTotpMfaSetupAvailable = allowedMfaSetupTypes.includes('TOTP');\n const isEmailMfaSetupAvailable = allowedMfaSetupTypes.includes('EMAIL');\n if (isTotpMfaSetupAvailable && isEmailMfaSetupAvailable) {\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_MFA_SETUP_SELECTION',\n allowedMFATypes: allowedMfaSetupTypes,\n },\n };\n }\n if (isEmailMfaSetupAvailable) {\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_EMAIL_SETUP',\n },\n };\n }\n if (isTotpMfaSetupAvailable) {\n const associateSoftwareToken = createAssociateSoftwareTokenClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: authConfig.userPoolEndpoint,\n }),\n });\n const { Session, SecretCode: secretCode } = await associateSoftwareToken({ region: getRegionFromUserPoolId(authConfig.userPoolId) }, {\n Session: signInSession,\n });\n signInStore.dispatch({\n type: 'SET_SIGN_IN_SESSION',\n value: Session,\n });\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_TOTP_SETUP',\n totpSetupDetails: getTOTPSetupDetails(secretCode, username),\n },\n };\n }\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: `Cannot initiate MFA setup from available types: ${mfaSetupTypes}`,\n });\n }\n case 'NEW_PASSWORD_REQUIRED':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_NEW_PASSWORD_REQUIRED',\n missingAttributes: parseAttributes(challengeParameters.requiredAttributes),\n },\n };\n case 'SELECT_MFA_TYPE':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_MFA_SELECTION',\n allowedMFATypes: getMFATypes(parseMFATypes(challengeParameters.MFAS_CAN_CHOOSE)),\n },\n };\n case 'SMS_OTP':\n case 'SMS_MFA':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_SMS_CODE',\n codeDeliveryDetails: {\n deliveryMedium: challengeParameters.CODE_DELIVERY_DELIVERY_MEDIUM,\n destination: challengeParameters.CODE_DELIVERY_DESTINATION,\n },\n },\n };\n case 'SOFTWARE_TOKEN_MFA':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_TOTP_CODE',\n },\n };\n case 'EMAIL_OTP':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_EMAIL_CODE',\n codeDeliveryDetails: {\n deliveryMedium: challengeParameters.CODE_DELIVERY_DELIVERY_MEDIUM,\n destination: challengeParameters.CODE_DELIVERY_DESTINATION,\n },\n },\n };\n case 'WEB_AUTHN': {\n const result = await handleWebAuthnSignInResult(challengeParameters);\n if (isWebAuthnResultAuthSignInOutput(result)) {\n return result;\n }\n return getSignInResult(result);\n }\n case 'PASSWORD':\n case 'PASSWORD_SRP':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_PASSWORD',\n },\n };\n case 'SELECT_CHALLENGE':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_FIRST_FACTOR_SELECTION',\n availableChallenges,\n },\n };\n case 'ADMIN_NO_SRP_AUTH':\n break;\n case 'DEVICE_PASSWORD_VERIFIER':\n break;\n case 'DEVICE_SRP_AUTH':\n break;\n case 'PASSWORD_VERIFIER':\n break;\n }\n // TODO: remove this error message for production apps\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: 'An error occurred during the sign in process. ' +\n `${challengeName} challengeName returned by the underlying service was not addressed.`,\n });\n}\nexport function getTOTPSetupDetails(secretCode, username) {\n return {\n sharedSecret: secretCode,\n getSetupUri: (appName, accountName) => {\n const totpUri = `otpauth://totp/${appName}:${accountName ?? username}?secret=${secretCode}&issuer=${appName}`;\n return new AmplifyUrl(totpUri);\n },\n };\n}\nexport function getSignInResultFromError(errorName) {\n if (errorName === InitiateAuthException.PasswordResetRequiredException) {\n return {\n isSignedIn: false,\n nextStep: { signInStep: 'RESET_PASSWORD' },\n };\n }\n else if (errorName === InitiateAuthException.UserNotConfirmedException) {\n return {\n isSignedIn: false,\n nextStep: { signInStep: 'CONFIRM_SIGN_UP' },\n };\n }\n}\nexport function parseAttributes(attributes) {\n if (!attributes)\n return [];\n const parsedAttributes = JSON.parse(attributes).map(att => att.includes(USER_ATTRIBUTES) ? att.replace(USER_ATTRIBUTES, '') : att);\n return parsedAttributes;\n}\nexport function createAttributes(attributes) {\n if (!attributes)\n return {};\n const newAttributes = {};\n Object.entries(attributes).forEach(([key, value]) => {\n if (value)\n newAttributes[`${USER_ATTRIBUTES}${key}`] = value;\n });\n return newAttributes;\n}\nexport async function handleChallengeName(username, challengeName, session, challengeResponse, config, tokenOrchestrator, clientMetadata, options) {\n const userAttributes = options?.userAttributes;\n const deviceName = options?.friendlyDeviceName;\n switch (challengeName) {\n case 'WEB_AUTHN':\n case 'SELECT_CHALLENGE':\n if (challengeResponse === 'PASSWORD_SRP' ||\n challengeResponse === 'PASSWORD') {\n return {\n ChallengeName: challengeResponse,\n Session: session,\n $metadata: {},\n };\n }\n return initiateSelectedChallenge({\n username,\n session,\n selectedChallenge: challengeResponse,\n config,\n clientMetadata,\n });\n case 'SELECT_MFA_TYPE':\n return handleSelectMFATypeChallenge({\n challengeResponse,\n clientMetadata,\n session,\n username,\n config,\n });\n case 'MFA_SETUP':\n return handleMFASetupChallenge({\n challengeResponse,\n clientMetadata,\n session,\n username,\n deviceName,\n config,\n });\n case 'NEW_PASSWORD_REQUIRED':\n return handleCompleteNewPasswordChallenge({\n challengeResponse,\n clientMetadata,\n session,\n username,\n requiredAttributes: userAttributes,\n config,\n });\n case 'CUSTOM_CHALLENGE':\n return retryOnResourceNotFoundException(handleCustomChallenge, [\n {\n challengeResponse,\n clientMetadata,\n session,\n username,\n config,\n tokenOrchestrator,\n },\n ], username, tokenOrchestrator);\n case 'SMS_MFA':\n case 'SOFTWARE_TOKEN_MFA':\n case 'SMS_OTP':\n case 'EMAIL_OTP':\n return handleMFAChallenge({\n challengeName,\n challengeResponse,\n clientMetadata,\n session,\n username,\n config,\n });\n case 'PASSWORD':\n return handleSelectChallengeWithPassword(username, challengeResponse, clientMetadata, config, session);\n case 'PASSWORD_SRP':\n return handleSelectChallengeWithPasswordSRP(username, challengeResponse, // This is the actual password\n clientMetadata, config, session, tokenOrchestrator);\n }\n // TODO: remove this error message for production apps\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: `An error occurred during the sign in process.\n\t\t${challengeName} challengeName returned by the underlying service was not addressed.`,\n });\n}\nexport function mapMfaType(mfa) {\n let mfaType = 'SMS_MFA';\n if (mfa === 'TOTP')\n mfaType = 'SOFTWARE_TOKEN_MFA';\n if (mfa === 'EMAIL')\n mfaType = 'EMAIL_OTP';\n return mfaType;\n}\nexport function getMFAType(type) {\n if (type === 'SMS_MFA')\n return 'SMS';\n if (type === 'SOFTWARE_TOKEN_MFA')\n return 'TOTP';\n if (type === 'EMAIL_OTP')\n return 'EMAIL';\n // TODO: log warning for unknown MFA type\n}\nexport function getMFATypes(types) {\n if (!types)\n return undefined;\n return types.map(getMFAType).filter(Boolean);\n}\nexport function parseMFATypes(mfa) {\n if (!mfa)\n return [];\n return JSON.parse(mfa);\n}\nexport function getAllowedMfaSetupTypes(availableMfaSetupTypes) {\n return availableMfaSetupTypes.filter(authMfaType => authMfaType === 'EMAIL' || authMfaType === 'TOTP');\n}\nexport async function assertUserNotAuthenticated() {\n let authUser;\n try {\n authUser = await getCurrentUser();\n }\n catch (error) { }\n if (authUser && authUser.userId && authUser.username) {\n throw new AuthError({\n name: USER_ALREADY_AUTHENTICATED_EXCEPTION,\n message: 'There is already a signed in user.',\n recoverySuggestion: 'Call signOut before calling signIn again.',\n });\n }\n}\nexport function getActiveSignInUsername(username) {\n const state = signInStore.getState();\n return state.username ?? username;\n}\nexport async function handleMFAChallenge({ challengeName, challengeResponse, clientMetadata, session, username, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const challengeResponses = {\n USERNAME: username,\n };\n if (challengeName === 'EMAIL_OTP') {\n challengeResponses.EMAIL_OTP_CODE = challengeResponse;\n }\n if (challengeName === 'SMS_MFA') {\n challengeResponses.SMS_MFA_CODE = challengeResponse;\n }\n if (challengeName === 'SMS_OTP') {\n challengeResponses.SMS_OTP_CODE = challengeResponse;\n }\n if (challengeName === 'SOFTWARE_TOKEN_MFA') {\n challengeResponses.SOFTWARE_TOKEN_MFA_CODE = challengeResponse;\n }\n const userContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n ChallengeName: challengeName,\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData: userContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signInHelpers.mjs","sources":["../../../../../src/providers/cognito/utils/signInHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { AmplifyUrl, AuthAction, assertTokenProviderConfig, } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError';\nimport { InitiateAuthException } from '../types/errors';\nimport { AuthErrorCodes } from '../../../common/AuthErrorStrings';\nimport { AuthValidationErrorCode } from '../../../errors/types/validation';\nimport { assertValidationError } from '../../../errors/utils/assertValidationError';\nimport { USER_ALREADY_AUTHENTICATED_EXCEPTION } from '../../../errors/constants';\nimport { getCurrentUser } from '../apis/getCurrentUser';\nimport { getAuthUserAgentValue } from '../../../utils';\nimport { createAssociateSoftwareTokenClient, createInitiateAuthClient, createRespondToAuthChallengeClient, createVerifySoftwareTokenClient, } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';\nimport { createCognitoUserPoolEndpointResolver } from '../factories';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers';\nimport { handleWebAuthnSignInResult } from '../../../client/flows/userAuth/handleWebAuthnSignInResult';\nimport { handlePasswordSRP } from '../../../client/flows/shared/handlePasswordSRP';\nimport { initiateSelectedChallenge } from '../../../client/flows/userAuth/handleSelectChallenge';\nimport { handleSelectChallengeWithPassword } from '../../../client/flows/userAuth/handleSelectChallengeWithPassword';\nimport { handleSelectChallengeWithPasswordSRP } from '../../../client/flows/userAuth/handleSelectChallengeWithPasswordSRP';\nimport { signInStore } from '../../../client/utils/store';\nimport { getAuthenticationHelper } from './srp';\nimport { getUserContextData } from './userContextData';\nimport { handlePasswordVerifierChallenge } from './handlePasswordVerifierChallenge';\nimport { handleDeviceSRPAuth } from './handleDeviceSRPAuth';\nimport { retryOnResourceNotFoundException } from './retryOnResourceNotFoundException';\nimport { setActiveSignInUsername } from './setActiveSignInUsername';\nconst USER_ATTRIBUTES = 'userAttributes.';\nfunction isWebAuthnResultAuthSignInOutput(result) {\n return 'isSignedIn' in result && 'nextStep' in result;\n}\nexport async function handleCustomChallenge({ challengeResponse, clientMetadata, session, username, config, tokenOrchestrator, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const challengeResponses = {\n USERNAME: username,\n ANSWER: challengeResponse,\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 jsonReq = {\n ChallengeName: 'CUSTOM_CHALLENGE',\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH') {\n return handleDeviceSRPAuth({\n username,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n }\n return response;\n}\nexport async function handleMFASetupChallenge({ challengeResponse, username, clientMetadata, session, deviceName, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n if (challengeResponse === 'EMAIL') {\n return {\n ChallengeName: 'MFA_SETUP',\n Session: session,\n ChallengeParameters: {\n MFAS_CAN_SETUP: '[\"EMAIL_OTP\"]',\n },\n $metadata: {},\n };\n }\n if (challengeResponse === 'TOTP') {\n return {\n ChallengeName: 'MFA_SETUP',\n Session: session,\n ChallengeParameters: {\n MFAS_CAN_SETUP: '[\"SOFTWARE_TOKEN_MFA\"]',\n },\n $metadata: {},\n };\n }\n const challengeResponses = {\n USERNAME: username,\n };\n const isTOTPCode = /^\\d+$/.test(challengeResponse);\n if (isTOTPCode) {\n const verifySoftwareToken = createVerifySoftwareTokenClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const { Session } = await verifySoftwareToken({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, {\n UserCode: challengeResponse,\n Session: session,\n FriendlyDeviceName: deviceName,\n });\n signInStore.dispatch({\n type: 'SET_SIGN_IN_SESSION',\n value: Session,\n });\n const jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ChallengeResponses: challengeResponses,\n Session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n }\n const isEmail = challengeResponse.includes('@');\n if (isEmail) {\n challengeResponses.EMAIL = challengeResponse;\n const jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n }\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: `Cannot proceed with MFA setup using challengeResponse: ${challengeResponse}`,\n recoverySuggestion: 'Try passing \"EMAIL\", \"TOTP\", a valid email, or OTP code as the challengeResponse.',\n });\n}\nexport async function handleSelectMFATypeChallenge({ challengeResponse, username, clientMetadata, session, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n assertValidationError(challengeResponse === 'TOTP' ||\n challengeResponse === 'SMS' ||\n challengeResponse === 'EMAIL', AuthValidationErrorCode.IncorrectMFAMethod);\n const challengeResponses = {\n USERNAME: username,\n ANSWER: mapMfaType(challengeResponse),\n };\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n ChallengeName: 'SELECT_MFA_TYPE',\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n}\nexport async function handleCompleteNewPasswordChallenge({ challengeResponse, clientMetadata, session, username, requiredAttributes, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const challengeResponses = {\n ...createAttributes(requiredAttributes),\n NEW_PASSWORD: challengeResponse,\n USERNAME: username,\n };\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n ChallengeName: 'NEW_PASSWORD_REQUIRED',\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 return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n}\nexport async function handleUserPasswordAuthFlow(username, password, clientMetadata, config, tokenOrchestrator) {\n const { userPoolClientId, userPoolId, userPoolEndpoint } = config;\n const authParameters = {\n USERNAME: username,\n PASSWORD: password,\n };\n const deviceMetadata = await tokenOrchestrator.getDeviceMetadata(username);\n if (deviceMetadata && deviceMetadata.deviceKey) {\n authParameters.DEVICE_KEY = deviceMetadata.deviceKey;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n AuthFlow: 'USER_PASSWORD_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await initiateAuth({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),\n }, jsonReq);\n const activeUsername = response.ChallengeParameters?.USERNAME ??\n response.ChallengeParameters?.USER_ID_FOR_SRP ??\n username;\n setActiveSignInUsername(activeUsername);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH')\n return handleDeviceSRPAuth({\n username: activeUsername,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n return response;\n}\nexport async function handleUserSRPAuthFlow(username, password, clientMetadata, config, tokenOrchestrator) {\n return handlePasswordSRP({\n username,\n password,\n clientMetadata,\n config,\n tokenOrchestrator,\n authFlow: 'USER_SRP_AUTH',\n });\n}\nexport async function handleCustomAuthFlowWithoutSRP(username, clientMetadata, config, tokenOrchestrator) {\n const { userPoolClientId, userPoolId, userPoolEndpoint } = config;\n const authParameters = {\n USERNAME: username,\n };\n const deviceMetadata = await tokenOrchestrator.getDeviceMetadata(username);\n if (deviceMetadata && deviceMetadata.deviceKey) {\n authParameters.DEVICE_KEY = deviceMetadata.deviceKey;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await initiateAuth({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),\n }, jsonReq);\n const activeUsername = response.ChallengeParameters?.USERNAME ?? username;\n setActiveSignInUsername(activeUsername);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH')\n return handleDeviceSRPAuth({\n username: activeUsername,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n return response;\n}\nexport async function handleCustomSRPAuthFlow(username, password, clientMetadata, config, tokenOrchestrator) {\n assertTokenProviderConfig(config);\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const userPoolName = userPoolId?.split('_')[1] || '';\n const authenticationHelper = await getAuthenticationHelper(userPoolName);\n const authParameters = {\n USERNAME: username,\n SRP_A: authenticationHelper.A.toString(16),\n CHALLENGE_NAME: 'SRP_A',\n };\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const { ChallengeParameters: challengeParameters, Session: session } = await initiateAuth({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),\n }, jsonReq);\n const activeUsername = challengeParameters?.USERNAME ?? username;\n setActiveSignInUsername(activeUsername);\n return retryOnResourceNotFoundException(handlePasswordVerifierChallenge, [\n password,\n challengeParameters,\n clientMetadata,\n session,\n authenticationHelper,\n config,\n tokenOrchestrator,\n ], activeUsername, tokenOrchestrator);\n}\nexport async function getSignInResult(params) {\n const { challengeName, challengeParameters, availableChallenges } = params;\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(authConfig);\n switch (challengeName) {\n case 'CUSTOM_CHALLENGE':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_CUSTOM_CHALLENGE',\n additionalInfo: challengeParameters,\n },\n };\n case 'MFA_SETUP': {\n const { signInSession, username } = signInStore.getState();\n const mfaSetupTypes = getMFATypes(parseMFATypes(challengeParameters.MFAS_CAN_SETUP)) || [];\n const allowedMfaSetupTypes = getAllowedMfaSetupTypes(mfaSetupTypes);\n const isTotpMfaSetupAvailable = allowedMfaSetupTypes.includes('TOTP');\n const isEmailMfaSetupAvailable = allowedMfaSetupTypes.includes('EMAIL');\n if (isTotpMfaSetupAvailable && isEmailMfaSetupAvailable) {\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_MFA_SETUP_SELECTION',\n allowedMFATypes: allowedMfaSetupTypes,\n },\n };\n }\n if (isEmailMfaSetupAvailable) {\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_EMAIL_SETUP',\n },\n };\n }\n if (isTotpMfaSetupAvailable) {\n const associateSoftwareToken = createAssociateSoftwareTokenClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: authConfig.userPoolEndpoint,\n }),\n });\n const { Session, SecretCode: secretCode } = await associateSoftwareToken({ region: getRegionFromUserPoolId(authConfig.userPoolId) }, {\n Session: signInSession,\n });\n signInStore.dispatch({\n type: 'SET_SIGN_IN_SESSION',\n value: Session,\n });\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_TOTP_SETUP',\n totpSetupDetails: getTOTPSetupDetails(secretCode, username),\n },\n };\n }\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: `Cannot initiate MFA setup from available types: ${mfaSetupTypes}`,\n });\n }\n case 'NEW_PASSWORD_REQUIRED':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_NEW_PASSWORD_REQUIRED',\n missingAttributes: parseAttributes(challengeParameters.requiredAttributes),\n },\n };\n case 'SELECT_MFA_TYPE':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_MFA_SELECTION',\n allowedMFATypes: getMFATypes(parseMFATypes(challengeParameters.MFAS_CAN_CHOOSE)),\n },\n };\n case 'SMS_OTP':\n case 'SMS_MFA':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_SMS_CODE',\n codeDeliveryDetails: {\n deliveryMedium: challengeParameters.CODE_DELIVERY_DELIVERY_MEDIUM,\n destination: challengeParameters.CODE_DELIVERY_DESTINATION,\n },\n },\n };\n case 'SOFTWARE_TOKEN_MFA':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_TOTP_CODE',\n },\n };\n case 'EMAIL_OTP':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_EMAIL_CODE',\n codeDeliveryDetails: {\n deliveryMedium: challengeParameters.CODE_DELIVERY_DELIVERY_MEDIUM,\n destination: challengeParameters.CODE_DELIVERY_DESTINATION,\n },\n },\n };\n case 'WEB_AUTHN': {\n const result = await handleWebAuthnSignInResult(challengeParameters);\n if (isWebAuthnResultAuthSignInOutput(result)) {\n return result;\n }\n return getSignInResult(result);\n }\n case 'PASSWORD':\n case 'PASSWORD_SRP':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_PASSWORD',\n },\n };\n case 'SELECT_CHALLENGE':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_FIRST_FACTOR_SELECTION',\n availableChallenges,\n },\n };\n case 'ADMIN_NO_SRP_AUTH':\n break;\n case 'DEVICE_PASSWORD_VERIFIER':\n break;\n case 'DEVICE_SRP_AUTH':\n break;\n case 'PASSWORD_VERIFIER':\n break;\n }\n // TODO: remove this error message for production apps\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: 'An error occurred during the sign in process. ' +\n `${challengeName} challengeName returned by the underlying service was not addressed.`,\n });\n}\nexport function getTOTPSetupDetails(secretCode, username) {\n return {\n sharedSecret: secretCode,\n getSetupUri: (appName, accountName) => {\n const totpUri = `otpauth://totp/${appName}:${accountName ?? username}?secret=${secretCode}&issuer=${appName}`;\n return new AmplifyUrl(totpUri);\n },\n };\n}\nexport function getSignInResultFromError(errorName) {\n if (errorName === InitiateAuthException.PasswordResetRequiredException) {\n return {\n isSignedIn: false,\n nextStep: { signInStep: 'RESET_PASSWORD' },\n };\n }\n else if (errorName === InitiateAuthException.UserNotConfirmedException) {\n return {\n isSignedIn: false,\n nextStep: { signInStep: 'CONFIRM_SIGN_UP' },\n };\n }\n}\nexport function parseAttributes(attributes) {\n if (!attributes)\n return [];\n const parsedAttributes = JSON.parse(attributes).map(att => att.includes(USER_ATTRIBUTES) ? att.replace(USER_ATTRIBUTES, '') : att);\n return parsedAttributes;\n}\nexport function createAttributes(attributes) {\n if (!attributes)\n return {};\n const newAttributes = {};\n Object.entries(attributes).forEach(([key, value]) => {\n if (value)\n newAttributes[`${USER_ATTRIBUTES}${key}`] = value;\n });\n return newAttributes;\n}\nexport async function handleChallengeName(username, challengeName, session, challengeResponse, config, tokenOrchestrator, clientMetadata, options) {\n const userAttributes = options?.userAttributes;\n const deviceName = options?.friendlyDeviceName;\n switch (challengeName) {\n case 'WEB_AUTHN':\n case 'SELECT_CHALLENGE':\n if (challengeResponse === 'PASSWORD_SRP' ||\n challengeResponse === 'PASSWORD') {\n return {\n ChallengeName: challengeResponse,\n Session: session,\n $metadata: {},\n };\n }\n return initiateSelectedChallenge({\n username,\n session,\n selectedChallenge: challengeResponse,\n config,\n clientMetadata,\n });\n case 'SELECT_MFA_TYPE':\n return handleSelectMFATypeChallenge({\n challengeResponse,\n clientMetadata,\n session,\n username,\n config,\n });\n case 'MFA_SETUP':\n return handleMFASetupChallenge({\n challengeResponse,\n clientMetadata,\n session,\n username,\n deviceName,\n config,\n });\n case 'NEW_PASSWORD_REQUIRED':\n return handleCompleteNewPasswordChallenge({\n challengeResponse,\n clientMetadata,\n session,\n username,\n requiredAttributes: userAttributes,\n config,\n });\n case 'CUSTOM_CHALLENGE':\n return retryOnResourceNotFoundException(handleCustomChallenge, [\n {\n challengeResponse,\n clientMetadata,\n session,\n username,\n config,\n tokenOrchestrator,\n },\n ], username, tokenOrchestrator);\n case 'SMS_MFA':\n case 'SOFTWARE_TOKEN_MFA':\n case 'SMS_OTP':\n case 'EMAIL_OTP':\n return handleMFAChallenge({\n challengeName,\n challengeResponse,\n clientMetadata,\n session,\n username,\n config,\n });\n case 'PASSWORD':\n return handleSelectChallengeWithPassword(username, challengeResponse, clientMetadata, config, session);\n case 'PASSWORD_SRP':\n return handleSelectChallengeWithPasswordSRP(username, challengeResponse, // This is the actual password\n clientMetadata, config, session, tokenOrchestrator);\n }\n // TODO: remove this error message for production apps\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: `An error occurred during the sign in process.\n\t\t${challengeName} challengeName returned by the underlying service was not addressed.`,\n });\n}\nexport function mapMfaType(mfa) {\n let mfaType = 'SMS_MFA';\n if (mfa === 'TOTP')\n mfaType = 'SOFTWARE_TOKEN_MFA';\n if (mfa === 'EMAIL')\n mfaType = 'EMAIL_OTP';\n return mfaType;\n}\nexport function getMFAType(type) {\n if (type === 'SMS_MFA')\n return 'SMS';\n if (type === 'SOFTWARE_TOKEN_MFA')\n return 'TOTP';\n if (type === 'EMAIL_OTP')\n return 'EMAIL';\n // TODO: log warning for unknown MFA type\n}\nexport function getMFATypes(types) {\n if (!types)\n return undefined;\n return types.map(getMFAType).filter(Boolean);\n}\nexport function parseMFATypes(mfa) {\n if (!mfa)\n return [];\n return JSON.parse(mfa);\n}\nexport function getAllowedMfaSetupTypes(availableMfaSetupTypes) {\n return availableMfaSetupTypes.filter(authMfaType => authMfaType === 'EMAIL' || authMfaType === 'TOTP');\n}\nexport async function assertUserNotAuthenticated() {\n let authUser;\n try {\n authUser = await getCurrentUser();\n }\n catch (error) { }\n if (authUser && authUser.userId && authUser.username) {\n throw new AuthError({\n name: USER_ALREADY_AUTHENTICATED_EXCEPTION,\n message: 'There is already a signed in user.',\n recoverySuggestion: 'Call signOut before calling signIn again.',\n });\n }\n}\nexport function getActiveSignInUsername(username) {\n const state = signInStore.getState();\n return state.username ?? username;\n}\nexport async function handleMFAChallenge({ challengeName, challengeResponse, clientMetadata, session, username, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const challengeResponses = {\n USERNAME: username,\n };\n if (challengeName === 'EMAIL_OTP') {\n challengeResponses.EMAIL_OTP_CODE = challengeResponse;\n }\n if (challengeName === 'SMS_MFA') {\n challengeResponses.SMS_MFA_CODE = challengeResponse;\n }\n if (challengeName === 'SMS_OTP') {\n challengeResponses.SMS_OTP_CODE = challengeResponse;\n }\n if (challengeName === 'SOFTWARE_TOKEN_MFA') {\n challengeResponses.SOFTWARE_TOKEN_MFA_CODE = challengeResponse;\n }\n const userContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n ChallengeName: challengeName,\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData: userContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signInWithRedirectStore.mjs","sources":["../../../../../src/providers/cognito/utils/signInWithRedirectStore.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertTokenProviderConfig } from '@aws-amplify/core/internals/utils';\nimport { getAuthStorageKeys } from '../tokenProvider/TokenStore';\nimport { OAuthStorageKeys } from './types';\nconst V5_HOSTED_UI_KEY = 'amplify-signin-with-hostedUI';\nconst name = 'CognitoIdentityServiceProvider';\nexport class DefaultOAuthStore {\n constructor(keyValueStorage) {\n this.keyValueStorage = keyValueStorage;\n }\n async clearOAuthInflightData() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await Promise.all([\n this.keyValueStorage.removeItem(authKeys.inflightOAuth),\n this.keyValueStorage.removeItem(authKeys.oauthPKCE),\n this.keyValueStorage.removeItem(authKeys.oauthState),\n ]);\n }\n async clearOAuthData() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.clearOAuthInflightData();\n await this.keyValueStorage.removeItem(V5_HOSTED_UI_KEY); // remove in case a customer migrated an App from v5 to v6\n return this.keyValueStorage.removeItem(authKeys.oauthSignIn);\n }\n loadOAuthState() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.getItem(authKeys.oauthState);\n }\n storeOAuthState(state) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.setItem(authKeys.oauthState, state);\n }\n loadPKCE() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.getItem(authKeys.oauthPKCE);\n }\n storePKCE(pkce) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.setItem(authKeys.oauthPKCE, pkce);\n }\n setAuthConfig(authConfigParam) {\n this.cognitoConfig = authConfigParam;\n }\n async loadOAuthInFlight() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return ((await this.keyValueStorage.getItem(authKeys.inflightOAuth)) === 'true');\n }\n async storeOAuthInFlight(inflight) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.keyValueStorage.setItem(authKeys.inflightOAuth, `${inflight}`);\n }\n async loadOAuthSignIn() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n const isLegacyHostedUISignIn = await this.keyValueStorage.getItem(V5_HOSTED_UI_KEY);\n const [isOAuthSignIn, preferPrivateSession] = (await this.keyValueStorage.getItem(authKeys.oauthSignIn))?.split(',') ??\n [];\n return {\n isOAuthSignIn: isOAuthSignIn === 'true' || isLegacyHostedUISignIn === 'true',\n preferPrivateSession: preferPrivateSession === 'true',\n };\n }\n async storeOAuthSignIn(oauthSignIn, preferPrivateSession = false) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.keyValueStorage.setItem(authKeys.oauthSignIn, `${oauthSignIn},${preferPrivateSession}`);\n }\n}\nconst createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(OAuthStorageKeys)(provider, identifier);\n};\n"],"names":[],"mappings":";;;;AAAA;AACA;AAIA,MAAM,gBAAgB,GAAG,8BAA8B;AACvD,MAAM,IAAI,GAAG,gCAAgC;AACtC,MAAM,iBAAiB,CAAC;AAC/B,IAAI,WAAW,CAAC,eAAe,EAAE;AACjC,QAAQ,IAAI,CAAC,eAAe,GAAG,eAAe;AAC9C;
|
|
1
|
+
{"version":3,"file":"signInWithRedirectStore.mjs","sources":["../../../../../src/providers/cognito/utils/signInWithRedirectStore.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertTokenProviderConfig } from '@aws-amplify/core/internals/utils';\nimport { getAuthStorageKeys } from '../tokenProvider/TokenStore';\nimport { OAuthStorageKeys } from './types';\nconst V5_HOSTED_UI_KEY = 'amplify-signin-with-hostedUI';\nconst name = 'CognitoIdentityServiceProvider';\nexport class DefaultOAuthStore {\n constructor(keyValueStorage) {\n this.keyValueStorage = keyValueStorage;\n }\n async clearOAuthInflightData() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await Promise.all([\n this.keyValueStorage.removeItem(authKeys.inflightOAuth),\n this.keyValueStorage.removeItem(authKeys.oauthPKCE),\n this.keyValueStorage.removeItem(authKeys.oauthState),\n ]);\n }\n async clearOAuthData() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.clearOAuthInflightData();\n await this.keyValueStorage.removeItem(V5_HOSTED_UI_KEY); // remove in case a customer migrated an App from v5 to v6\n return this.keyValueStorage.removeItem(authKeys.oauthSignIn);\n }\n loadOAuthState() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.getItem(authKeys.oauthState);\n }\n storeOAuthState(state) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.setItem(authKeys.oauthState, state);\n }\n loadPKCE() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.getItem(authKeys.oauthPKCE);\n }\n storePKCE(pkce) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.setItem(authKeys.oauthPKCE, pkce);\n }\n setAuthConfig(authConfigParam) {\n this.cognitoConfig = authConfigParam;\n }\n async loadOAuthInFlight() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return ((await this.keyValueStorage.getItem(authKeys.inflightOAuth)) === 'true');\n }\n async storeOAuthInFlight(inflight) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.keyValueStorage.setItem(authKeys.inflightOAuth, `${inflight}`);\n }\n async loadOAuthSignIn() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n const isLegacyHostedUISignIn = await this.keyValueStorage.getItem(V5_HOSTED_UI_KEY);\n const [isOAuthSignIn, preferPrivateSession] = (await this.keyValueStorage.getItem(authKeys.oauthSignIn))?.split(',') ??\n [];\n return {\n isOAuthSignIn: isOAuthSignIn === 'true' || isLegacyHostedUISignIn === 'true',\n preferPrivateSession: preferPrivateSession === 'true',\n };\n }\n async storeOAuthSignIn(oauthSignIn, preferPrivateSession = false) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.keyValueStorage.setItem(authKeys.oauthSignIn, `${oauthSignIn},${preferPrivateSession}`);\n }\n}\nconst createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(OAuthStorageKeys)(provider, identifier);\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signUpHelpers.mjs","sources":["../../../../../src/providers/cognito/utils/signUpHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { HubInternal } from '@aws-amplify/core/internals/utils';\nimport { signIn } from '../apis/signIn';\nimport { AuthError } from '../../../errors/AuthError';\nimport { resetAutoSignIn, setAutoSignIn } from '../apis/autoSignIn';\nimport { AUTO_SIGN_IN_EXCEPTION } from '../../../errors/constants';\nimport { signInWithUserAuth } from '../apis/signInWithUserAuth';\nconst MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\nexport function handleCodeAutoSignIn(signInInput) {\n const stopHubListener = HubInternal.listen('auth-internal', async ({ payload }) => {\n switch (payload.event) {\n case 'confirmSignUp': {\n const response = payload.data;\n if (response?.isSignUpComplete) {\n HubInternal.dispatch('auth-internal', {\n event: 'autoSignIn',\n });\n setAutoSignIn(autoSignInWithCode(signInInput));\n stopHubListener();\n }\n }\n }\n });\n // This will stop the listener if confirmSignUp is not resolved.\n const timeOutId = setTimeout(() => {\n stopHubListener();\n clearTimeout(timeOutId);\n resetAutoSignIn();\n }, MAX_AUTOSIGNIN_POLLING_MS);\n}\nfunction debounce(fun, delay) {\n let timer;\n return (args) => {\n if (!timer) {\n fun(...args);\n }\n clearTimeout(timer);\n timer = setTimeout(() => {\n timer = undefined;\n }, delay);\n };\n}\nfunction handleAutoSignInWithLink(signInInput, resolve, reject) {\n const start = Date.now();\n const autoSignInPollingIntervalId = setInterval(async () => {\n const elapsedTime = Date.now() - start;\n const maxTime = MAX_AUTOSIGNIN_POLLING_MS;\n if (elapsedTime > maxTime) {\n clearInterval(autoSignInPollingIntervalId);\n reject(new AuthError({\n name: AUTO_SIGN_IN_EXCEPTION,\n message: 'The account was not confirmed on time.',\n recoverySuggestion: 'Try to verify your account by clicking the link sent your email or phone and then login manually.',\n }));\n resetAutoSignIn();\n }\n else {\n try {\n const signInOutput = await signIn(signInInput);\n if (signInOutput.nextStep.signInStep !== 'CONFIRM_SIGN_UP') {\n resolve(signInOutput);\n clearInterval(autoSignInPollingIntervalId);\n resetAutoSignIn();\n }\n }\n catch (error) {\n clearInterval(autoSignInPollingIntervalId);\n reject(error);\n resetAutoSignIn();\n }\n }\n }, 5000);\n}\nconst debouncedAutoSignInWithLink = debounce(handleAutoSignInWithLink, 300);\nconst debouncedAutoSignWithCodeOrUserConfirmed = debounce(handleAutoSignInWithCodeOrUserConfirmed, 300);\nexport function autoSignInWhenUserIsConfirmedWithLink(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignInWithLink([signInInput, resolve, reject]);\n });\n };\n}\nasync function handleAutoSignInWithCodeOrUserConfirmed(signInInput, resolve, reject) {\n try {\n const output = signInInput?.options?.authFlowType === 'USER_AUTH'\n ? await signInWithUserAuth(signInInput)\n : await signIn(signInInput);\n resolve(output);\n resetAutoSignIn();\n }\n catch (error) {\n reject(error);\n resetAutoSignIn();\n }\n}\nfunction autoSignInWithCode(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignWithCodeOrUserConfirmed([signInInput, resolve, reject]);\n });\n };\n}\nexport const autoSignInUserConfirmed = autoSignInWithCode;\n"],"names":[],"mappings":";;;;;;;AAAA;AACA;AAOA,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;AACxC,SAAS,oBAAoB,CAAC,WAAW,EAAE;AAClD,IAAI,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;AACvF,QAAQ,QAAQ,OAAO,CAAC,KAAK;AAC7B,YAAY,KAAK,eAAe,EAAE;AAClC,gBAAgB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI;AAC7C,gBAAgB,IAAI,QAAQ,EAAE,gBAAgB,EAAE;AAChD,oBAAoB,WAAW,CAAC,QAAQ,CAAC,eAAe,EAAE;AAC1D,wBAAwB,KAAK,EAAE,YAAY;AAC3C,qBAAqB,CAAC;AACtB,oBAAoB,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;AAClE,oBAAoB,eAAe,EAAE;AACrC;
|
|
1
|
+
{"version":3,"file":"signUpHelpers.mjs","sources":["../../../../../src/providers/cognito/utils/signUpHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { HubInternal } from '@aws-amplify/core/internals/utils';\nimport { signIn } from '../apis/signIn';\nimport { AuthError } from '../../../errors/AuthError';\nimport { resetAutoSignIn, setAutoSignIn } from '../apis/autoSignIn';\nimport { AUTO_SIGN_IN_EXCEPTION } from '../../../errors/constants';\nimport { signInWithUserAuth } from '../apis/signInWithUserAuth';\nconst MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\nexport function handleCodeAutoSignIn(signInInput) {\n const stopHubListener = HubInternal.listen('auth-internal', async ({ payload }) => {\n switch (payload.event) {\n case 'confirmSignUp': {\n const response = payload.data;\n if (response?.isSignUpComplete) {\n HubInternal.dispatch('auth-internal', {\n event: 'autoSignIn',\n });\n setAutoSignIn(autoSignInWithCode(signInInput));\n stopHubListener();\n }\n }\n }\n });\n // This will stop the listener if confirmSignUp is not resolved.\n const timeOutId = setTimeout(() => {\n stopHubListener();\n clearTimeout(timeOutId);\n resetAutoSignIn();\n }, MAX_AUTOSIGNIN_POLLING_MS);\n}\nfunction debounce(fun, delay) {\n let timer;\n return (args) => {\n if (!timer) {\n fun(...args);\n }\n clearTimeout(timer);\n timer = setTimeout(() => {\n timer = undefined;\n }, delay);\n };\n}\nfunction handleAutoSignInWithLink(signInInput, resolve, reject) {\n const start = Date.now();\n const autoSignInPollingIntervalId = setInterval(async () => {\n const elapsedTime = Date.now() - start;\n const maxTime = MAX_AUTOSIGNIN_POLLING_MS;\n if (elapsedTime > maxTime) {\n clearInterval(autoSignInPollingIntervalId);\n reject(new AuthError({\n name: AUTO_SIGN_IN_EXCEPTION,\n message: 'The account was not confirmed on time.',\n recoverySuggestion: 'Try to verify your account by clicking the link sent your email or phone and then login manually.',\n }));\n resetAutoSignIn();\n }\n else {\n try {\n const signInOutput = await signIn(signInInput);\n if (signInOutput.nextStep.signInStep !== 'CONFIRM_SIGN_UP') {\n resolve(signInOutput);\n clearInterval(autoSignInPollingIntervalId);\n resetAutoSignIn();\n }\n }\n catch (error) {\n clearInterval(autoSignInPollingIntervalId);\n reject(error);\n resetAutoSignIn();\n }\n }\n }, 5000);\n}\nconst debouncedAutoSignInWithLink = debounce(handleAutoSignInWithLink, 300);\nconst debouncedAutoSignWithCodeOrUserConfirmed = debounce(handleAutoSignInWithCodeOrUserConfirmed, 300);\nexport function autoSignInWhenUserIsConfirmedWithLink(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignInWithLink([signInInput, resolve, reject]);\n });\n };\n}\nasync function handleAutoSignInWithCodeOrUserConfirmed(signInInput, resolve, reject) {\n try {\n const output = signInInput?.options?.authFlowType === 'USER_AUTH'\n ? await signInWithUserAuth(signInInput)\n : await signIn(signInInput);\n resolve(output);\n resetAutoSignIn();\n }\n catch (error) {\n reject(error);\n resetAutoSignIn();\n }\n}\nfunction autoSignInWithCode(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignWithCodeOrUserConfirmed([signInInput, resolve, reject]);\n });\n };\n}\nexport const autoSignInUserConfirmed = autoSignInWithCode;\n"],"names":[],"mappings":"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"}
|
package/dist/esm/providers/cognito/utils/srp/AuthenticationHelper/AuthenticationHelper.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationHelper.mjs","sources":["../../../../../../../src/providers/cognito/utils/srp/AuthenticationHelper/AuthenticationHelper.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 { textEncoder } from '../../textEncoder';\nimport { BigInteger } from '../BigInteger';\nimport { calculateS, calculateU } from '../calculate';\nimport { getBytesFromHex } from '../getBytesFromHex';\nimport { getHashFromData } from '../getHashFromData';\nimport { getHashFromHex } from '../getHashFromHex';\nimport { getHexFromBytes } from '../getHexFromBytes';\nimport { getHkdfKey } from '../getHkdfKey';\nimport { getPaddedHex } from '../getPaddedHex';\nimport { getRandomBytes } from '../getRandomBytes';\nimport { getRandomString } from '../getRandomString';\n/** @class */\nexport default class AuthenticationHelper {\n constructor({ userPoolName, a, g, A, N, }) {\n this.encoder = textEncoder;\n this.userPoolName = userPoolName;\n this.a = a;\n this.g = g;\n this.A = A;\n this.N = N;\n this.k = new BigInteger(getHashFromHex(`${getPaddedHex(N)}${getPaddedHex(g)}`), 16);\n }\n /**\n * @returns {string} Generated random value included in password hash.\n */\n getRandomPassword() {\n if (!this.randomPassword) {\n throw new AuthError({\n name: 'EmptyBigIntegerRandomPassword',\n message: 'random password is empty',\n });\n }\n return this.randomPassword;\n }\n /**\n * @returns {string} Generated random value included in devices hash.\n */\n getSaltToHashDevices() {\n if (!this.saltToHashDevices) {\n throw new AuthError({\n name: 'EmptyBigIntegersaltToHashDevices',\n message: 'saltToHashDevices is empty',\n });\n }\n return this.saltToHashDevices;\n }\n /**\n * @returns {string} Value used to verify devices.\n */\n getVerifierDevices() {\n if (!this.verifierDevices) {\n throw new AuthError({\n name: 'EmptyBigIntegerVerifierDevices',\n message: 'verifyDevices is empty',\n });\n }\n return this.verifierDevices;\n }\n /**\n * Generate salts and compute verifier.\n *\n * @param {string} deviceGroupKey Devices to generate verifier for.\n * @param {string} username User to generate verifier for.\n *\n * @returns {Promise<void>}\n */\n async generateHashDevice(deviceGroupKey, username) {\n this.randomPassword = getRandomString();\n const combinedString = `${deviceGroupKey}${username}:${this.randomPassword}`;\n const hashedString = getHashFromData(combinedString);\n const hexRandom = getHexFromBytes(getRandomBytes(16));\n // The random hex will be unambiguously represented as a postive integer\n this.saltToHashDevices = getPaddedHex(new BigInteger(hexRandom, 16));\n return new Promise((resolve, reject) => {\n this.g.modPow(new BigInteger(getHashFromHex(this.saltToHashDevices + hashedString), 16), this.N, (err, result) => {\n if (err) {\n reject(err);\n return;\n }\n this.verifierDevices = getPaddedHex(result);\n resolve();\n });\n });\n }\n /**\n * Calculates the final HKDF key based on computed S value, computed U value and the key\n *\n * @param {String} username Username.\n * @param {String} password Password.\n * @param {AuthBigInteger} B Server B value.\n * @param {AuthBigInteger} salt Generated salt.\n */\n async getPasswordAuthenticationKey({ username, password, serverBValue, salt, }) {\n if (serverBValue.mod(this.N).equals(BigInteger.ZERO)) {\n throw new Error('B cannot be zero.');\n }\n const U = calculateU({\n A: this.A,\n B: serverBValue,\n });\n const usernamePassword = `${this.userPoolName}${username}:${password}`;\n const usernamePasswordHash = getHashFromData(usernamePassword);\n const x = new BigInteger(getHashFromHex(getPaddedHex(salt) + usernamePasswordHash), 16);\n const S = await calculateS({\n a: this.a,\n g: this.g,\n k: this.k,\n x,\n B: serverBValue,\n N: this.N,\n U,\n });\n const context = this.encoder.convert('Caldera Derived Key');\n const spacer = this.encoder.convert(String.fromCharCode(1));\n const info = new Uint8Array(context.byteLength + spacer.byteLength);\n info.set(context, 0);\n info.set(spacer, context.byteLength);\n const hkdfKey = getHkdfKey(getBytesFromHex(getPaddedHex(S)), getBytesFromHex(getPaddedHex(U)), info);\n return hkdfKey;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AAaA;AACe,MAAM,oBAAoB,CAAC;AAC1C,IAAI,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;AAC/C,QAAQ,IAAI,CAAC,OAAO,GAAG,WAAW;AAClC,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3F;
|
|
1
|
+
{"version":3,"file":"AuthenticationHelper.mjs","sources":["../../../../../../../src/providers/cognito/utils/srp/AuthenticationHelper/AuthenticationHelper.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 { textEncoder } from '../../textEncoder';\nimport { BigInteger } from '../BigInteger';\nimport { calculateS, calculateU } from '../calculate';\nimport { getBytesFromHex } from '../getBytesFromHex';\nimport { getHashFromData } from '../getHashFromData';\nimport { getHashFromHex } from '../getHashFromHex';\nimport { getHexFromBytes } from '../getHexFromBytes';\nimport { getHkdfKey } from '../getHkdfKey';\nimport { getPaddedHex } from '../getPaddedHex';\nimport { getRandomBytes } from '../getRandomBytes';\nimport { getRandomString } from '../getRandomString';\n/** @class */\nexport default class AuthenticationHelper {\n constructor({ userPoolName, a, g, A, N, }) {\n this.encoder = textEncoder;\n this.userPoolName = userPoolName;\n this.a = a;\n this.g = g;\n this.A = A;\n this.N = N;\n this.k = new BigInteger(getHashFromHex(`${getPaddedHex(N)}${getPaddedHex(g)}`), 16);\n }\n /**\n * @returns {string} Generated random value included in password hash.\n */\n getRandomPassword() {\n if (!this.randomPassword) {\n throw new AuthError({\n name: 'EmptyBigIntegerRandomPassword',\n message: 'random password is empty',\n });\n }\n return this.randomPassword;\n }\n /**\n * @returns {string} Generated random value included in devices hash.\n */\n getSaltToHashDevices() {\n if (!this.saltToHashDevices) {\n throw new AuthError({\n name: 'EmptyBigIntegersaltToHashDevices',\n message: 'saltToHashDevices is empty',\n });\n }\n return this.saltToHashDevices;\n }\n /**\n * @returns {string} Value used to verify devices.\n */\n getVerifierDevices() {\n if (!this.verifierDevices) {\n throw new AuthError({\n name: 'EmptyBigIntegerVerifierDevices',\n message: 'verifyDevices is empty',\n });\n }\n return this.verifierDevices;\n }\n /**\n * Generate salts and compute verifier.\n *\n * @param {string} deviceGroupKey Devices to generate verifier for.\n * @param {string} username User to generate verifier for.\n *\n * @returns {Promise<void>}\n */\n async generateHashDevice(deviceGroupKey, username) {\n this.randomPassword = getRandomString();\n const combinedString = `${deviceGroupKey}${username}:${this.randomPassword}`;\n const hashedString = getHashFromData(combinedString);\n const hexRandom = getHexFromBytes(getRandomBytes(16));\n // The random hex will be unambiguously represented as a postive integer\n this.saltToHashDevices = getPaddedHex(new BigInteger(hexRandom, 16));\n return new Promise((resolve, reject) => {\n this.g.modPow(new BigInteger(getHashFromHex(this.saltToHashDevices + hashedString), 16), this.N, (err, result) => {\n if (err) {\n reject(err);\n return;\n }\n this.verifierDevices = getPaddedHex(result);\n resolve();\n });\n });\n }\n /**\n * Calculates the final HKDF key based on computed S value, computed U value and the key\n *\n * @param {String} username Username.\n * @param {String} password Password.\n * @param {AuthBigInteger} B Server B value.\n * @param {AuthBigInteger} salt Generated salt.\n */\n async getPasswordAuthenticationKey({ username, password, serverBValue, salt, }) {\n if (serverBValue.mod(this.N).equals(BigInteger.ZERO)) {\n throw new Error('B cannot be zero.');\n }\n const U = calculateU({\n A: this.A,\n B: serverBValue,\n });\n const usernamePassword = `${this.userPoolName}${username}:${password}`;\n const usernamePasswordHash = getHashFromData(usernamePassword);\n const x = new BigInteger(getHashFromHex(getPaddedHex(salt) + usernamePasswordHash), 16);\n const S = await calculateS({\n a: this.a,\n g: this.g,\n k: this.k,\n x,\n B: serverBValue,\n N: this.N,\n U,\n });\n const context = this.encoder.convert('Caldera Derived Key');\n const spacer = this.encoder.convert(String.fromCharCode(1));\n const info = new Uint8Array(context.byteLength + spacer.byteLength);\n info.set(context, 0);\n info.set(spacer, context.byteLength);\n const hkdfKey = getHkdfKey(getBytesFromHex(getPaddedHex(S)), getBytesFromHex(getPaddedHex(U)), info);\n return hkdfKey;\n }\n}\n"],"names":[],"mappings":"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"}
|