• Signs a user in automatically after finishing the sign-up process.

    This API will automatically sign a user in if the autoSignIn flow has been completed in the following cases:

    • User confirmed their account with a verification code sent to their phone or email (default option).
    • User confirmed their account with a verification link sent to their phone or email. In order to enable this option you need to go to the Amazon Cognito console, look for your userpool, then go to the Messaging tab and enable link mode inside the Verification message option. Finally you need to define the signUpVerificationMethod in your Auth config.

    Returns Promise<SignInOutput>

    The signInOutput.

    Example

     Amplify.configure({
    Auth: {
    Cognito: {
    ...cognitoConfig,
    signUpVerificationMethod: "link" // the default value is "code"
    }
    }});

    Throws

    AutoSignInException - Thrown when the autoSignIn flow has not started, or has been cancelled/completed.

    Example

     // handleSignUp.ts
    async function handleSignUp(
    username:string,
    password:string
    ){
    try {
    const { nextStep } = await signUp({
    username,
    password,
    options: {
    userAttributes:{ email:'email@email.com'},
    autoSignIn: true // This enables the auto sign-in flow.
    },
    });

    handleSignUpStep(nextStep);

    } catch (error) {
    console.log(error);
    }
    }

    // handleConfirmSignUp.ts
    async function handleConfirmSignUp(username:string, confirmationCode:string) {
    try {
    const { nextStep } = await confirmSignUp({
    username,
    confirmationCode,
    });

    handleSignUpStep(nextStep);
    } catch (error) {
    console.log(error);
    }
    }

    // signUpUtils.ts
    async function handleSignUpStep( step: SignUpOutput["nextStep"]) {
    switch (step.signUpStep) {
    case "CONFIRM_SIGN_UP":

    // Redirect end-user to confirm-sign up screen.

    case "COMPLETE_AUTO_SIGN_IN":
    const codeDeliveryDetails = step.codeDeliveryDetails;
    if (codeDeliveryDetails) {
    // Redirect user to confirm-sign-up with link screen.
    }
    const signInOutput = await autoSignIn();
    // handle sign-in steps
    }