---
title: supertokens-node/recipe/multifactorauth
description: References documentation for the supertokens-node/recipe/multifactorauth package
sidebar:
  order: 130
---

## Classes

### default

Defined in: [recipe/multifactorauth/index.ts:25](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L25)

#### Constructors

##### Constructor

```ts check=false reason="Generated API signature"
new default(): default;
```

###### Returns

[`default`](#default)

#### Properties

| Property | Modifier | Type | Default value | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| <a id="member-default-factorids"></a> `FactorIds` | `static` | `object` | `FactorIds` | [recipe/multifactorauth/index.ts:29](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L29) |
| `FactorIds.EMAILPASSWORD` | `public` | `string` | `"emailpassword"` | [recipe/multifactorauth/types.ts:152](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L152) |
| `FactorIds.LINK_EMAIL` | `public` | `string` | `"link-email"` | [recipe/multifactorauth/types.ts:156](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L156) |
| `FactorIds.LINK_PHONE` | `public` | `string` | `"link-phone"` | [recipe/multifactorauth/types.ts:157](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L157) |
| `FactorIds.OTP_EMAIL` | `public` | `string` | `"otp-email"` | [recipe/multifactorauth/types.ts:154](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L154) |
| `FactorIds.OTP_PHONE` | `public` | `string` | `"otp-phone"` | [recipe/multifactorauth/types.ts:155](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L155) |
| `FactorIds.THIRDPARTY` | `public` | `string` | `"thirdparty"` | [recipe/multifactorauth/types.ts:158](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L158) |
| `FactorIds.TOTP` | `public` | `string` | `"totp"` | [recipe/multifactorauth/types.ts:159](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L159) |
| `FactorIds.WEBAUTHN` | `public` | `string` | `"webauthn"` | [recipe/multifactorauth/types.ts:153](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/types.ts#L153) |
| <a id="member-default-init"></a> `init` | `static` | (`config?`) => [`RecipeListFunction`](types#recipelistfunction) | `Recipe.init` | [recipe/multifactorauth/index.ts:26](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L26) |
| <a id="member-default-multifactorauthclaim"></a> `MultiFactorAuthClaim` | `static` | `MultiFactorAuthClaimClass` | `MultiFactorAuthClaim` | [recipe/multifactorauth/index.ts:28](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L28) |

#### Methods

##### addToRequiredSecondaryFactorsForUser()

```ts check=false reason="Generated API signature"
static addToRequiredSecondaryFactorsForUser(
   userId, 
   factorId, 
userContext?): Promise<void>;
```

Defined in: [recipe/multifactorauth/index.ts:101](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L101)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `userId` | `string` |
| `factorId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<`void`\>

##### assertAllowedToSetupFactorElseThrowInvalidClaimError()

```ts check=false reason="Generated API signature"
static assertAllowedToSetupFactorElseThrowInvalidClaimError(
   session, 
   factorId, 
userContext?): Promise<void>;
```

Defined in: [recipe/multifactorauth/index.ts:31](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L31)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `session` | `SessionContainerInterface` |
| `factorId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<`void`\>

##### getFactorsSetupForUser()

```ts check=false reason="Generated API signature"
static getFactorsSetupForUser(userId, userContext?): Promise<string[]>;
```

Defined in: [recipe/multifactorauth/index.ts:81](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L81)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `userId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<`string`[]\>

##### getMFARequirementsForAuth()

```ts check=false reason="Generated API signature"
static getMFARequirementsForAuth(session, userContext?): Promise<MFARequirementList>;
```

Defined in: [recipe/multifactorauth/index.ts:58](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L58)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `session` | `SessionContainerInterface` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<[`MFARequirementList`](recipe-multifactorauth-types#mfarequirementlist)\>

##### getRequiredSecondaryFactorsForUser()

```ts check=false reason="Generated API signature"
static getRequiredSecondaryFactorsForUser(userId, userContext?): Promise<string[]>;
```

Defined in: [recipe/multifactorauth/index.ts:94](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L94)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `userId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<`string`[]\>

##### markFactorAsCompleteInSession()

```ts check=false reason="Generated API signature"
static markFactorAsCompleteInSession(
   session, 
   factorId, 
userContext?): Promise<void>;
```

Defined in: [recipe/multifactorauth/index.ts:69](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L69)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `session` | `SessionContainerInterface` |
| `factorId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<`void`\>

##### removeFromRequiredSecondaryFactorsForUser()

```ts check=false reason="Generated API signature"
static removeFromRequiredSecondaryFactorsForUser(
   userId, 
   factorId, 
userContext?): Promise<void>;
```

Defined in: [recipe/multifactorauth/index.ts:113](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L113)

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `userId` | `string` |
| `factorId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

###### Returns

`Promise`\<`void`\>

## Variables

### addToRequiredSecondaryFactorsForUser()

```ts check=false reason="Generated API signature"
const addToRequiredSecondaryFactorsForUser: (userId, factorId, userContext?) => Promise<void> = Wrapper.addToRequiredSecondaryFactorsForUser;
```

Defined in: [recipe/multifactorauth/index.ts:134](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L134)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `userId` | `string` |
| `factorId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<`void`\>

***

### assertAllowedToSetupFactorElseThrowInvalidClaimError()

```ts check=false reason="Generated API signature"
assertAllowedToSetupFactorElseThrowInvalidClaimError: (session, factorId, userContext?) => Promise<void> = Wrapper.assertAllowedToSetupFactorElseThrowInvalidClaimError;
```

Defined in: [recipe/multifactorauth/index.ts:128](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L128)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `session` | `SessionContainerInterface` |
| `factorId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<`void`\>

***

### getFactorsSetupForUser()

```ts check=false reason="Generated API signature"
getFactorsSetupForUser: (userId, userContext?) => Promise<string[]> = Wrapper.getFactorsSetupForUser;
```

Defined in: [recipe/multifactorauth/index.ts:131](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L131)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `userId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<`string`[]\>

***

### getMFARequirementsForAuth()

```ts check=false reason="Generated API signature"
getMFARequirementsForAuth: (session, userContext?) => Promise<MFARequirementList> = Wrapper.getMFARequirementsForAuth;
```

Defined in: [recipe/multifactorauth/index.ts:133](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L133)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `session` | `SessionContainerInterface` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<[`MFARequirementList`](recipe-multifactorauth-types#mfarequirementlist)\>

***

### getRequiredSecondaryFactorsForUser()

```ts check=false reason="Generated API signature"
getRequiredSecondaryFactorsForUser: (userId, userContext?) => Promise<string[]> = Wrapper.getRequiredSecondaryFactorsForUser;
```

Defined in: [recipe/multifactorauth/index.ts:132](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L132)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `userId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<`string`[]\>

***

### init()

```ts check=false reason="Generated API signature"
init: (config?) => RecipeListFunction = Wrapper.init;
```

Defined in: [recipe/multifactorauth/index.ts:126](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L126)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `config?` | [`TypeInput`](recipe-multifactorauth-types#typeinput) |

#### Returns

[`RecipeListFunction`](types#recipelistfunction)

***

### markFactorAsCompleteInSession()

```ts check=false reason="Generated API signature"
markFactorAsCompleteInSession: (session, factorId, userContext?) => Promise<void> = Wrapper.markFactorAsCompleteInSession;
```

Defined in: [recipe/multifactorauth/index.ts:130](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L130)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `session` | `SessionContainerInterface` |
| `factorId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<`void`\>

***

### MultiFactorAuthClaim

```ts check=false reason="Generated API signature"
const MultiFactorAuthClaim: MultiFactorAuthClaimClass;
```

Defined in: [recipe/multifactorauth/multiFactorAuthClaim.ts:247](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/multiFactorAuthClaim.ts#L247)

***

### removeFromRequiredSecondaryFactorsForUser()

```ts check=false reason="Generated API signature"
const removeFromRequiredSecondaryFactorsForUser: (userId, factorId, userContext?) => Promise<void> = Wrapper.removeFromRequiredSecondaryFactorsForUser;
```

Defined in: [recipe/multifactorauth/index.ts:135](https://github.com/supertokens/supertokens-node/blob/8353a9a70d8b17dd9ff6ffe41201fa2ef0e60218/lib/ts/recipe/multifactorauth/index.ts#L135)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `userId` | `string` |
| `factorId` | `string` |
| `userContext?` | `Record`\<`string`, `any`\> |

#### Returns

`Promise`\<`void`\>

## References

### APIInterface

Re-exports [APIInterface](recipe-multifactorauth-types#apiinterface)

***

### APIOptions

Re-exports [APIOptions](recipe-multifactorauth-types#apioptions)

***

### FactorIds

Re-exports [FactorIds](recipe-multifactorauth-types#factorids)

***

### RecipeInterface

Re-exports [RecipeInterface](recipe-multifactorauth-types#recipeinterface)
