@aws-amplify/auth
Version:
Auth category of aws-amplify
94 lines (93 loc) • 2.77 kB
TypeScript
import { AutoSignInCallback } from '../../../types/models';
/**
* 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](https://aws.amazon.com/pm/cognito),
* 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.
*
* @example
* ```typescript
* 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.
* @returns The signInOutput.
*
* @example
* ```typescript
* // 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
* }
*
* ```
*/
export declare let autoSignIn: AutoSignInCallback;
/**
* Sets the context of autoSignIn at run time.
* @internal
*/
export declare function setAutoSignIn(callback: AutoSignInCallback): void;
/**
* Resets the context
*
* @internal
*/
export declare function resetAutoSignIn(resetCallback?: boolean): void;