@aws-amplify/auth
Version:
Auth category of aws-amplify
1 lines • 6.92 kB
Source Map (JSON)
{"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;AACA;AACA;AACA,KAAK,CAAC;AACN;AACA,IAAI,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM;AACvC,QAAQ,eAAe,EAAE;AACzB,QAAQ,YAAY,CAAC,SAAS,CAAC;AAC/B,QAAQ,eAAe,EAAE;AACzB,KAAK,EAAE,yBAAyB,CAAC;AACjC;AACA,SAAS,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE;AAC9B,IAAI,IAAI,KAAK;AACb,IAAI,OAAO,CAAC,IAAI,KAAK;AACrB,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC;AACxB;AACA,QAAQ,YAAY,CAAC,KAAK,CAAC;AAC3B,QAAQ,KAAK,GAAG,UAAU,CAAC,MAAM;AACjC,YAAY,KAAK,GAAG,SAAS;AAC7B,SAAS,EAAE,KAAK,CAAC;AACjB,KAAK;AACL;AACA,SAAS,wBAAwB,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE;AAChE,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;AAC5B,IAAI,MAAM,2BAA2B,GAAG,WAAW,CAAC,YAAY;AAChE,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;AAC9C,QAAQ,MAAM,OAAO,GAAG,yBAAyB;AACjD,QAAQ,IAAI,WAAW,GAAG,OAAO,EAAE;AACnC,YAAY,aAAa,CAAC,2BAA2B,CAAC;AACtD,YAAY,MAAM,CAAC,IAAI,SAAS,CAAC;AACjC,gBAAgB,IAAI,EAAE,sBAAsB;AAC5C,gBAAgB,OAAO,EAAE,wCAAwC;AACjE,gBAAgB,kBAAkB,EAAE,mGAAmG;AACvI,aAAa,CAAC,CAAC;AACf,YAAY,eAAe,EAAE;AAC7B;AACA,aAAa;AACb,YAAY,IAAI;AAChB,gBAAgB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;AAC9D,gBAAgB,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,KAAK,iBAAiB,EAAE;AAC5E,oBAAoB,OAAO,CAAC,YAAY,CAAC;AACzC,oBAAoB,aAAa,CAAC,2BAA2B,CAAC;AAC9D,oBAAoB,eAAe,EAAE;AACrC;AACA;AACA,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,aAAa,CAAC,2BAA2B,CAAC;AAC1D,gBAAgB,MAAM,CAAC,KAAK,CAAC;AAC7B,gBAAgB,eAAe,EAAE;AACjC;AACA;AACA,KAAK,EAAE,IAAI,CAAC;AACZ;AACA,MAAM,2BAA2B,GAAG,QAAQ,CAAC,wBAAwB,EAAE,GAAG,CAAC;AAC3E,MAAM,wCAAwC,GAAG,QAAQ,CAAC,uCAAuC,EAAE,GAAG,CAAC;AAChG,SAAS,qCAAqC,CAAC,WAAW,EAAE;AACnE,IAAI,OAAO,YAAY;AACvB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD,YAAY,2BAA2B,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACvE,SAAS,CAAC;AACV,KAAK;AACL;AACA,eAAe,uCAAuC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE;AACrF,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,WAAW,EAAE,OAAO,EAAE,YAAY,KAAK;AAC9D,cAAc,MAAM,kBAAkB,CAAC,WAAW;AAClD,cAAc,MAAM,MAAM,CAAC,WAAW,CAAC;AACvC,QAAQ,OAAO,CAAC,MAAM,CAAC;AACvB,QAAQ,eAAe,EAAE;AACzB;AACA,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,MAAM,CAAC,KAAK,CAAC;AACrB,QAAQ,eAAe,EAAE;AACzB;AACA;AACA,SAAS,kBAAkB,CAAC,WAAW,EAAE;AACzC,IAAI,OAAO,YAAY;AACvB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD,YAAY,wCAAwC,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACpF,SAAS,CAAC;AACV,KAAK;AACL;AACY,MAAC,uBAAuB,GAAG;;;;"}