Skip to main content
References

EmailPassword Types

Type Aliases

APIInterface

type APIInterface = object;

Defined in: recipe/emailpassword/types.ts:208

Properties

PropertyTypeDefined in
emailExistsGET| undefined | (input) => Promise< | { exists: boolean; status: "OK"; } | GeneralErrorResponse>recipe/emailpassword/types.ts:209
generatePasswordResetTokenPOST| undefined | (input) => Promise< | { status: "OK"; } | { reason: string; status: "PASSWORD_RESET_NOT_ALLOWED"; } | GeneralErrorResponse>recipe/emailpassword/types.ts:219
passwordResetPOST| undefined | (input) => Promise< | { email: string; status: "OK"; user: User; } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR"; } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR"; } | GeneralErrorResponse>recipe/emailpassword/types.ts:240
signInPOST| undefined | (input) => Promise< | { session: SessionContainerInterface; status: "OK"; user: User; } | { reason: string; status: "SIGN_IN_NOT_ALLOWED"; } | { status: "WRONG_CREDENTIALS_ERROR"; } | GeneralErrorResponse>recipe/emailpassword/types.ts:264
signUpPOST| undefined | (input) => Promise< | { session: SessionContainerInterface; status: "OK"; user: User; } | { reason: string; status: "SIGN_UP_NOT_ALLOWED"; } | { status: "EMAIL_ALREADY_EXISTS_ERROR"; } | GeneralErrorResponse>recipe/emailpassword/types.ts:292

APIOptions

type APIOptions = object;

Defined in: recipe/emailpassword/types.ts:197

Properties

NormalisedFormField

type NormalisedFormField = object;

Defined in: recipe/emailpassword/types.ts:55

Properties

PropertyTypeDefined in
idstringrecipe/emailpassword/types.ts:56
optionalbooleanrecipe/emailpassword/types.ts:58
validate(value, tenantId, userContext) => Promise<string | undefined>recipe/emailpassword/types.ts:57

RecipeInterface

type RecipeInterface = object;

Defined in: recipe/emailpassword/types.ts:86

Methods

consumePasswordResetToken()
consumePasswordResetToken(input): Promise<
| {
email: string;
status: "OK";
userId: string;
}
| {
status: "RESET_PASSWORD_INVALID_TOKEN_ERROR";
}>;

Defined in: recipe/emailpassword/types.ts:167

Parameters
ParameterType
input{ tenantId: string; token: string; userContext: UserContext; }
input.tenantIdstring
input.tokenstring
input.userContextUserContext
Returns

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

createNewRecipeUser()
createNewRecipeUser(input): Promise<
| {
recipeUserId: RecipeUserId;
status: "OK";
user: User;
}
| {
status: "EMAIL_ALREADY_EXISTS_ERROR";
}>;

Defined in: recipe/emailpassword/types.ts:114

Parameters
ParameterType
input{ email: string; password: string; tenantId: string; userContext: UserContext; }
input.emailstring
input.passwordstring
input.tenantIdstring
input.userContextUserContext
Returns

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

createResetPasswordToken()
createResetPasswordToken(input): Promise<
| {
status: "OK";
token: string;
}
| {
status: "UNKNOWN_USER_ID_ERROR";
}>;

Defined in: recipe/emailpassword/types.ts:160

We pass in the email as well to this function cause the input userId may not be associated with an emailpassword account. In this case, we need to know which email to use to create an emailpassword account later on.

Parameters
ParameterType
input{ email: string; tenantId: string; userContext: UserContext; userId: string; }
input.emailstring
input.tenantIdstring
input.userContextUserContext
input.userIdstring
Returns

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

signIn()
signIn(input): Promise<
| {
recipeUserId: RecipeUserId;
status: "OK";
user: User;
}
| {
status: "WRONG_CREDENTIALS_ERROR";
}
| {
reason: | "EMAIL_VERIFICATION_REQUIRED"
| "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
| "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
| "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
status: "LINKING_TO_SESSION_USER_FAILED";
}>;

Defined in: recipe/emailpassword/types.ts:128

Parameters
ParameterType
input{ email: string; password: string; session: SessionContainerInterface | undefined; shouldTryLinkingWithSessionUser: boolean | undefined; tenantId: string; userContext: UserContext; }
input.emailstring
input.passwordstring
input.sessionSessionContainerInterface | undefined
input.shouldTryLinkingWithSessionUserboolean | undefined
input.tenantIdstring
input.userContextUserContext
Returns

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

signUp()
signUp(input): Promise<
| {
recipeUserId: RecipeUserId;
status: "OK";
user: User;
}
| {
status: "EMAIL_ALREADY_EXISTS_ERROR";
}
| {
reason: | "EMAIL_VERIFICATION_REQUIRED"
| "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
| "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"
| "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
status: "LINKING_TO_SESSION_USER_FAILED";
}>;

Defined in: recipe/emailpassword/types.ts:87

Parameters
ParameterType
input{ email: string; password: string; session: SessionContainerInterface | undefined; shouldTryLinkingWithSessionUser: boolean | undefined; tenantId: string; userContext: UserContext; }
input.emailstring
input.passwordstring
input.sessionSessionContainerInterface | undefined
input.shouldTryLinkingWithSessionUserboolean | undefined
input.tenantIdstring
input.userContextUserContext
Returns

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

