UNPKG

@aws-amplify/auth

Version:
1 lines 8.74 kB
{"version":3,"file":"signUp.mjs","sources":["../../../../../src/providers/cognito/apis/signUp.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 { assertValidationError } from '../../../errors/utils/assertValidationError';\nimport { AuthValidationErrorCode } from '../../../errors/types/validation';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers';\nimport { toAttributeType } from '../utils/apiHelpers';\nimport { autoSignInUserConfirmed, autoSignInWhenUserIsConfirmedWithLink, handleCodeAutoSignIn, } from '../utils/signUpHelpers';\nimport { getUserContextData } from '../utils/userContextData';\nimport { getAuthUserAgentValue } from '../../../utils';\nimport { createSignUpClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';\nimport { createCognitoUserPoolEndpointResolver } from '../factories';\nimport { autoSignInStore } from '../../../client/utils/store';\nimport { setAutoSignIn } from './autoSignIn';\n/**\n * Creates a user\n *\n * @param input - The SignUpInput object\n * @returns SignUpOutput\n * @throws service: {@link SignUpException } - Cognito service errors thrown during the sign-up process.\n * @throws validation: {@link AuthValidationErrorCode } - Validation errors thrown either username or password\n * are not defined.\n * @throws AuthTokenConfigException - Thrown when the token provider config is invalid.\n */\nexport async function signUp(input) {\n const { username, password, options } = input;\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n const signUpVerificationMethod = authConfig?.signUpVerificationMethod ?? 'code';\n const { clientMetadata, validationData, autoSignIn } = input.options ?? {};\n assertTokenProviderConfig(authConfig);\n assertValidationError(!!username, AuthValidationErrorCode.EmptySignUpUsername);\n const signInServiceOptions = typeof autoSignIn !== 'boolean' ? autoSignIn : undefined;\n const signInInput = {\n username,\n options: signInServiceOptions,\n };\n // if the authFlowType is 'CUSTOM_WITHOUT_SRP' then we don't include the password\n if (signInServiceOptions?.authFlowType !== 'CUSTOM_WITHOUT_SRP') {\n signInInput.password = password;\n }\n const { userPoolId, userPoolClientId, userPoolEndpoint } = authConfig;\n const signUpClient = createSignUpClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const signUpClientInput = {\n Username: username,\n Password: undefined,\n UserAttributes: options?.userAttributes && toAttributeType(options?.userAttributes),\n ClientMetadata: clientMetadata,\n ValidationData: validationData && toAttributeType(validationData),\n ClientId: userPoolClientId,\n UserContextData: getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n }),\n };\n if (password) {\n signUpClientInput.Password = password;\n }\n const { UserSub: userId, CodeDeliveryDetails: cdd, UserConfirmed: userConfirmed, Session: session, } = await signUpClient({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignUp),\n }, signUpClientInput);\n if (signInServiceOptions || autoSignIn === true) {\n autoSignInStore.dispatch({ type: 'START' });\n autoSignInStore.dispatch({ type: 'SET_USERNAME', value: username });\n autoSignInStore.dispatch({ type: 'SET_SESSION', value: session });\n }\n const codeDeliveryDetails = {\n destination: cdd?.Destination,\n deliveryMedium: cdd?.DeliveryMedium,\n attributeName: cdd?.AttributeName,\n };\n const isSignUpComplete = !!userConfirmed;\n const isAutoSignInStarted = autoSignInStore.getState().active;\n // Sign Up Complete\n // No Confirm Sign In Step Required\n if (isSignUpComplete) {\n if (isAutoSignInStarted) {\n setAutoSignIn(autoSignInUserConfirmed(signInInput));\n return {\n isSignUpComplete: true,\n nextStep: {\n signUpStep: 'COMPLETE_AUTO_SIGN_IN',\n },\n userId,\n };\n }\n return {\n isSignUpComplete: true,\n nextStep: {\n signUpStep: 'DONE',\n },\n userId,\n };\n }\n // Sign Up Not Complete\n // Confirm Sign Up Step Required\n if (isAutoSignInStarted) {\n // Confirmation Via Link Occurs In Separate Context\n // AutoSignIn Fn Will Initiate Polling Once Executed\n if (signUpVerificationMethod === 'link') {\n setAutoSignIn(autoSignInWhenUserIsConfirmedWithLink(signInInput));\n return {\n isSignUpComplete: false,\n nextStep: {\n signUpStep: 'COMPLETE_AUTO_SIGN_IN',\n codeDeliveryDetails,\n },\n userId,\n };\n }\n // Confirmation Via Code Occurs In Same Context\n // AutoSignIn Next Step Will Be Returned From Confirm Sign Up\n handleCodeAutoSignIn(signInInput);\n }\n return {\n isSignUpComplete: false,\n nextStep: {\n signUpStep: 'CONFIRM_SIGN_UP',\n codeDeliveryDetails,\n },\n userId,\n };\n}\n"],"names":[],"mappings":"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"}