Skip to main content
References

ThirdParty Types

Type Aliases

APIInterface

type APIInterface = object;

Defined in: recipe/thirdparty/types.ts:253

Properties

PropertyTypeDefined in
appleRedirectHandlerPOSTundefined | (input) => Promise<void>recipe/thirdparty/types.ts:313
authorisationUrlGET| undefined | (input) => Promise< | { pkceCodeVerifier?: string; status: "OK"; urlWithQueryParams: string; } | GeneralErrorResponse>recipe/thirdparty/types.ts:254
signInUpPOST| undefined | (input) => Promise< | { createdNewRecipeUser: boolean; oAuthTokens: { [key: string]: any; }; rawUserInfoFromProvider: { fromIdTokenPayload?: { [key: string]: any; }; fromUserInfoAPI?: { [key: string]: any; }; }; session: SessionContainerInterface; status: "OK"; user: User; } | { status: "NO_EMAIL_GIVEN_BY_PROVIDER"; } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED"; } | GeneralErrorResponse>recipe/thirdparty/types.ts:271

APIOptions

type APIOptions = object;

Defined in: recipe/thirdparty/types.ts:242

Properties

ProviderClientConfig

type ProviderClientConfig = object;

Defined in: recipe/thirdparty/types.ts:42

Properties

PropertyTypeDefined in
additionalConfig?objectrecipe/thirdparty/types.ts:48
clientIdstringrecipe/thirdparty/types.ts:44
clientSecret?stringrecipe/thirdparty/types.ts:45
clientType?stringrecipe/thirdparty/types.ts:43
forcePKCE?booleanrecipe/thirdparty/types.ts:47
scope?string[]recipe/thirdparty/types.ts:46

ProviderConfig

type ProviderConfig = CommonProviderConfig & object;

Defined in: recipe/thirdparty/types.ts:119

Type Declaration

ProviderConfigForClientType

type ProviderConfigForClientType = ProviderClientConfig & CommonProviderConfig;

Defined in: recipe/thirdparty/types.ts:94

ProviderInput

type ProviderInput = object;

Defined in: recipe/thirdparty/types.ts:123

Properties

PropertyTypeDefined in
configProviderConfigrecipe/thirdparty/types.ts:124
includeInNonPublicTenantsByDefault?booleanrecipe/thirdparty/types.ts:125
override?(originalImplementation) => TypeProviderrecipe/thirdparty/types.ts:126

RecipeInterface

type RecipeInterface = object;

Defined in: recipe/thirdparty/types.ts:159

Methods

getProvider()
getProvider(input): Promise<TypeProvider>;

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

Parameters
ParameterType
input{ clientType?: string; tenantId: string; thirdPartyId: string; userContext: UserContext; }
input.clientType?string
input.tenantIdstring
input.thirdPartyIdstring
input.userContextUserContext
Returns

Promise<TypeProvider>