updateEmailOrPassword()
updateEmailOrPassword(input): Promise<
| {
status: "OK" | "UNKNOWN_USER_ID_ERROR" | "EMAIL_ALREADY_EXISTS_ERROR";
}
| {
reason: string;
status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR";
}
| {
failureReason: string;
status: "PASSWORD_POLICY_VIOLATED_ERROR";
}>;

Defined in: recipe/emailpassword/types.ts:176

Parameters
ParameterType
input{ applyPasswordPolicy?: boolean; email?: string; password?: string; recipeUserId: RecipeUserId; tenantIdForPasswordPolicy: string; userContext: UserContext; }
input.applyPasswordPolicy?boolean
input.email?string
input.password?string
input.recipeUserIdRecipeUserId
input.tenantIdForPasswordPolicystring
input.userContextUserContext
Returns

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

verifyCredentials()
verifyCredentials(input): Promise<
| {
recipeUserId: RecipeUserId;
status: "OK";
user: User;
}
| {
status: "WRONG_CREDENTIALS_ERROR";
}>;

Defined in: recipe/emailpassword/types.ts:148

Parameters
ParameterType
input{ email: string; password: string; tenantId: string; userContext: UserContext; }
input.emailstring
input.passwordstring
input.tenantIdstring
input.userContextUserContext
Returns

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

TypeEmailPasswordEmailDeliveryInput

type TypeEmailPasswordEmailDeliveryInput = TypeEmailPasswordPasswordResetEmailDeliveryInput;

Defined in: recipe/emailpassword/types.ts:332

TypeEmailPasswordPasswordResetEmailDeliveryInput

type TypeEmailPasswordPasswordResetEmailDeliveryInput = object;

Defined in: recipe/emailpassword/types.ts:321

Properties

TypeFormField

type TypeFormField = object;

Defined in: recipe/emailpassword/types.ts:49

Properties

TypeInput

type TypeInput = object;

Defined in: recipe/emailpassword/types.ts:74

Properties

PropertyTypeDefined in
emailDelivery?EmailDeliveryTypeInput<TypeEmailPasswordEmailDeliveryInput>recipe/emailpassword/types.ts:76
override?objectrecipe/emailpassword/types.ts:77
override.apis?(originalImplementation, builder) => APIInterfacerecipe/emailpassword/types.ts:82
override.functions?(originalImplementation, builder) => RecipeInterfacerecipe/emailpassword/types.ts:78
signUpFeature?TypeInputSignUprecipe/emailpassword/types.ts:75

TypeInputFormField

type TypeInputFormField = object;

Defined in: recipe/emailpassword/types.ts:43

Properties

PropertyTypeDefined in
idstringrecipe/emailpassword/types.ts:44
optional?booleanrecipe/emailpassword/types.ts:46
validate?(value, tenantId, userContext) => Promise<string | undefined>recipe/emailpassword/types.ts:45

TypeInputSignUp

type TypeInputSignUp = object;

Defined in: recipe/emailpassword/types.ts:51

Properties

PropertyTypeDefined in
formFields?TypeInputFormField[]recipe/emailpassword/types.ts:52

TypeNormalisedInput

type TypeNormalisedInput = object;

Defined in: recipe/emailpassword/types.ts:27

Properties

PropertyTypeDefined in
getEmailDeliveryConfig(isInServerlessEnv) => EmailDeliveryTypeInputWithService<TypeEmailPasswordEmailDeliveryInput>recipe/emailpassword/types.ts:30
overrideobjectrecipe/emailpassword/types.ts:34
override.apis(originalImplementation, builder) => APIInterfacerecipe/emailpassword/types.ts:39
override.functions(originalImplementation, builder) => RecipeInterfacerecipe/emailpassword/types.ts:35
resetPasswordUsingTokenFeatureTypeNormalisedInputResetPasswordUsingTokenFeaturerecipe/emailpassword/types.ts:33
signInFeatureTypeNormalisedInputSignInrecipe/emailpassword/types.ts:29
signUpFeatureTypeNormalisedInputSignUprecipe/emailpassword/types.ts:28

TypeNormalisedInputResetPasswordUsingTokenFeature

type TypeNormalisedInputResetPasswordUsingTokenFeature = object;

Defined in: recipe/emailpassword/types.ts:69

Properties

PropertyTypeDefined in
formFieldsForGenerateTokenFormNormalisedFormField[]recipe/emailpassword/types.ts:70
formFieldsForPasswordResetFormNormalisedFormField[]recipe/emailpassword/types.ts:71

TypeNormalisedInputSignIn

type TypeNormalisedInputSignIn = object;

Defined in: recipe/emailpassword/types.ts:65

Properties

PropertyTypeDefined in
formFieldsNormalisedFormField[]recipe/emailpassword/types.ts:66

TypeNormalisedInputSignUp

type TypeNormalisedInputSignUp = object;

Defined in: recipe/emailpassword/types.ts:61

Properties

PropertyTypeDefined in
formFieldsNormalisedFormField[]recipe/emailpassword/types.ts:62