{"version":3,"file":"handleWebAuthnSignInResult.mjs","sources":["../../../../../src/client/flows/userAuth/handleWebAuthnSignInResult.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 { AuthAction, assertTokenProviderConfig, } from '@aws-amplify/core/internals/utils';\nimport { AuthErrorCodes } from '../../../common/AuthErrorStrings';\nimport { createRespondToAuthChallengeClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers';\nimport { createCognitoUserPoolEndpointResolver } from '../../../providers/cognito/factories';\nimport { cacheCognitoTokens } from '../../../providers/cognito/tokenProvider/cacheTokens';\nimport { dispatchSignedInHubEvent } from '../../../providers/cognito/utils/dispatchSignedInHubEvent';\nimport { setActiveSignInState, signInStore } from '../../../client/utils/store';\nimport { getAuthUserAgentValue } from '../../../utils';\nimport { getPasskey } from '../../utils/passkey';\nimport { PasskeyErrorCode, assertPasskeyError, } from '../../utils/passkey/errors';\nimport { AuthError } from '../../../errors/AuthError';\nimport { getNewDeviceMetadata } from '../../../providers/cognito/utils/getNewDeviceMetadata';\nexport async function handleWebAuthnSignInResult(challengeParameters) {\n    const authConfig = Amplify.getConfig().Auth?.Cognito;\n    assertTokenProviderConfig(authConfig);\n    const { username, signInSession, signInDetails, challengeName } = signInStore.getState();\n    if (challengeName !== 'WEB_AUTHN' || !username) {\n        throw new AuthError({\n            name: AuthErrorCodes.SignInException,\n            message: 'Unable to proceed due to invalid sign in state.',\n        });\n    }\n    const { CREDENTIAL_REQUEST_OPTIONS: credentialRequestOptions } = challengeParameters;\n    assertPasskeyError(!!credentialRequestOptions, PasskeyErrorCode.InvalidPasskeyAuthenticationOptions);\n    const cred = await getPasskey(JSON.parse(credentialRequestOptions));\n    const respondToAuthChallenge = createRespondToAuthChallengeClient({\n        endpointResolver: createCognitoUserPoolEndpointResolver({\n            endpointOverride: authConfig.userPoolEndpoint,\n        }),\n    });\n    const { ChallengeName: nextChallengeName, ChallengeParameters: nextChallengeParameters, AuthenticationResult: authenticationResult, Session: nextSession, } = await respondToAuthChallenge({\n        region: getRegionFromUserPoolId(authConfig.userPoolId),\n        userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n    }, {\n        ChallengeName: 'WEB_AUTHN',\n        ChallengeResponses: {\n            USERNAME: username,\n            CREDENTIAL: JSON.stringify(cred),\n        },\n        ClientId: authConfig.userPoolClientId,\n        Session: signInSession,\n    });\n    setActiveSignInState({\n        signInSession: nextSession,\n        username,\n        challengeName: nextChallengeName,\n        signInDetails,\n    });\n    if (authenticationResult) {\n        await cacheCognitoTokens({\n            ...authenticationResult,\n            username,\n            NewDeviceMetadata: await getNewDeviceMetadata({\n                userPoolId: authConfig.userPoolId,\n                userPoolEndpoint: authConfig.userPoolEndpoint,\n                newDeviceMetadata: authenticationResult.NewDeviceMetadata,\n                accessToken: authenticationResult.AccessToken,\n            }),\n            signInDetails,\n        });\n        signInStore.dispatch({ type: 'RESET_STATE' });\n        await dispatchSignedInHubEvent();\n        return {\n            isSignedIn: true,\n            nextStep: { signInStep: 'DONE' },\n        };\n    }\n    if (nextChallengeName === 'WEB_AUTHN') {\n        throw new AuthError({\n            name: AuthErrorCodes.SignInException,\n            message: 'Sequential WEB_AUTHN challenges returned from underlying service cannot be handled.',\n        });\n    }\n    return {\n        challengeName: nextChallengeName,\n        challengeParameters: nextChallengeParameters,\n    };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAeO,eAAe,0BAA0B,CAAC,mBAAmB,EAAE;AACtE,IAAI,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO;AACxD,IAAI,yBAAyB,CAAC,UAAU,CAAC;AACzC,IAAI,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE;AAC5F,IAAI,IAAI,aAAa,KAAK,WAAW,IAAI,CAAC,QAAQ,EAAE;AACpD,QAAQ,MAAM,IAAI,SAAS,CAAC;AAC5B,YAAY,IAAI,EAAE,cAAc,CAAC,eAAe;AAChD,YAAY,OAAO,EAAE,iDAAiD;AACtE,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,MAAM,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,GAAG,mBAAmB;AACxF,IAAI,kBAAkB,CAAC,CAAC,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,mCAAmC,CAAC;AACxG,IAAI,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACvE,IAAI,MAAM,sBAAsB,GAAG,kCAAkC,CAAC;AACtE,QAAQ,gBAAgB,EAAE,qCAAqC,CAAC;AAChE,YAAY,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;AACzD,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,OAAO,EAAE,WAAW,GAAG,GAAG,MAAM,sBAAsB,CAAC;AAC/L,QAAQ,MAAM,EAAE,uBAAuB,CAAC,UAAU,CAAC,UAAU,CAAC;AAC9D,QAAQ,cAAc,EAAE,qBAAqB,CAAC,UAAU,CAAC,aAAa,CAAC;AACvE,KAAK,EAAE;AACP,QAAQ,aAAa,EAAE,WAAW;AAClC,QAAQ,kBAAkB,EAAE;AAC5B,YAAY,QAAQ,EAAE,QAAQ;AAC9B,YAAY,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAC5C,SAAS;AACT,QAAQ,QAAQ,EAAE,UAAU,CAAC,gBAAgB;AAC7C,QAAQ,OAAO,EAAE,aAAa;AAC9B,KAAK,CAAC;AACN,IAAI,oBAAoB,CAAC;AACzB,QAAQ,aAAa,EAAE,WAAW;AAClC,QAAQ,QAAQ;AAChB,QAAQ,aAAa,EAAE,iBAAiB;AACxC,QAAQ,aAAa;AACrB,KAAK,CAAC;AACN,IAAI,IAAI,oBAAoB,EAAE;AAC9B,QAAQ,MAAM,kBAAkB,CAAC;AACjC,YAAY,GAAG,oBAAoB;AACnC,YAAY,QAAQ;AACpB,YAAY,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,gBAAgB,UAAU,EAAE,UAAU,CAAC,UAAU;AACjD,gBAAgB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;AAC7D,gBAAgB,iBAAiB,EAAE,oBAAoB,CAAC,iBAAiB;AACzE,gBAAgB,WAAW,EAAE,oBAAoB,CAAC,WAAW;AAC7D,aAAa,CAAC;AACd,YAAY,aAAa;AACzB,SAAS,CAAC;AACV,QAAQ,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACrD,QAAQ,MAAM,wBAAwB,EAAE;AACxC,QAAQ,OAAO;AACf,YAAY,UAAU,EAAE,IAAI;AAC5B,YAAY,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;AAC5C,SAAS;AACT,IAAI;AACJ,IAAI,IAAI,iBAAiB,KAAK,WAAW,EAAE;AAC3C,QAAQ,MAAM,IAAI,SAAS,CAAC;AAC5B,YAAY,IAAI,EAAE,cAAc,CAAC,eAAe;AAChD,YAAY,OAAO,EAAE,qFAAqF;AAC1G,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,OAAO;AACX,QAAQ,aAAa,EAAE,iBAAiB;AACxC,QAAQ,mBAAmB,EAAE,uBAAuB;AACpD,KAAK;AACL;;;;"}