Search
Preparing search index...
The search index is not available
supertokens-node
Options
All
Public
Public/Protected
All
Inherited
Externals
Menu
supertokens-node
recipe/multitenancy
Module recipe/multitenancy
Index
Classes
default
Type aliases
APIInterface
APIOptions
Recipe
Interface
Variables
Allowed
Domains
Claim
Functions
associate
User
To
Tenant
create
Or
Update
Tenant
create
Or
Update
Third
Party
Config
delete
Tenant
delete
Third
Party
Config
disassociate
User
From
Tenant
get
Tenant
init
list
All
Tenants
Type aliases
APIInterface
APIInterface
:
{
loginMethodsGET
:
any
}
Type declaration
login
MethodsGET
:
function
login
MethodsGET
(
input
:
{
clientType
?:
string
;
options
:
APIOptions
;
tenantId
:
string
;
userContext
:
any
}
)
:
Promise
<
GeneralErrorResponse
|
{
emailPassword
:
{
enabled
:
boolean
}
;
passwordless
:
{
enabled
:
boolean
}
;
status
:
"OK"
;
thirdParty
:
{
enabled
:
boolean
;
providers
:
{
id
:
string
;
name
?:
string
}
[]
}
}
>
Parameters
input:
{
clientType
?:
string
;
options
:
APIOptions
;
tenantId
:
string
;
userContext
:
any
}
Optional
client
Type
?:
string
options
:
APIOptions
tenant
Id
:
string
user
Context
:
any
Returns
Promise
<
GeneralErrorResponse
|
{
emailPassword
:
{
enabled
:
boolean
}
;
passwordless
:
{
enabled
:
boolean
}
;
status
:
"OK"
;
thirdParty
:
{
enabled
:
boolean
;
providers
:
{
id
:
string
;
name
?:
string
}
[]
}
}
>
APIOptions
APIOptions
:
{
config
:
TypeNormalisedInput
;
isInServerlessEnv
:
boolean
;
recipeId
:
string
;
recipeImplementation
:
RecipeInterface
;
req
:
BaseRequest
;
res
:
BaseResponse
;
staticThirdPartyProviders
:
ProviderInput
[]
}
Type declaration
config
:
TypeNormalisedInput
is
In
Serverless
Env
:
boolean
recipe
Id
:
string
recipe
Implementation
:
RecipeInterface
req
:
BaseRequest
res
:
BaseResponse
static
Third
Party
Providers
:
ProviderInput
[]
Recipe
Interface
Recipe
Interface
:
{
associateUserToTenant
:
any
;
createOrUpdateTenant
:
any
;
createOrUpdateThirdPartyConfig
:
any
;
deleteTenant
:
any
;
deleteThirdPartyConfig
:
any
;
disassociateUserFromTenant
:
any
;
getTenant
:
any
;
getTenantId
:
any
;
listAllTenants
:
any
}
Type declaration
associate
User
To
Tenant
:
function
associate
User
To
Tenant
(
input
:
{
recipeUserId
:
RecipeUserId
;
tenantId
:
string
;
userContext
:
any
}
)
:
Promise
<
{
status
:
"OK"
;
wasAlreadyAssociated
:
boolean
}
|
{
status
:
"UNKNOWN_USER_ID_ERROR"
|
"EMAIL_ALREADY_EXISTS_ERROR"
|
"PHONE_NUMBER_ALREADY_EXISTS_ERROR"
|
"THIRD_PARTY_USER_ALREADY_EXISTS_ERROR"
}
|
{
reason
:
string
;
status
:
"ASSOCIATION_NOT_ALLOWED_ERROR"
}
>
Parameters
input:
{
recipeUserId
:
RecipeUserId
;
tenantId
:
string
;
userContext
:
any
}
recipe
User
Id
:
RecipeUserId
tenant
Id
:
string
user
Context
:
any
Returns
Promise
<
{
status
:
"OK"
;
wasAlreadyAssociated
:
boolean
}
|
{
status
:
"UNKNOWN_USER_ID_ERROR"
|
"EMAIL_ALREADY_EXISTS_ERROR"
|
"PHONE_NUMBER_ALREADY_EXISTS_ERROR"
|
"THIRD_PARTY_USER_ALREADY_EXISTS_ERROR"
}
|
{
reason
:
string
;
status
:
"ASSOCIATION_NOT_ALLOWED_ERROR"
}
>
create
Or
Update
Tenant
:
function
create
Or
Update
Tenant
(
input
:
{
config
?:
{
coreConfig
?:
{}
;
emailPasswordEnabled
?:
boolean
;
passwordlessEnabled
?:
boolean
;
thirdPartyEnabled
?:
boolean
}
;
tenantId
:
string
;
userContext
:
any
}
)
:
Promise
<
{
createdNew
:
boolean
;
status
:
"OK"
}
>
Parameters
input:
{
config
?:
{
coreConfig
?:
{}
;
emailPasswordEnabled
?:
boolean
;
passwordlessEnabled
?:
boolean
;
thirdPartyEnabled
?:
boolean
}
;
tenantId
:
string
;
userContext
:
any
}
Optional
config
?:
{
coreConfig
?:
{}
;
emailPasswordEnabled
?:
boolean
;
passwordlessEnabled
?:
boolean
;
thirdPartyEnabled
?:
boolean
}
Optional
core
Config
?:
{}
[
key:
string
]:
any
Optional
email
Password
Enabled
?:
boolean
Optional
passwordless
Enabled
?:
boolean
Optional
third
Party
Enabled
?:
boolean
tenant
Id
:
string
user
Context
:
any
Returns
Promise
<
{
createdNew
:
boolean
;
status
:
"OK"
}
>
create
Or
Update
Third
Party
Config
:
function
create
Or
Update
Third
Party
Config
(
input
:
{
config
:
ProviderConfig
;
skipValidation
?:
boolean
;
tenantId
:
string
;
userContext
:
any
}
)
:
Promise
<
{
createdNew
:
boolean
;
status
:
"OK"
}
>
Parameters
input:
{
config
:
ProviderConfig
;
skipValidation
?:
boolean
;
tenantId
:
string
;
userContext
:
any
}
config
:
ProviderConfig
Optional
skip
Validation
?:
boolean
tenant
Id
:
string
user
Context
:
any
Returns
Promise
<
{
createdNew
:
boolean
;
status
:
"OK"
}
>
delete
Tenant
:
function
delete
Tenant
(
input
:
{
tenantId
:
string
;
userContext
:
any
}
)
:
Promise
<
{
didExist
:
boolean
;
status
:
"OK"
}
>
Parameters
input:
{
tenantId
:
string
;
userContext
:
any
}
tenant
Id
:
string
user
Context
:
any
Returns
Promise
<
{
didExist
:
boolean
;
status
:
"OK"
}
>
delete
Third
Party
Config
:
function
delete
Third
Party
Config
(
input
:
{
tenantId
:
string
;
thirdPartyId
:
string
;
userContext
:
any
}
)
:
Promise
<
{
didConfigExist
:
boolean
;
status
:
"OK"
}
>
Parameters
input:
{
tenantId
:
string
;
thirdPartyId
:
string
;
userContext
:
any
}
tenant
Id
:
string
third
Party
Id
:
string
user
Context
:
any
Returns
Promise
<
{
didConfigExist
:
boolean
;
status
:
"OK"
}
>
disassociate
User
From
Tenant
:
function
disassociate
User
From
Tenant
(
input
:
{
recipeUserId
:
RecipeUserId
;
tenantId
:
string
;
userContext
:
any
}
)
:
Promise
<
{
status
:
"OK"
;
wasAssociated
:
boolean
}
>
Parameters
input:
{
recipeUserId
:
RecipeUserId
;
tenantId
:
string
;
userContext
:
any
}
recipe
User
Id
:
RecipeUserId
tenant
Id
:
string
user
Context
:
any
Returns
Promise
<
{
status
:
"OK"
;
wasAssociated
:
boolean
}
>
get
Tenant
:
function
get
Tenant
(
input
:
{
tenantId
:
string
;
userContext
:
any
}
)
:
Promise
<
undefined
|
{
coreConfig
:
{}
;
emailPassword
:
{
enabled
:
boolean
}
;
passwordless
:
{
enabled
:
boolean
}
;
status
:
"OK"
;
thirdParty
:
{
enabled
:
boolean
;
providers
:
ProviderConfig
[]
}
}
>
Parameters
input:
{
tenantId
:
string
;
userContext
:
any
}
tenant
Id
:
string
user
Context
:
any
Returns
Promise
<
undefined
|
{
coreConfig
:
{}
;
emailPassword
:
{
enabled
:
boolean
}
;
passwordless
:
{
enabled
:
boolean
}
;
status
:
"OK"
;
thirdParty
:
{
enabled
:
boolean
;
providers
:
ProviderConfig
[]
}
}
>
get
Tenant
Id
:
function
get
Tenant
Id
(
input
:
{
tenantIdFromFrontend
:
string
;
userContext
:
any
}
)
:
Promise
<
string
>
Parameters
input:
{
tenantIdFromFrontend
:
string
;
userContext
:
any
}
tenant
Id
From
Frontend
:
string
user
Context
:
any
Returns
Promise
<
string
>
list
All
Tenants
:
function
list
All
Tenants
(
input
:
{
userContext
:
any
}
)
:
Promise
<
{
status
:
"OK"
;
tenants
:
{
coreConfig
:
{}
;
emailPassword
:
{
enabled
:
boolean
}
;
passwordless
:
{
enabled
:
boolean
}
;
tenantId
:
string
;
thirdParty
:
{
enabled
:
boolean
;
providers
:
ProviderConfig
[]
}
}
[]
}
>
Parameters
input:
{
userContext
:
any
}
user
Context
:
any
Returns
Promise
<
{
status
:
"OK"
;
tenants
:
{
coreConfig
:
{}
;
emailPassword
:
{
enabled
:
boolean
}
;
passwordless
:
{
enabled
:
boolean
}
;
tenantId
:
string
;
thirdParty
:
{
enabled
:
boolean
;
providers
:
ProviderConfig
[]
}
}
[]
}
>
Variables
Const
Allowed
Domains
Claim
Allowed
Domains
Claim
:
AllowedDomainsClaimClass
= ...
Functions
associate
User
To
Tenant
associate
User
To
Tenant
(
tenantId
:
string
, recipeUserId
:
RecipeUserId
, userContext
?:
any
)
:
Promise
<
{
status
:
"OK"
;
wasAlreadyAssociated
:
boolean
}
|
{
status
:
"EMAIL_ALREADY_EXISTS_ERROR"
|
"UNKNOWN_USER_ID_ERROR"
|
"PHONE_NUMBER_ALREADY_EXISTS_ERROR"
|
"THIRD_PARTY_USER_ALREADY_EXISTS_ERROR"
}
|
{
reason
:
string
;
status
:
"ASSOCIATION_NOT_ALLOWED_ERROR"
}
>
Parameters
tenantId:
string
recipeUserId:
RecipeUserId
Optional
userContext:
any
Returns
Promise
<
{
status
:
"OK"
;
wasAlreadyAssociated
:
boolean
}
|
{
status
:
"EMAIL_ALREADY_EXISTS_ERROR"
|
"UNKNOWN_USER_ID_ERROR"
|
"PHONE_NUMBER_ALREADY_EXISTS_ERROR"
|
"THIRD_PARTY_USER_ALREADY_EXISTS_ERROR"
}
|
{
reason
:
string
;
status
:
"ASSOCIATION_NOT_ALLOWED_ERROR"
}
>
create
Or
Update
Tenant
create
Or
Update
Tenant
(
tenantId
:
string
, config
?:
{
coreConfig
?:
{}
;
emailPasswordEnabled
?:
boolean
;
passwordlessEnabled
?:
boolean
;
thirdPartyEnabled
?:
boolean
}
, userContext
?:
any
)
:
Promise
<
{
createdNew
:
boolean
;
status
:
"OK"
}
>
Parameters
tenantId:
string
Optional
config:
{
coreConfig
?:
{}
;
emailPasswordEnabled
?:
boolean
;
passwordlessEnabled
?:
boolean
;
thirdPartyEnabled
?:
boolean
}
Optional
core
Config
?:
{}
[
key:
string
]:
any
Optional
email
Password
Enabled
?:
boolean
Optional
passwordless
Enabled
?:
boolean
Optional
third
Party
Enabled
?:
boolean
Optional
userContext:
any
Returns
Promise
<
{
createdNew
:
boolean
;
status
:
"OK"
}
>
create
Or
Update
Third
Party
Config
create
Or
Update
Third
Party
Config
(
tenantId
:
string
, config
:
ProviderConfig
, skipValidation
?:
boolean
, userContext
?:
any
)
:
Promise
<
{
createdNew
:
boolean
;
status
:
"OK"
}
>
Parameters
tenantId:
string
config:
ProviderConfig
Optional
skipValidation:
boolean
Optional
userContext:
any
Returns
Promise
<
{
createdNew
:
boolean
;
status
:
"OK"
}
>
delete
Tenant
delete
Tenant
(
tenantId
:
string
, userContext
?:
any
)
:
Promise
<
{
didExist
:
boolean
;
status
:
"OK"
}
>
Parameters
tenantId:
string
Optional
userContext:
any
Returns
Promise
<
{
didExist
:
boolean
;
status
:
"OK"
}
>
delete
Third
Party
Config
delete
Third
Party
Config
(
tenantId
:
string
, thirdPartyId
:
string
, userContext
?:
any
)
:
Promise
<
{
didConfigExist
:
boolean
;
status
:
"OK"
}
>
Parameters
tenantId:
string
thirdPartyId:
string
Optional
userContext:
any
Returns
Promise
<
{
didConfigExist
:
boolean
;
status
:
"OK"
}
>
disassociate
User
From
Tenant
disassociate
User
From
Tenant
(
tenantId
:
string
, recipeUserId
:
RecipeUserId
, userContext
?:
any
)
:
Promise
<
{
status
:
"OK"
;
wasAssociated
:
boolean
}
>
Parameters
tenantId:
string
recipeUserId:
RecipeUserId
Optional
userContext:
any
Returns
Promise
<
{
status
:
"OK"
;
wasAssociated
:
boolean
}
>
get
Tenant
get
Tenant
(
tenantId
:
string
, userContext
?:
any
)
:
Promise
<
undefined
|
{
coreConfig
:
{}
;
emailPassword
:
{
enabled
:
boolean
}
;
passwordless
:
{
enabled
:
boolean
}
;
status
:
"OK"
;
thirdParty
:
{
enabled
:
boolean
;
providers
:
ProviderConfig
[]
}
}
>
Parameters
tenantId:
string
Optional
userContext:
any
Returns
Promise
<
undefined
|
{
coreConfig
:
{}
;
emailPassword
:
{
enabled
:
boolean
}
;
passwordless
:
{
enabled
:
boolean
}
;
status
:
"OK"
;
thirdParty
:
{
enabled
:
boolean
;
providers
:
ProviderConfig
[]
}
}
>
init
init
(
config
?:
TypeInput
)
:
RecipeListFunction
Parameters
Optional
config:
TypeInput
Returns
RecipeListFunction
list
All
Tenants
list
All
Tenants
(
userContext
?:
any
)
:
Promise
<
{
status
:
"OK"
;
tenants
:
{
coreConfig
:
{}
;
emailPassword
:
{
enabled
:
boolean
}
;
passwordless
:
{
enabled
:
boolean
}
;
tenantId
:
string
;
thirdParty
:
{
enabled
:
boolean
;
providers
:
ProviderConfig
[]
}
}
[]
}
>
Parameters
Optional
userContext:
any
Returns
Promise
<
{
status
:
"OK"
;
tenants
:
{
coreConfig
:
{}
;
emailPassword
:
{
enabled
:
boolean
}
;
passwordless
:
{
enabled
:
boolean
}
;
tenantId
:
string
;
thirdParty
:
{
enabled
:
boolean
;
providers
:
ProviderConfig
[]
}
}
[]
}
>
Modules
framework
framework/aws
Lambda
framework/custom
framework/express
framework/fastify
framework/hapi
framework/koa
framework/loopback
index
ingredients/emaildelivery
ingredients/smsdelivery
recipe/accountlinking
recipe/dashboard
recipe/emailpassword
recipe/emailverification
recipe/jwt
recipe/multitenancy
recipe/openid
recipe/passwordless
recipe/session
recipe/thirdparty
recipe/thirdpartyemailpassword
recipe/thirdpartypasswordless
recipe/usermetadata
recipe/userroles
default
APIInterface
APIOptions
Recipe
Interface
Allowed
Domains
Claim
associate
User
To
Tenant
create
Or
Update
Tenant
create
Or
Update
Third
Party
Config
delete
Tenant
delete
Third
Party
Config
disassociate
User
From
Tenant
get
Tenant
init
list
All
Tenants
Generated using
TypeDoc