UNPKG

@aws-amplify/auth

Version:

Auth category of aws-amplify

1 lines • 6.32 kB
{"version":3,"file":"confirmSignIn.mjs","sources":["../../../../../src/providers/cognito/apis/confirmSignIn.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertTokenProviderConfig, resolveCtxArgs, } from '@aws-amplify/core/internals/utils';\nimport { resetActiveSignInState, setActiveSignInState, signInStore, } from '../../../client/utils/store';\nimport { AuthError } from '../../../errors/AuthError';\nimport { getSignInResult, getSignInResultFromError, handleChallengeName, } from '../utils/signInHelpers';\nimport { assertServiceError } from '../../../errors/utils/assertServiceError';\nimport { assertValidationError } from '../../../errors/utils/assertValidationError';\nimport { AuthValidationErrorCode } from '../../../errors/types/validation';\nimport { AuthErrorCodes } from '../../../common/AuthErrorStrings';\nimport { cacheCognitoTokens } from '../tokenProvider/cacheTokens';\nimport { resolveTokenOrchestrator } from '../tokenProvider';\nimport { dispatchSignedInHubEvent } from '../utils/dispatchSignedInHubEvent';\nimport { getNewDeviceMetadata } from '../utils/getNewDeviceMetadata';\nexport async function confirmSignIn(...args) {\n const [ctx, input] = resolveCtxArgs(args);\n const { challengeResponse, options } = input;\n const { username, challengeName, signInSession, signInDetails } = signInStore.getState();\n const authConfig = ctx.resourcesConfig.Auth?.Cognito;\n assertTokenProviderConfig(authConfig);\n const clientMetaData = options?.clientMetadata;\n assertValidationError(!!challengeResponse, AuthValidationErrorCode.EmptyChallengeResponse);\n // Resolve the per-context orchestrator ONCE at the entry point so every step\n // of the challenge flow uses the context's configured orchestrator.\n const tokenOrchestrator = resolveTokenOrchestrator(ctx);\n if (!username || !challengeName || !signInSession)\n // TODO: remove this error message for production apps\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: `\n\t\t\tAn error occurred during the sign in process.\n\n\t\t\tThis most likely occurred due to:\n\t\t\t1. signIn was not called before confirmSignIn.\n\t\t\t2. signIn threw an exception.\n\t\t\t3. page was refreshed during the sign in flow and session has expired.\n\t\t\t`,\n recoverySuggestion: 'Make sure a successful call to signIn is made before calling confirmSignIn' +\n 'and that the session has not expired.',\n });\n try {\n const { Session, ChallengeName: handledChallengeName, AuthenticationResult, ChallengeParameters: handledChallengeParameters, } = await handleChallengeName(username, challengeName, signInSession, challengeResponse, authConfig, tokenOrchestrator, clientMetaData, options);\n // sets up local state used during the sign-in process\n setActiveSignInState({\n signInSession: Session,\n username,\n challengeName: handledChallengeName,\n signInDetails,\n });\n if (AuthenticationResult) {\n await cacheCognitoTokens({\n username,\n ...AuthenticationResult,\n NewDeviceMetadata: await getNewDeviceMetadata({\n userPoolId: authConfig.userPoolId,\n userPoolEndpoint: authConfig.userPoolEndpoint,\n newDeviceMetadata: AuthenticationResult.NewDeviceMetadata,\n accessToken: AuthenticationResult.AccessToken,\n }),\n signInDetails,\n }, tokenOrchestrator);\n resetActiveSignInState();\n await dispatchSignedInHubEvent(ctx);\n return {\n isSignedIn: true,\n nextStep: { signInStep: 'DONE' },\n };\n }\n return getSignInResult(ctx, {\n challengeName: handledChallengeName,\n challengeParameters: handledChallengeParameters,\n });\n }\n catch (error) {\n assertServiceError(error);\n const result = getSignInResultFromError(error.name);\n if (result)\n return result;\n throw error;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AACA;AAaO,eAAe,aAAa,CAAC,GAAG,IAAI,EAAE;AAC7C,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC;AAC7C,IAAI,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,KAAK;AAChD,IAAI,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE;AAC5F,IAAI,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO;AACxD,IAAI,yBAAyB,CAAC,UAAU,CAAC;AACzC,IAAI,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc;AAClD,IAAI,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,sBAAsB,CAAC;AAC9F;AACA;AACA,IAAI,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,GAAG,CAAC;AAC3D,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa;AACrD;AACA,QAAQ,MAAM,IAAI,SAAS,CAAC;AAC5B,YAAY,IAAI,EAAE,cAAc,CAAC,eAAe;AAChD,YAAY,OAAO,EAAE;AACrB;;AAEA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,YAAY,kBAAkB,EAAE,4EAA4E;AAC5G,gBAAgB,uCAAuC;AACvD,SAAS,CAAC;AACV,IAAI,IAAI;AACR,QAAQ,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,0BAA0B,GAAG,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,CAAC;AACrR;AACA,QAAQ,oBAAoB,CAAC;AAC7B,YAAY,aAAa,EAAE,OAAO;AAClC,YAAY,QAAQ;AACpB,YAAY,aAAa,EAAE,oBAAoB;AAC/C,YAAY,aAAa;AACzB,SAAS,CAAC;AACV,QAAQ,IAAI,oBAAoB,EAAE;AAClC,YAAY,MAAM,kBAAkB,CAAC;AACrC,gBAAgB,QAAQ;AACxB,gBAAgB,GAAG,oBAAoB;AACvC,gBAAgB,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,oBAAoB,UAAU,EAAE,UAAU,CAAC,UAAU;AACrD,oBAAoB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;AACjE,oBAAoB,iBAAiB,EAAE,oBAAoB,CAAC,iBAAiB;AAC7E,oBAAoB,WAAW,EAAE,oBAAoB,CAAC,WAAW;AACjE,iBAAiB,CAAC;AAClB,gBAAgB,aAAa;AAC7B,aAAa,EAAE,iBAAiB,CAAC;AACjC,YAAY,sBAAsB,EAAE;AACpC,YAAY,MAAM,wBAAwB,CAAC,GAAG,CAAC;AAC/C,YAAY,OAAO;AACnB,gBAAgB,UAAU,EAAE,IAAI;AAChC,gBAAgB,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;AAChD,aAAa;AACb,QAAQ;AACR,QAAQ,OAAO,eAAe,CAAC,GAAG,EAAE;AACpC,YAAY,aAAa,EAAE,oBAAoB;AAC/C,YAAY,mBAAmB,EAAE,0BAA0B;AAC3D,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,kBAAkB,CAAC,KAAK,CAAC;AACjC,QAAQ,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;AAC3D,QAAQ,IAAI,MAAM;AAClB,YAAY,OAAO,MAAM;AACzB,QAAQ,MAAM,KAAK;AACnB,IAAI;AACJ;;;;"}