supertokens-node
    Preparing search index...
    Index

    Constructors

    Properties

    Error: typeof default = SuperTokensError
    init: (config?: TypeInput) => RecipeListFunction = Recipe.init

    Methods

    • Parameters

      • tenantId: string
      • token: string
      • OptionaluserContext: Record<string, any>

      Returns Promise<
          | { email: string; status: "OK"; userId: string }
          | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR" },
      >

    • Parameters

      • tenantId: string
      • userId: string
      • email: string
      • OptionaluserContext: Record<string, any>

      Returns Promise<{ link: string; status: "OK" } | { status: "UNKNOWN_USER_ID_ERROR" }>

    • We do not make email optional here cause we want to allow passing in primaryUserId. If we make email optional, and if the user provides a primaryUserId, then it may result in two problems:

      • there is no recipeUserId = input primaryUserId, in this case, this function will throw an error
      • There is a recipe userId = input primaryUserId, but that recipe has no email, or has wrong email compared to what the user wanted to generate a reset token for.

      And we want to allow primaryUserId being passed in.

      Parameters

      • tenantId: string
      • userId: string
      • email: string
      • OptionaluserContext: Record<string, any>

      Returns Promise<{ status: "OK"; token: string } | { status: "UNKNOWN_USER_ID_ERROR" }>

    • Parameters

      • tenantId: string
      • token: string
      • newPassword: string
      • OptionaluserContext: Record<string, any>

      Returns Promise<
          | {
              status: | "OK"
              | "UNKNOWN_USER_ID_ERROR"
              | "RESET_PASSWORD_INVALID_TOKEN_ERROR";
          }
          | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" },
      >

    • Parameters

      • input: TypeEmailPasswordPasswordResetEmailDeliveryInput & {
            userContext?: Record<string, any>;
        }

      Returns Promise<void>

    • Parameters

      • tenantId: string
      • userId: string
      • email: string
      • OptionaluserContext: Record<string, any>

      Returns Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" }>

    • Parameters

      • tenantId: string
      • email: string
      • password: string
      • Optionalsession: undefined
      • OptionaluserContext: Record<string, any>

      Returns Promise<
          | { recipeUserId: RecipeUserId; status: "OK"; user: User }
          | { status: "WRONG_CREDENTIALS_ERROR" },
      >

    • Parameters

      • tenantId: string
      • email: string
      • password: string
      • session: SessionContainer
      • OptionaluserContext: Record<string, any>

      Returns Promise<
          | { recipeUserId: RecipeUserId; status: "OK"; user: User }
          | { status: "WRONG_CREDENTIALS_ERROR" }
          | {
              reason:
                  | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
                  | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
                  | "EMAIL_VERIFICATION_REQUIRED"
                  | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
              status: "LINKING_TO_SESSION_USER_FAILED";
          },
      >

    • Parameters

      • tenantId: string
      • email: string
      • password: string
      • Optionalsession: undefined
      • OptionaluserContext: Record<string, any>

      Returns Promise<
          | { recipeUserId: RecipeUserId; status: "OK"; user: User }
          | { status: "EMAIL_ALREADY_EXISTS_ERROR" },
      >

    • Parameters

      • tenantId: string
      • email: string
      • password: string
      • session: SessionContainer
      • OptionaluserContext: Record<string, any>

      Returns Promise<
          | { recipeUserId: RecipeUserId; status: "OK"; user: User }
          | { status: "EMAIL_ALREADY_EXISTS_ERROR" }
          | {
              reason:
                  | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
                  | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
                  | "EMAIL_VERIFICATION_REQUIRED"
                  | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
              status: "LINKING_TO_SESSION_USER_FAILED";
          },
      >

    • Parameters

      • input: {
            applyPasswordPolicy?: boolean;
            email?: string;
            password?: string;
            recipeUserId: RecipeUserId;
            tenantIdForPasswordPolicy?: string;
            userContext?: Record<string, any>;
        }

      Returns Promise<
          | {
              status: "OK"
              | "EMAIL_ALREADY_EXISTS_ERROR"
              | "UNKNOWN_USER_ID_ERROR";
          }
          | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" }
          | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" },
      >

    • Parameters

      • tenantId: string
      • email: string
      • password: string
      • OptionaluserContext: Record<string, any>

      Returns Promise<{ status: "OK" | "WRONG_CREDENTIALS_ERROR" }>