Paid Feature
This is a paid feature. Email us to get a license key to start a SuperTokens subscription.
If you want to try this feature without contacting us, you can:
- Sign up for our managed service, and use this feature in our development environment for free; OR
- You can self host the SuperTokens core and run it with the in memory db, by not connecting it to a database when running it. All paid features are enabled for free when using the in memory db.
Listing all tenants and apps
#
List all tenants for an app- NodeJS
- GoLang
- Python
- cURL
Important
For other backend frameworks, you can follow our guide on how to spin up a separate server configured with the SuperTokens backend SDK to authenticate requests and issue session tokens.
import Multitenancy from "supertokens-node/recipe/multitenancy";
async function listAllTenants() {
let resp = await Multitenancy.listAllTenants();
let tenants = resp.tenants;
tenants.forEach(tenant => {
let coreConfig = tenant.coreConfig;
let isEmailPasswordLoginEnabled = tenant.emailPassword.enabled;
let isThirdPartyLoginEnabled = tenant.thirdParty.enabled;
let isPasswordlessLoginEnabled = tenant.passwordless.enabled;
let configuredThirdPartyProviders = tenant.thirdParty.providers;
});
}
import (
"github.com/supertokens/supertokens-golang/recipe/multitenancy"
"github.com/supertokens/supertokens-golang/recipe/multitenancy/multitenancymodels"
)
func main() {
resp, err := multitenancy.ListAllTenants()
if err != nil {
// handle error
}
for (i := 0; i < size(resp.Tenants); i++) {
currTenant := resp.Tenants[i]
coreConfig := currTenant.CoreConfig;
isEmailPasswordLoginEnabled := currTenant.EmailPassword.Enabled;
isThirdPartyLoginEnabled := currTenant.ThirdParty.Enabled;
isPasswordlessLoginEnabled := currTenant.Passwordless.Enabled;
configuredThirdPartyProviders := currTenant.ThirdParty.Providers;
}
}
- Asyncio
- Syncio
TODO
TODO
- Single app setup
- Multi app setup
curl --location --request GET '/recipe/multitenancy/tenant/list' \
--header 'api-key: ' \
--header 'Content-Type: application/json'
curl --location --request GET '/recipe/multitenancy/tenant/list' \
--header 'api-key: ' \
--header 'Content-Type: application/json'
You will get the following JSON output:
{
"status": "OK",
"tenants": [{
"tenantId": "customer1",
"emailPassword": {
"enabled": true
},
"thirdParty": {
"enabled": true,
"providers": [...]
},
"passwordless": {
"enabled": true
},
"coreConfig": {...}
}]
}
#
List all apps in a SuperTokens coreThis can only be done via a cURL command. There is no helper function for this in our backend SDKs since our backend SDKs are per app anyway.
curl --location --request GET '/recipe/multitenancy/app/list' \
--header 'api-key: ' \
--header 'Content-Type: application/json'
You will get the following JSON output:
{
"status": "OK",
"apps": [{
"appId": "app1",
"tenants": [{
"tenantId": "customer1",
"emailPassword": {
"enabled": true
},
"thirdParty": {
"enabled": true,
"providers": [...]
},
"passwordless": {
"enabled": true
},
"coreConfig": {...}
}]
}]
}