manuallyCreateOrUpdateUser()
manuallyCreateOrUpdateUser(input): Promise<
| {
createdNewRecipeUser: boolean;
recipeUserId: RecipeUserId;
status: "OK";
user: User;
}
| {
reason: string;
status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR";
}
| {
reason: string;
status: "SIGN_IN_UP_NOT_ALLOWED";
}
| {
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/thirdparty/types.ts:207

Parameters
ParameterType
input{ email: string; isVerified: boolean; session: SessionContainerInterface | undefined; shouldTryLinkingWithSessionUser: boolean | undefined; tenantId: string; thirdPartyId: string; thirdPartyUserId: string; userContext: UserContext; }
input.emailstring
input.isVerifiedboolean
input.sessionSessionContainerInterface | undefined
input.shouldTryLinkingWithSessionUserboolean | undefined
input.tenantIdstring
input.thirdPartyIdstring
input.thirdPartyUserIdstring
input.userContextUserContext
Returns

Promise< | { createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User; } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR"; } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED"; } | { 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"; }>

signInUp()
signInUp(input): Promise<
| {
createdNewRecipeUser: boolean;
oAuthTokens: {
[key: string]: any;
};
rawUserInfoFromProvider: {
fromIdTokenPayload?: {
[key: string]: any;
};
fromUserInfoAPI?: {
[key: string]: any;
};
};
recipeUserId: RecipeUserId;
status: "OK";
user: User;
}
| {
reason: string;
status: "SIGN_IN_UP_NOT_ALLOWED";
}
| {
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/thirdparty/types.ts:167

Parameters
ParameterType
input{ email: string; isVerified: boolean; oAuthTokens: { [key: string]: any; }; rawUserInfoFromProvider: { fromIdTokenPayload?: { [key: string]: any; }; fromUserInfoAPI?: { [key: string]: any; }; }; session: SessionContainerInterface | undefined; shouldTryLinkingWithSessionUser: boolean | undefined; tenantId: string; thirdPartyId: string; thirdPartyUserId: string; userContext: UserContext; }
input.emailstring
input.isVerifiedboolean
input.oAuthTokens{ [key: string]: any; }
input.rawUserInfoFromProvider{ fromIdTokenPayload?: { [key: string]: any; }; fromUserInfoAPI?: { [key: string]: any; }; }
input.rawUserInfoFromProvider.fromIdTokenPayload?{ [key: string]: any; }
input.rawUserInfoFromProvider.fromUserInfoAPI?{ [key: string]: any; }
input.sessionSessionContainerInterface | undefined
input.shouldTryLinkingWithSessionUserboolean | undefined
input.tenantIdstring
input.thirdPartyIdstring
input.thirdPartyUserIdstring
input.userContextUserContext
Returns

Promise< | { createdNewRecipeUser: boolean; oAuthTokens: { [key: string]: any; }; rawUserInfoFromProvider: { fromIdTokenPayload?: { [key: string]: any; }; fromUserInfoAPI?: { [key: string]: any; }; }; recipeUserId: RecipeUserId; status: "OK"; user: User; } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED"; } | { 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"; }>

TypeInput

type TypeInput = object;

Defined in: recipe/thirdparty/types.ts:137

Properties

PropertyTypeDefined in
override?objectrecipe/thirdparty/types.ts:139
override.apis?(originalImplementation, builder) => APIInterfacerecipe/thirdparty/types.ts:144
override.functions?(originalImplementation, builder) => RecipeInterfacerecipe/thirdparty/types.ts:140
signInAndUpFeature?TypeInputSignInAndUprecipe/thirdparty/types.ts:138

TypeInputSignInAndUp

type TypeInputSignInAndUp = object;

Defined in: recipe/thirdparty/types.ts:129

Properties

PropertyTypeDefined in
providers?ProviderInput[]recipe/thirdparty/types.ts:130

TypeNormalisedInput

type TypeNormalisedInput = object;

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

Properties

PropertyTypeDefined in
overrideobjectrecipe/thirdparty/types.ts:150
override.apis(originalImplementation, builder) => APIInterfacerecipe/thirdparty/types.ts:155
override.functions(originalImplementation, builder) => RecipeInterfacerecipe/thirdparty/types.ts:151
signInAndUpFeatureTypeNormalisedInputSignInAndUprecipe/thirdparty/types.ts:149

TypeNormalisedInputSignInAndUp

type TypeNormalisedInputSignInAndUp = object;

Defined in: recipe/thirdparty/types.ts:133

Properties

PropertyTypeDefined in
providersProviderInput[]recipe/thirdparty/types.ts:134

TypeProvider

type TypeProvider = object;

Defined in: recipe/thirdparty/types.ts:96

Properties

PropertyTypeDefined in
configProviderConfigForClientTyperecipe/thirdparty/types.ts:98
exchangeAuthCodeForOAuthTokens(input) => Promise<any>recipe/thirdparty/types.ts:108
getAuthorisationRedirectURL(input) => Promise<{ pkceCodeVerifier?: string; urlWithQueryParams: string; }>recipe/thirdparty/types.ts:104
getConfigForClientType(input) => Promise<ProviderConfigForClientType>recipe/thirdparty/types.ts:100
getUserInfo(input) => Promise<UserInfo>recipe/thirdparty/types.ts:116
idstringrecipe/thirdparty/types.ts:97

UserInfo

type UserInfo = object;

Defined in: recipe/thirdparty/types.ts:23

Properties

PropertyTypeDefined in
email?objectrecipe/thirdparty/types.ts:25
email.idstringrecipe/thirdparty/types.ts:25
email.isVerifiedbooleanrecipe/thirdparty/types.ts:25
rawUserInfoFromProviderobjectrecipe/thirdparty/types.ts:26
rawUserInfoFromProvider.fromIdTokenPayload?objectrecipe/thirdparty/types.ts:26
rawUserInfoFromProvider.fromUserInfoAPI?objectrecipe/thirdparty/types.ts:26
thirdPartyUserIdstringrecipe/thirdparty/types.ts:24

UserInfoMap

type UserInfoMap = object;

Defined in: recipe/thirdparty/types.ts:29

Properties

PropertyTypeDefined in
fromIdTokenPayload?objectrecipe/thirdparty/types.ts:30
fromIdTokenPayload.email?stringrecipe/thirdparty/types.ts:32
fromIdTokenPayload.emailVerified?stringrecipe/thirdparty/types.ts:33
fromIdTokenPayload.userId?stringrecipe/thirdparty/types.ts:31
fromUserInfoAPI?objectrecipe/thirdparty/types.ts:35
fromUserInfoAPI.email?stringrecipe/thirdparty/types.ts:37
fromUserInfoAPI.emailVerified?stringrecipe/thirdparty/types.ts:38
fromUserInfoAPI.userId?stringrecipe/thirdparty/types.ts:36