From 3a378dc6a8246f7c564aa788bf4a80247d40e80d Mon Sep 17 00:00:00 2001 From: Sattvik Chakravarthy Date: Wed, 17 Jul 2024 12:29:16 +0530 Subject: [PATCH 1/6] fix: docs comments --- .../multi-tenancy/multi-app.mdx | 17 +++++------------ v2/multitenancy/new-app.mdx | 17 +++++------------ v2/multitenancy/new-tenant.mdx | 9 ++++----- .../multi-tenancy/multi-app.mdx | 17 +++++------------ .../multi-tenancy/new-tenant-config.mdx | 17 +++++++++++++++++ v2/passwordless/custom-ui/multitenant-login.mdx | 17 +++++++++++++++++ .../pre-built-ui/multitenant-login.mdx | 17 +++++++++++++++++ .../multi-tenancy/multi-app.mdx | 17 +++++------------ .../multi-tenancy/multi-app.mdx | 17 +++++------------ .../multi-tenancy/multi-app.mdx | 17 +++++------------ .../multi-tenancy/new-tenant-config.mdx | 17 +++++++++++++++++ .../custom-ui/multitenant-login.mdx | 17 +++++++++++++++++ .../pre-built-ui/multitenant-login.mdx | 17 +++++++++++++++++ 13 files changed, 136 insertions(+), 77 deletions(-) diff --git a/v2/emailpassword/common-customizations/multi-tenancy/multi-app.mdx b/v2/emailpassword/common-customizations/multi-tenancy/multi-app.mdx index 408053552..cecf8a399 100644 --- a/v2/emailpassword/common-customizations/multi-tenancy/multi-app.mdx +++ b/v2/emailpassword/common-customizations/multi-tenancy/multi-app.mdx @@ -35,12 +35,14 @@ In order to create a new app in the SuperTokens core, you can use the following ```bash -curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ --header 'Content-Type: application/json' \ --data-raw '{ "appId": "app1", - "firstFactors": ["emailpassword", "thirdparty", "otp-email", "otp-phone"] + "thirdPartyEnabled": true, + "passwordlessEnabled": true, + "emailPasswordEnabled": true, "coreConfig": {...} }' ``` @@ -50,16 +52,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). -- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. - -The built-in Factor IDs that can be used for `firstFactors` are: -- Email password auth: `emailpassword` -- Social login / enterprise SSO auth: `thirdparty` -- Passwordless: - - With email OTP: `otp-email` - - With SMS OTP: `otp-phone` - - With email magic link: `link-email` - - With SMS magic link: `link-phone` +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. diff --git a/v2/multitenancy/new-app.mdx b/v2/multitenancy/new-app.mdx index 918a9df6f..1cfc8e420 100644 --- a/v2/multitenancy/new-app.mdx +++ b/v2/multitenancy/new-app.mdx @@ -34,12 +34,14 @@ In order to create a new app in the SuperTokens core, you can use the following ```bash -curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ --header 'Content-Type: application/json' \ --data-raw '{ "appId": "app1", - "firstFactors": ["emailpassword", "thirdparty", "otp-email", "otp-phone"] + "thirdPartyEnabled": true, + "passwordlessEnabled": true, + "emailPasswordEnabled": true, "coreConfig": {...} }' ``` @@ -49,16 +51,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). -- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. - -The built-in Factor IDs that can be used for `firstFactors` are: -- Email password auth: `emailpassword` -- Social login / enterprise SSO auth: `thirdparty` -- Passwordless: - - With email OTP: `otp-email` - - With SMS OTP: `otp-phone` - - With email magic link: `link-email` - - With SMS magic link: `link-phone` +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. diff --git a/v2/multitenancy/new-tenant.mdx b/v2/multitenancy/new-tenant.mdx index 3ac0eac6a..df073b3f8 100644 --- a/v2/multitenancy/new-tenant.mdx +++ b/v2/multitenancy/new-tenant.mdx @@ -22,7 +22,7 @@ import Multitenancy from "supertokens-node/recipe/multitenancy"; async function createNewTenant() { let resp = await Multitenancy.createOrUpdateTenant("customer1", { - firstFactors: ["emailpassword", "thirdparty", "otp-email", "otp-phone"] + firstFactors: ["emailpassword", "thirdparty", "otp-email", "otp-phone", "link-phone", "link-email"] }); if (resp.createdNew) { @@ -33,7 +33,7 @@ async function createNewTenant() { } ``` -- In the above, we are creating a new tenant with the id `"customer1"`. We are also enabling the email password, third party, email OTP and phone OTP login methods for this tenant. You can also disable any of these by setting by not including them in the `firstFactors` input. If `firstFactors` is not specified, by default, none of the login methods are enabled. +- In the above, we are creating a new tenant with the id `"customer1"`. We are also enabling the email password, third party and passwordless login methods for this tenant. You can also disable any of these by not including them in the `firstFactors` input. If `firstFactors` is not specified, by default, none of the login methods are enabled. - You can also set `firstFactors` to `null` in which case SDK will be able to use any of the login methods. The built-in Factor IDs that can be used for `firstFactors` are: @@ -145,14 +145,14 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid- --header 'Content-Type: application/json' \ --data-raw '{ "tenantId": "customer1", - "firstFactors": ["emailpassword", "thirdparty", "otp-email", "otp-phone"] + "firstFactors": ["emailpassword", "thirdparty", "otp-email", "otp-phone", "link-email", "link-phone"] }' ``` - We specify the appId for which we want to create a new tenant in the URL. If you are using the default (`"public"`) app, you can omit the `/appid-` part of the URL. -- In the above, we are creating a new tenant with the id `"customer1"`. We are also enabling the email password, third party, email OTP and phone OTP login methods for this tenant. You can also disable any of these by not including them in the `firstFactors` array. If `firstFactors` is not specified, by default, none of the login methods will be enabled. +- In the above, we are creating a new tenant with the id `"customer1"`. We are also enabling the email password, third party and passwordless login methods for this tenant. You can also disable any of these by not including them in the `firstFactors` array. If `firstFactors` is not specified, by default, none of the login methods will be enabled. - You can also set `firstFactors` to `null` in which case SDK will be able to use any of the login methods. The built-in Factor IDs that can be used for `firstFactors` are: @@ -164,7 +164,6 @@ The built-in Factor IDs that can be used for `firstFactors` are: - With email magic link: `link-email` - With SMS magic link: `link-phone` - diff --git a/v2/passwordless/common-customizations/multi-tenancy/multi-app.mdx b/v2/passwordless/common-customizations/multi-tenancy/multi-app.mdx index 408053552..cecf8a399 100644 --- a/v2/passwordless/common-customizations/multi-tenancy/multi-app.mdx +++ b/v2/passwordless/common-customizations/multi-tenancy/multi-app.mdx @@ -35,12 +35,14 @@ In order to create a new app in the SuperTokens core, you can use the following ```bash -curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ --header 'Content-Type: application/json' \ --data-raw '{ "appId": "app1", - "firstFactors": ["emailpassword", "thirdparty", "otp-email", "otp-phone"] + "thirdPartyEnabled": true, + "passwordlessEnabled": true, + "emailPasswordEnabled": true, "coreConfig": {...} }' ``` @@ -50,16 +52,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). -- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. - -The built-in Factor IDs that can be used for `firstFactors` are: -- Email password auth: `emailpassword` -- Social login / enterprise SSO auth: `thirdparty` -- Passwordless: - - With email OTP: `otp-email` - - With SMS OTP: `otp-phone` - - With email magic link: `link-email` - - With SMS magic link: `link-phone` +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. diff --git a/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx index 83e0152f2..20b62020f 100644 --- a/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -49,6 +49,15 @@ async function createNewTenant() { } ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: + +- Passwordless: + - With email OTP: `FactorIds.OTP_EMAIL` + - With SMS OTP: `FactorIds.OTP_PHONE` + - With email magic link: `FactorIds.LINK_EMAIL` + - With SMS magic link: `FactorIds.LINK_PHONE` + + @@ -141,6 +150,14 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: + +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + diff --git a/v2/passwordless/custom-ui/multitenant-login.mdx b/v2/passwordless/custom-ui/multitenant-login.mdx index 6878b2a59..2fde1ee42 100644 --- a/v2/passwordless/custom-ui/multitenant-login.mdx +++ b/v2/passwordless/custom-ui/multitenant-login.mdx @@ -66,6 +66,15 @@ async function createNewTenant() { } ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: + +- Passwordless: + - With email OTP: `FactorIds.OTP_EMAIL` + - With SMS OTP: `FactorIds.OTP_PHONE` + - With email magic link: `FactorIds.LINK_EMAIL` + - With SMS magic link: `FactorIds.LINK_PHONE` + + @@ -158,6 +167,14 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: + +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + diff --git a/v2/passwordless/pre-built-ui/multitenant-login.mdx b/v2/passwordless/pre-built-ui/multitenant-login.mdx index cb01fd90a..2a7b38ced 100644 --- a/v2/passwordless/pre-built-ui/multitenant-login.mdx +++ b/v2/passwordless/pre-built-ui/multitenant-login.mdx @@ -63,6 +63,15 @@ async function createNewTenant() { } ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: + +- Passwordless: + - With email OTP: `FactorIds.OTP_EMAIL` + - With SMS OTP: `FactorIds.OTP_PHONE` + - With email magic link: `FactorIds.LINK_EMAIL` + - With SMS magic link: `FactorIds.LINK_PHONE` + + @@ -155,6 +164,14 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: + +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + diff --git a/v2/thirdparty/common-customizations/multi-tenancy/multi-app.mdx b/v2/thirdparty/common-customizations/multi-tenancy/multi-app.mdx index 408053552..cecf8a399 100644 --- a/v2/thirdparty/common-customizations/multi-tenancy/multi-app.mdx +++ b/v2/thirdparty/common-customizations/multi-tenancy/multi-app.mdx @@ -35,12 +35,14 @@ In order to create a new app in the SuperTokens core, you can use the following ```bash -curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ --header 'Content-Type: application/json' \ --data-raw '{ "appId": "app1", - "firstFactors": ["emailpassword", "thirdparty", "otp-email", "otp-phone"] + "thirdPartyEnabled": true, + "passwordlessEnabled": true, + "emailPasswordEnabled": true, "coreConfig": {...} }' ``` @@ -50,16 +52,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). -- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. - -The built-in Factor IDs that can be used for `firstFactors` are: -- Email password auth: `emailpassword` -- Social login / enterprise SSO auth: `thirdparty` -- Passwordless: - - With email OTP: `otp-email` - - With SMS OTP: `otp-phone` - - With email magic link: `link-email` - - With SMS magic link: `link-phone` +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. diff --git a/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/multi-app.mdx b/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/multi-app.mdx index 408053552..cecf8a399 100644 --- a/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/multi-app.mdx +++ b/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/multi-app.mdx @@ -35,12 +35,14 @@ In order to create a new app in the SuperTokens core, you can use the following ```bash -curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ --header 'Content-Type: application/json' \ --data-raw '{ "appId": "app1", - "firstFactors": ["emailpassword", "thirdparty", "otp-email", "otp-phone"] + "thirdPartyEnabled": true, + "passwordlessEnabled": true, + "emailPasswordEnabled": true, "coreConfig": {...} }' ``` @@ -50,16 +52,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). -- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. - -The built-in Factor IDs that can be used for `firstFactors` are: -- Email password auth: `emailpassword` -- Social login / enterprise SSO auth: `thirdparty` -- Passwordless: - - With email OTP: `otp-email` - - With SMS OTP: `otp-phone` - - With email magic link: `link-email` - - With SMS magic link: `link-phone` +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. diff --git a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/multi-app.mdx b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/multi-app.mdx index c62ad79eb..4b989c3c2 100644 --- a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/multi-app.mdx +++ b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/multi-app.mdx @@ -36,12 +36,14 @@ In order to create a new app in the SuperTokens core, you can use the following ```bash -curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ --header 'Content-Type: application/json' \ --data-raw '{ "appId": "app1", - "firstFactors": ["emailpassword", "thirdparty", "otp-email", "otp-phone"] + "thirdPartyEnabled": true, + "passwordlessEnabled": true, + "emailPasswordEnabled": true, "coreConfig": {...} }' ``` @@ -51,16 +53,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). -- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. - -The built-in Factor IDs that can be used for `firstFactors` are: -- Email password auth: `emailpassword` -- Social login / enterprise SSO auth: `thirdparty` -- Passwordless: - - With email OTP: `otp-email` - - With SMS OTP: `otp-phone` - - With email magic link: `link-email` - - With SMS magic link: `link-phone` +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. diff --git a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx index 46b05e2ec..691f95f9a 100644 --- a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -46,6 +46,14 @@ async function createNewTenant() { } ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: +- ThirdParty: `FactorIds.THIRDPARTY` +- Passwordless: + - With email OTP: `FactorIds.OTP_EMAIL` + - With SMS OTP: `FactorIds.OTP_PHONE` + - With email magic link: `FactorIds.LINK_EMAIL` + - With SMS magic link: `FactorIds.LINK_PHONE` + @@ -142,6 +150,15 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: +- ThirdParty: `thirdparty` +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + + diff --git a/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx b/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx index 5742d7b9d..4e5ba2d36 100644 --- a/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx +++ b/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx @@ -75,6 +75,14 @@ async function createNewTenant() { } ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: +- ThirdParty: `FactorIds.THIRDPARTY` +- Passwordless: + - With email OTP: `FactorIds.OTP_EMAIL` + - With SMS OTP: `FactorIds.OTP_PHONE` + - With email magic link: `FactorIds.LINK_EMAIL` + - With SMS magic link: `FactorIds.LINK_PHONE` + @@ -171,6 +179,15 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: +- ThirdParty: `thirdparty` +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + + diff --git a/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx b/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx index 34ea40971..9d31413e6 100644 --- a/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx +++ b/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx @@ -72,6 +72,14 @@ async function createNewTenant() { } ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: +- ThirdParty: `FactorIds.THIRDPARTY` +- Passwordless: + - With email OTP: `FactorIds.OTP_EMAIL` + - With SMS OTP: `FactorIds.OTP_PHONE` + - With email magic link: `FactorIds.LINK_EMAIL` + - With SMS magic link: `FactorIds.LINK_PHONE` + @@ -168,6 +176,15 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` +In the example above, we have added all factor IDs related to the passwordless recipe. However, you can choose to use a subset of them. The factor IDs are described below: +- ThirdParty: `thirdparty` +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + + From 726dad0627e6980aa2ff4844b67375f14d09fcba Mon Sep 17 00:00:00 2001 From: Sattvik Chakravarthy Date: Wed, 17 Jul 2024 12:43:35 +0530 Subject: [PATCH 2/6] fix: new tenant --- v2/multitenancy/new-tenant.mdx | 39 ++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/v2/multitenancy/new-tenant.mdx b/v2/multitenancy/new-tenant.mdx index df073b3f8..8e61d19a7 100644 --- a/v2/multitenancy/new-tenant.mdx +++ b/v2/multitenancy/new-tenant.mdx @@ -5,6 +5,7 @@ hide_title: true import MultiTenancyPaidBanner from '../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from "@theme/Tabs"; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -139,6 +140,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid-/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -149,8 +161,6 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid- }' ``` - - - We specify the appId for which we want to create a new tenant in the URL. If you are using the default (`"public"`) app, you can omit the `/appid-` part of the URL. - In the above, we are creating a new tenant with the id `"customer1"`. We are also enabling the email password, third party and passwordless login methods for this tenant. You can also disable any of these by not including them in the `firstFactors` array. If `firstFactors` is not specified, by default, none of the login methods will be enabled. - You can also set `firstFactors` to `null` in which case SDK will be able to use any of the login methods. @@ -166,6 +176,31 @@ The built-in Factor IDs that can be used for `firstFactors` are: + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid-/recipe/multitenancy/tenant/v2' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "emailPasswordEnabled": true, + "thirdPartyEnabled": true, + "passwordlessEnabled": true +}' +``` + +- We specify the appId for which we want to create a new tenant in the URL. If you are using the default (`"public"`) app, you can omit the `/appid-` part of the URL. +- In the above, we are creating a new tenant with the id `"customer1"`. We are also enabling the email password, third party and passwordless login for this tenant. You can also disable any of these by setting the corresponding field to `false` (which is also the default setting). + + + + + + + + + From dc2a95c9768e74c147874bda3c79a0503ce1af19 Mon Sep 17 00:00:00 2001 From: Sattvik Chakravarthy Date: Wed, 17 Jul 2024 12:58:05 +0530 Subject: [PATCH 3/6] fix: list tenants and apps --- v2/multitenancy/list-tenants-and-apps.mdx | 110 +++++++++++++++++++++- 1 file changed, 105 insertions(+), 5 deletions(-) diff --git a/v2/multitenancy/list-tenants-and-apps.mdx b/v2/multitenancy/list-tenants-and-apps.mdx index f01dfae46..da56a1a84 100644 --- a/v2/multitenancy/list-tenants-and-apps.mdx +++ b/v2/multitenancy/list-tenants-and-apps.mdx @@ -5,6 +5,7 @@ hide_title: true import MultiTenancyPaidBanner from '../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -173,14 +174,23 @@ for tenant in response.tenants: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request GET '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/list/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ --header 'Content-Type: application/json' ``` - - You will get the following JSON output: ```json @@ -203,6 +213,45 @@ The value of `firstFactors` can be as follows: - `[]` (empty array): No login methods are enabled for the tenant - a non-empty array: Only the login methods in the array are enabled for the tenant + + + + +```bash +curl --location --request GET '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/list' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' +``` + +You will get the following JSON output: + +```json +{ + "status": "OK", + "tenants": [{ + "tenantId": "customer1", + "emailPassword": { + "enabled": true + }, + "thirdParty": { + "enabled": true, + "providers": [...] + }, + "passwordless": { + "enabled": true + }, + "coreConfig": {...} + }] +} +``` + + + + + + + + @@ -214,14 +263,23 @@ This can only be done via a cURL command. There is no helper function for this i += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request GET '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/list/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ --header 'Content-Type: application/json' ``` - - You will get the following JSON output: ```json @@ -239,4 +297,46 @@ You will get the following JSON output: }] }] } -``` \ No newline at end of file +``` + + + + + +```bash +curl --location --request GET '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/list' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' +``` + +You will get the following JSON output: + +```json +{ + "status": "OK", + "apps": [{ + "appId": "app1", + "tenants": [{ + "tenantId": "customer1", + "emailPassword": { + "enabled": true + }, + "thirdParty": { + "enabled": true, + "providers": [...] + }, + "passwordless": { + "enabled": true + }, + "coreConfig": {...} + }] + }] +} +``` + + + + + + + From a6b769d30f5d2202638e6e89ce4a46bf346e683d Mon Sep 17 00:00:00 2001 From: Sattvik Chakravarthy Date: Wed, 17 Jul 2024 13:36:18 +0530 Subject: [PATCH 4/6] fix: curl versions --- .../multi-tenancy/new-tenant-config.mdx | 30 +++++++++++++++++ .../multi-tenancy/overview.mdx | 2 ++ .../custom-ui/multitenant-login.mdx | 30 +++++++++++++++++ .../pre-built-ui/multitenant-login.mdx | 30 +++++++++++++++++ v2/multitenancy/list-tenants-and-apps.mdx | 4 +-- v2/multitenancy/new-tenant.mdx | 2 +- .../multi-tenancy/new-tenant-config.mdx | 31 ++++++++++++++++++ .../multi-tenancy/overview.mdx | 2 ++ .../custom-ui/multitenant-login.mdx | 31 ++++++++++++++++++ .../pre-built-ui/multitenant-login.mdx | 31 ++++++++++++++++++ .../multi-tenancy/new-tenant-config.mdx | 30 +++++++++++++++++ .../multi-tenancy/overview.mdx | 2 ++ .../saml/with-boxyhq/integration-steps.mdx | 30 +++++++++++++++++ v2/thirdparty/custom-ui/multitenant-login.mdx | 30 +++++++++++++++++ .../pre-built-ui/multitenant-login.mdx | 30 +++++++++++++++++ .../multi-tenancy/new-tenant-config.mdx | 32 +++++++++++++++++++ .../multi-tenancy/overview.mdx | 2 ++ .../saml/with-boxyhq/integration-steps.mdx | 30 +++++++++++++++++ .../custom-ui/multitenant-login.mdx | 32 +++++++++++++++++++ .../pre-built-ui/multitenant-login.mdx | 32 +++++++++++++++++++ .../multi-tenancy/new-tenant-config.mdx | 31 ++++++++++++++++++ .../multi-tenancy/overview.mdx | 2 ++ .../saml/with-boxyhq/integration-steps.mdx | 30 +++++++++++++++++ .../custom-ui/multitenant-login.mdx | 31 ++++++++++++++++++ .../pre-built-ui/multitenant-login.mdx | 31 ++++++++++++++++++ 25 files changed, 565 insertions(+), 3 deletions(-) diff --git a/v2/emailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/emailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx index ef37dbc20..033937295 100644 --- a/v2/emailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/emailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -6,6 +6,7 @@ hide_title: true import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -132,6 +133,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -142,6 +154,24 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "emailPasswordEnabled": true +}' +``` + + + + + diff --git a/v2/emailpassword/common-customizations/multi-tenancy/overview.mdx b/v2/emailpassword/common-customizations/multi-tenancy/overview.mdx index 0a1ffc431..44d24d00a 100644 --- a/v2/emailpassword/common-customizations/multi-tenancy/overview.mdx +++ b/v2/emailpassword/common-customizations/multi-tenancy/overview.mdx @@ -5,6 +5,8 @@ hide_title: true --- import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; diff --git a/v2/emailpassword/custom-ui/multitenant-login.mdx b/v2/emailpassword/custom-ui/multitenant-login.mdx index d96221b18..9062f1d76 100644 --- a/v2/emailpassword/custom-ui/multitenant-login.mdx +++ b/v2/emailpassword/custom-ui/multitenant-login.mdx @@ -12,6 +12,7 @@ import FrontendCustomUITabs from "/src/components/tabs/FrontendCustomUITabs" import FrontendMobileSubTabs from "/src/components/tabs/FrontendMobileSubTabs" import NpmOrScriptTabs from "/src/components/tabs/NpmOrScriptTabs" +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import MultiTenancyPaidBanner from '../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import CoreInjector from "/src/components/coreInjector" @@ -149,6 +150,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -159,6 +171,24 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "emailPasswordEnabled": true +}' +``` + + + + + diff --git a/v2/emailpassword/pre-built-ui/multitenant-login.mdx b/v2/emailpassword/pre-built-ui/multitenant-login.mdx index 535f9ee77..6c84bb464 100644 --- a/v2/emailpassword/pre-built-ui/multitenant-login.mdx +++ b/v2/emailpassword/pre-built-ui/multitenant-login.mdx @@ -8,6 +8,7 @@ import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import MultiTenancyPaidBanner from '../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import CoreInjector from "/src/components/coreInjector" @@ -146,6 +147,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -156,6 +168,24 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "emailPasswordEnabled": true +}' +``` + + + + + diff --git a/v2/multitenancy/list-tenants-and-apps.mdx b/v2/multitenancy/list-tenants-and-apps.mdx index da56a1a84..93c0e3298 100644 --- a/v2/multitenancy/list-tenants-and-apps.mdx +++ b/v2/multitenancy/list-tenants-and-apps.mdx @@ -177,7 +177,7 @@ for tenant in response.tenants: = 9.1.0', value: 'core-9.1' }, { label: 'Core Version <= 9.0.2', value: 'core-9.0' } @@ -266,7 +266,7 @@ This can only be done via a cURL command. There is no helper function for this i = 9.1.0', value: 'core-9.1' }, { label: 'Core Version <= 9.0.2', value: 'core-9.0' } diff --git a/v2/multitenancy/new-tenant.mdx b/v2/multitenancy/new-tenant.mdx index 8e61d19a7..73a63f7d6 100644 --- a/v2/multitenancy/new-tenant.mdx +++ b/v2/multitenancy/new-tenant.mdx @@ -143,7 +143,7 @@ else: = 9.1.0', value: 'core-9.1' }, { label: 'Core Version <= 9.0.2', value: 'core-9.0' } diff --git a/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx index 20b62020f..60142b253 100644 --- a/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -6,6 +6,7 @@ hide_title: true import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -140,6 +141,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -158,6 +170,25 @@ In the example above, we have added all factor IDs related to the passwordless r - With email magic link: `link-email` - With SMS magic link: `link-phone` + + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "passwordlessEnabled": true +}' +``` + + + + + diff --git a/v2/passwordless/common-customizations/multi-tenancy/overview.mdx b/v2/passwordless/common-customizations/multi-tenancy/overview.mdx index 8fe1ec6d7..1ac22f36f 100644 --- a/v2/passwordless/common-customizations/multi-tenancy/overview.mdx +++ b/v2/passwordless/common-customizations/multi-tenancy/overview.mdx @@ -5,6 +5,8 @@ hide_title: true --- import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; diff --git a/v2/passwordless/custom-ui/multitenant-login.mdx b/v2/passwordless/custom-ui/multitenant-login.mdx index 2fde1ee42..6089bec4e 100644 --- a/v2/passwordless/custom-ui/multitenant-login.mdx +++ b/v2/passwordless/custom-ui/multitenant-login.mdx @@ -12,6 +12,7 @@ import FrontendCustomUITabs from "/src/components/tabs/FrontendCustomUITabs" import FrontendMobileSubTabs from "/src/components/tabs/FrontendMobileSubTabs" import NpmOrScriptTabs from "/src/components/tabs/NpmOrScriptTabs" +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import MultiTenancyPaidBanner from '../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import CoreInjector from "/src/components/coreInjector" @@ -157,6 +158,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -175,6 +187,25 @@ In the example above, we have added all factor IDs related to the passwordless r - With email magic link: `link-email` - With SMS magic link: `link-phone` + + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "passwordlessEnabled": true +}' +``` + + + + + diff --git a/v2/passwordless/pre-built-ui/multitenant-login.mdx b/v2/passwordless/pre-built-ui/multitenant-login.mdx index 2a7b38ced..ef8d756fb 100644 --- a/v2/passwordless/pre-built-ui/multitenant-login.mdx +++ b/v2/passwordless/pre-built-ui/multitenant-login.mdx @@ -8,6 +8,7 @@ import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import MultiTenancyPaidBanner from '../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import CoreInjector from "/src/components/coreInjector" @@ -154,6 +155,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -172,6 +184,25 @@ In the example above, we have added all factor IDs related to the passwordless r - With email magic link: `link-email` - With SMS magic link: `link-phone` + + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "passwordlessEnabled": true +}' +``` + + + + + diff --git a/v2/thirdparty/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/thirdparty/common-customizations/multi-tenancy/new-tenant-config.mdx index 138ce87eb..e45a76ee0 100644 --- a/v2/thirdparty/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/thirdparty/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -6,6 +6,7 @@ hide_title: true import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -126,6 +127,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -136,6 +148,24 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "thirdPartyEnabled": true +}' +``` + + + + + diff --git a/v2/thirdparty/common-customizations/multi-tenancy/overview.mdx b/v2/thirdparty/common-customizations/multi-tenancy/overview.mdx index c101cc949..6a015a043 100644 --- a/v2/thirdparty/common-customizations/multi-tenancy/overview.mdx +++ b/v2/thirdparty/common-customizations/multi-tenancy/overview.mdx @@ -5,6 +5,8 @@ hide_title: true --- import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; diff --git a/v2/thirdparty/common-customizations/saml/with-boxyhq/integration-steps.mdx b/v2/thirdparty/common-customizations/saml/with-boxyhq/integration-steps.mdx index 916452ed1..aec7cde0b 100644 --- a/v2/thirdparty/common-customizations/saml/with-boxyhq/integration-steps.mdx +++ b/v2/thirdparty/common-customizations/saml/with-boxyhq/integration-steps.mdx @@ -9,6 +9,7 @@ hide_title: true import MultiTenancyPaidBanner from '../../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -213,6 +214,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -223,6 +235,24 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "thirdPartyEnabled": true +}' +``` + + + + + diff --git a/v2/thirdparty/custom-ui/multitenant-login.mdx b/v2/thirdparty/custom-ui/multitenant-login.mdx index 316b63bac..776e679bc 100644 --- a/v2/thirdparty/custom-ui/multitenant-login.mdx +++ b/v2/thirdparty/custom-ui/multitenant-login.mdx @@ -12,6 +12,7 @@ import FrontendCustomUITabs from "/src/components/tabs/FrontendCustomUITabs" import FrontendMobileSubTabs from "/src/components/tabs/FrontendMobileSubTabs" import NpmOrScriptTabs from "/src/components/tabs/NpmOrScriptTabs" +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import MultiTenancyPaidBanner from '../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import CoreInjector from "/src/components/coreInjector" @@ -155,6 +156,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -165,6 +177,24 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "thirdPartyEnabled": true +}' +``` + + + + + diff --git a/v2/thirdparty/pre-built-ui/multitenant-login.mdx b/v2/thirdparty/pre-built-ui/multitenant-login.mdx index 82f196b5f..ce4393f65 100644 --- a/v2/thirdparty/pre-built-ui/multitenant-login.mdx +++ b/v2/thirdparty/pre-built-ui/multitenant-login.mdx @@ -8,6 +8,7 @@ import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import MultiTenancyPaidBanner from '../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import CoreInjector from "/src/components/coreInjector" @@ -152,6 +153,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -162,6 +174,24 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "thirdPartyEnabled": true +}' +``` + + + + + diff --git a/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx index 79991b2c7..c48988270 100644 --- a/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -6,6 +6,7 @@ hide_title: true import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -139,6 +140,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -149,6 +161,26 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "emailPasswordEnabled": true, + "thirdPartyEnabled": true +}' +``` + + + + + + diff --git a/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/overview.mdx b/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/overview.mdx index 5290cdafd..20e0ba5f4 100644 --- a/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/overview.mdx +++ b/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/overview.mdx @@ -5,6 +5,8 @@ hide_title: true --- import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; diff --git a/v2/thirdpartyemailpassword/common-customizations/saml/with-boxyhq/integration-steps.mdx b/v2/thirdpartyemailpassword/common-customizations/saml/with-boxyhq/integration-steps.mdx index 91c46367c..6de216892 100644 --- a/v2/thirdpartyemailpassword/common-customizations/saml/with-boxyhq/integration-steps.mdx +++ b/v2/thirdpartyemailpassword/common-customizations/saml/with-boxyhq/integration-steps.mdx @@ -9,6 +9,7 @@ hide_title: true import MultiTenancyPaidBanner from '../../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -213,6 +214,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -223,6 +235,24 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "thirdPartyEnabled": true +}' +``` + + + + + diff --git a/v2/thirdpartyemailpassword/custom-ui/multitenant-login.mdx b/v2/thirdpartyemailpassword/custom-ui/multitenant-login.mdx index 4b7d1d91d..438c1fb67 100644 --- a/v2/thirdpartyemailpassword/custom-ui/multitenant-login.mdx +++ b/v2/thirdpartyemailpassword/custom-ui/multitenant-login.mdx @@ -12,6 +12,7 @@ import FrontendCustomUITabs from "/src/components/tabs/FrontendCustomUITabs" import FrontendMobileSubTabs from "/src/components/tabs/FrontendMobileSubTabs" import NpmOrScriptTabs from "/src/components/tabs/NpmOrScriptTabs" +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import MultiTenancyPaidBanner from '../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import CoreInjector from "/src/components/coreInjector" @@ -168,6 +169,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -178,6 +190,26 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "emailPasswordEnabled": true, + "thirdPartyEnabled": true +}' +``` + + + + + + diff --git a/v2/thirdpartyemailpassword/pre-built-ui/multitenant-login.mdx b/v2/thirdpartyemailpassword/pre-built-ui/multitenant-login.mdx index ce0777738..1fb6eafdc 100644 --- a/v2/thirdpartyemailpassword/pre-built-ui/multitenant-login.mdx +++ b/v2/thirdpartyemailpassword/pre-built-ui/multitenant-login.mdx @@ -8,6 +8,7 @@ import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import MultiTenancyPaidBanner from '../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import CoreInjector from "/src/components/coreInjector" @@ -165,6 +166,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -175,6 +187,26 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "emailPasswordEnabled": true, + "thirdPartyEnabled": true +}' +``` + + + + + + diff --git a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx index 691f95f9a..3e3ec2aae 100644 --- a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -6,6 +6,7 @@ hide_title: true import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -140,6 +141,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -158,6 +170,25 @@ In the example above, we have added all factor IDs related to the passwordless r - With email magic link: `link-email` - With SMS magic link: `link-phone` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "thirdPartyEnabled": true, + "passwordlessEnabled": true +}' +``` + + + + + diff --git a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/overview.mdx b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/overview.mdx index 7b7cab432..d8e091491 100644 --- a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/overview.mdx +++ b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/overview.mdx @@ -5,6 +5,8 @@ hide_title: true --- import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; diff --git a/v2/thirdpartypasswordless/common-customizations/saml/with-boxyhq/integration-steps.mdx b/v2/thirdpartypasswordless/common-customizations/saml/with-boxyhq/integration-steps.mdx index 916452ed1..aec7cde0b 100644 --- a/v2/thirdpartypasswordless/common-customizations/saml/with-boxyhq/integration-steps.mdx +++ b/v2/thirdpartypasswordless/common-customizations/saml/with-boxyhq/integration-steps.mdx @@ -9,6 +9,7 @@ hide_title: true import MultiTenancyPaidBanner from '../../../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -213,6 +214,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -223,6 +235,24 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "thirdPartyEnabled": true +}' +``` + + + + + diff --git a/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx b/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx index 4e5ba2d36..f69aa9036 100644 --- a/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx +++ b/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx @@ -12,6 +12,7 @@ import FrontendCustomUITabs from "/src/components/tabs/FrontendCustomUITabs" import FrontendMobileSubTabs from "/src/components/tabs/FrontendMobileSubTabs" import NpmOrScriptTabs from "/src/components/tabs/NpmOrScriptTabs" +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import MultiTenancyPaidBanner from '../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import CoreInjector from "/src/components/coreInjector" @@ -169,6 +170,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -187,6 +199,25 @@ In the example above, we have added all factor IDs related to the passwordless r - With email magic link: `link-email` - With SMS magic link: `link-phone` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "thirdPartyEnabled": true, + "passwordlessEnabled": true +}' +``` + + + + + diff --git a/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx b/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx index 9d31413e6..ce4358083 100644 --- a/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx +++ b/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx @@ -8,6 +8,7 @@ import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import MultiTenancyPaidBanner from '../../community/reusableMD/multitenancy/MultiTenancyPaidBanner.mdx' import CoreInjector from "/src/components/coreInjector" @@ -166,6 +167,17 @@ else: += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -184,6 +196,25 @@ In the example above, we have added all factor IDs related to the passwordless r - With email magic link: `link-email` - With SMS magic link: `link-phone` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "thirdPartyEnabled": true, + "passwordlessEnabled": true +}' +``` + + + + + From 3f6e50f7fa5015ff0cae048d2101d7688331a04a Mon Sep 17 00:00:00 2001 From: Sattvik Chakravarthy Date: Wed, 17 Jul 2024 13:50:36 +0530 Subject: [PATCH 5/6] fix: curl in mfa --- v2/mfa/backend-setup.mdx | 66 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/v2/mfa/backend-setup.mdx b/v2/mfa/backend-setup.mdx index a9e449f78..5f6856259 100644 --- a/v2/mfa/backend-setup.mdx +++ b/v2/mfa/backend-setup.mdx @@ -6,6 +6,7 @@ hide_title: true import MFAPaidBanner from '../community/reusableMD/mfa/MFAPaidBanner.mdx' import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -208,6 +209,17 @@ Coming soon. In the meantime, checkout the [legacy method](./legacy-method/how-i += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid-/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -218,6 +230,28 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid- }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid-/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "emailPasswordEnabled": true, + "passwordlessEnabled": true, + "firstFactors": ["emailpassword"] +}' +``` + + + + + + + @@ -580,6 +614,17 @@ Coming soon. In the meantime, checkout the [legacy method](./legacy-method/how-i += 9.1.0', value: 'core-9.1' }, + { label: 'Core Version <= 9.0.2', value: 'core-9.0' } + ]}> + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid-/recipe/multitenancy/tenant/v2' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -591,6 +636,27 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid- }' ``` + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid-/recipe/multitenancy/tenant' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "tenantId": "customer1", + "emailPasswordEnabled": true, + "passwordlessEnabled": true, + "firstFactors": ["emailpassword"], + "requiredSecondaryFactors": ["otp-email"] +}' +``` + + + + + From 97b9d8f910e0057c34282439abe1f3128579c154 Mon Sep 17 00:00:00 2001 From: Sattvik Chakravarthy Date: Wed, 17 Jul 2024 14:28:30 +0530 Subject: [PATCH 6/6] fix: pr comments --- .../multi-tenancy/multi-app.mdx | 44 ++++++++++++++++++- .../multi-tenancy/new-tenant-config.mdx | 12 ++--- .../custom-ui/multitenant-login.mdx | 12 ++--- .../pre-built-ui/multitenant-login.mdx | 12 ++--- v2/mfa/backend-setup.mdx | 23 +++------- v2/multitenancy/list-tenants-and-apps.mdx | 23 +++------- v2/multitenancy/new-app.mdx | 44 ++++++++++++++++++- v2/multitenancy/new-tenant.mdx | 12 ++--- .../multi-tenancy/multi-app.mdx | 43 +++++++++++++++++- .../multi-tenancy/new-tenant-config.mdx | 12 ++--- .../custom-ui/multitenant-login.mdx | 12 ++--- .../pre-built-ui/multitenant-login.mdx | 12 ++--- v2/src/components/tabs/CoreVersionSubTabs.tsx | 17 +++++++ .../multi-tenancy/multi-app.mdx | 43 +++++++++++++++++- .../multi-tenancy/new-tenant-config.mdx | 12 ++--- .../saml/with-boxyhq/integration-steps.mdx | 12 ++--- v2/thirdparty/custom-ui/multitenant-login.mdx | 12 ++--- .../pre-built-ui/multitenant-login.mdx | 12 ++--- .../multi-tenancy/multi-app.mdx | 43 +++++++++++++++++- .../multi-tenancy/new-tenant-config.mdx | 12 ++--- .../saml/with-boxyhq/integration-steps.mdx | 12 ++--- .../custom-ui/multitenant-login.mdx | 12 ++--- .../pre-built-ui/multitenant-login.mdx | 12 ++--- .../multi-tenancy/multi-app.mdx | 43 +++++++++++++++++- .../multi-tenancy/new-tenant-config.mdx | 12 ++--- .../saml/with-boxyhq/integration-steps.mdx | 12 ++--- .../custom-ui/multitenant-login.mdx | 12 ++--- .../pre-built-ui/multitenant-login.mdx | 12 ++--- 28 files changed, 332 insertions(+), 219 deletions(-) create mode 100644 v2/src/components/tabs/CoreVersionSubTabs.tsx diff --git a/v2/emailpassword/common-customizations/multi-tenancy/multi-app.mdx b/v2/emailpassword/common-customizations/multi-tenancy/multi-app.mdx index cecf8a399..17129ea22 100644 --- a/v2/emailpassword/common-customizations/multi-tenancy/multi-app.mdx +++ b/v2/emailpassword/common-customizations/multi-tenancy/multi-app.mdx @@ -8,6 +8,8 @@ import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/M import TabItem from '@theme/TabItem'; import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import CoreInjector from "/src/components/coreInjector" +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; + @@ -34,6 +36,38 @@ In order to create a new app in the SuperTokens core, you can use the following + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "appId": "app1", + "coreConfig": {...} +}' +``` + +- The above command will create (or update) an app with the appId of `app1`. +- It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) +- You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. + +The built-in Factor IDs that can be used for `firstFactors` are: +- Email password auth: `emailpassword` +- Social login / enterprise SSO auth: `thirdparty` +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + + + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -47,13 +81,19 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` - - - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). - By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. + + + + + + + + :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. ::: diff --git a/v2/emailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/emailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx index 033937295..456f4114b 100644 --- a/v2/emailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/emailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -9,6 +9,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -133,14 +134,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -170,7 +164,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/emailpassword/custom-ui/multitenant-login.mdx b/v2/emailpassword/custom-ui/multitenant-login.mdx index 9062f1d76..827ad34e5 100644 --- a/v2/emailpassword/custom-ui/multitenant-login.mdx +++ b/v2/emailpassword/custom-ui/multitenant-login.mdx @@ -7,6 +7,7 @@ hide_title: true import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; import FrontendCustomUITabs from "/src/components/tabs/FrontendCustomUITabs" import FrontendMobileSubTabs from "/src/components/tabs/FrontendMobileSubTabs" @@ -150,14 +151,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -187,7 +181,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/emailpassword/pre-built-ui/multitenant-login.mdx b/v2/emailpassword/pre-built-ui/multitenant-login.mdx index 6c84bb464..ef355f82d 100644 --- a/v2/emailpassword/pre-built-ui/multitenant-login.mdx +++ b/v2/emailpassword/pre-built-ui/multitenant-login.mdx @@ -7,6 +7,7 @@ hide_title: true import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -147,14 +148,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -184,7 +178,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/mfa/backend-setup.mdx b/v2/mfa/backend-setup.mdx index 5f6856259..6627a7b39 100644 --- a/v2/mfa/backend-setup.mdx +++ b/v2/mfa/backend-setup.mdx @@ -9,6 +9,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" import CustomAdmonition from "/src/components/customAdmonition" @@ -209,14 +210,7 @@ Coming soon. In the meantime, checkout the [legacy method](./legacy-method/how-i -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -248,7 +242,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid- - + @@ -614,14 +608,7 @@ Coming soon. In the meantime, checkout the [legacy method](./legacy-method/how-i -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -655,7 +642,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid- - + diff --git a/v2/multitenancy/list-tenants-and-apps.mdx b/v2/multitenancy/list-tenants-and-apps.mdx index 93c0e3298..b3847cd73 100644 --- a/v2/multitenancy/list-tenants-and-apps.mdx +++ b/v2/multitenancy/list-tenants-and-apps.mdx @@ -8,6 +8,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -174,14 +175,7 @@ for tenant in response.tenants: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -247,7 +241,7 @@ You will get the following JSON output: - + @@ -263,14 +257,7 @@ This can only be done via a cURL command. There is no helper function for this i -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -336,7 +323,7 @@ You will get the following JSON output: - + diff --git a/v2/multitenancy/new-app.mdx b/v2/multitenancy/new-app.mdx index 1cfc8e420..e49bff038 100644 --- a/v2/multitenancy/new-app.mdx +++ b/v2/multitenancy/new-app.mdx @@ -7,6 +7,8 @@ import MultiTenancyPaidBanner from '../community/reusableMD/multitenancy/MultiTe import TabItem from '@theme/TabItem'; import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import CoreInjector from "/src/components/coreInjector" +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; + @@ -33,6 +35,38 @@ In order to create a new app in the SuperTokens core, you can use the following + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "appId": "app1", + "coreConfig": {...} +}' +``` + +- The above command will create (or update) an app with the appId of `app1`. +- It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) +- You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. + +The built-in Factor IDs that can be used for `firstFactors` are: +- Email password auth: `emailpassword` +- Social login / enterprise SSO auth: `thirdparty` +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + + + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -46,13 +80,19 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` - - - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). - By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. + + + + + + + + :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. ::: diff --git a/v2/multitenancy/new-tenant.mdx b/v2/multitenancy/new-tenant.mdx index 73a63f7d6..e08a5c07c 100644 --- a/v2/multitenancy/new-tenant.mdx +++ b/v2/multitenancy/new-tenant.mdx @@ -8,6 +8,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from "@theme/Tabs"; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -140,14 +141,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -195,7 +189,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/appid- - + diff --git a/v2/passwordless/common-customizations/multi-tenancy/multi-app.mdx b/v2/passwordless/common-customizations/multi-tenancy/multi-app.mdx index cecf8a399..55b7b8269 100644 --- a/v2/passwordless/common-customizations/multi-tenancy/multi-app.mdx +++ b/v2/passwordless/common-customizations/multi-tenancy/multi-app.mdx @@ -8,6 +8,7 @@ import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/M import TabItem from '@theme/TabItem'; import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import CoreInjector from "/src/components/coreInjector" +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; @@ -34,6 +35,38 @@ In order to create a new app in the SuperTokens core, you can use the following + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "appId": "app1", + "coreConfig": {...} +}' +``` + +- The above command will create (or update) an app with the appId of `app1`. +- It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) +- You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. + +The built-in Factor IDs that can be used for `firstFactors` are: +- Email password auth: `emailpassword` +- Social login / enterprise SSO auth: `thirdparty` +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + + + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -47,13 +80,19 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` - - - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). - By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. + + + + + + + + :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. ::: diff --git a/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx index 60142b253..29cdfe007 100644 --- a/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/passwordless/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -9,6 +9,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -141,14 +142,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -187,7 +181,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/passwordless/custom-ui/multitenant-login.mdx b/v2/passwordless/custom-ui/multitenant-login.mdx index 6089bec4e..e44f458f0 100644 --- a/v2/passwordless/custom-ui/multitenant-login.mdx +++ b/v2/passwordless/custom-ui/multitenant-login.mdx @@ -7,6 +7,7 @@ hide_title: true import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; import FrontendCustomUITabs from "/src/components/tabs/FrontendCustomUITabs" import FrontendMobileSubTabs from "/src/components/tabs/FrontendMobileSubTabs" @@ -158,14 +159,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -204,7 +198,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/passwordless/pre-built-ui/multitenant-login.mdx b/v2/passwordless/pre-built-ui/multitenant-login.mdx index ef8d756fb..75ec1e2c2 100644 --- a/v2/passwordless/pre-built-ui/multitenant-login.mdx +++ b/v2/passwordless/pre-built-ui/multitenant-login.mdx @@ -7,6 +7,7 @@ hide_title: true import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -155,14 +156,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -201,7 +195,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/src/components/tabs/CoreVersionSubTabs.tsx b/v2/src/components/tabs/CoreVersionSubTabs.tsx new file mode 100644 index 000000000..cdc7540a5 --- /dev/null +++ b/v2/src/components/tabs/CoreVersionSubTabs.tsx @@ -0,0 +1,17 @@ +import React from "react"; +let Tabs = require("@theme/Tabs").default; + +export default function CoreVersionSubTabs(props: any) { + return ( + = 9.1.0', value: 'core-9.1' }, + { label: 'Core version <= 9.0.2', value: 'core-9.0' } + ]}> + {props.children} + + ); +} \ No newline at end of file diff --git a/v2/thirdparty/common-customizations/multi-tenancy/multi-app.mdx b/v2/thirdparty/common-customizations/multi-tenancy/multi-app.mdx index cecf8a399..55b7b8269 100644 --- a/v2/thirdparty/common-customizations/multi-tenancy/multi-app.mdx +++ b/v2/thirdparty/common-customizations/multi-tenancy/multi-app.mdx @@ -8,6 +8,7 @@ import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/M import TabItem from '@theme/TabItem'; import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import CoreInjector from "/src/components/coreInjector" +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; @@ -34,6 +35,38 @@ In order to create a new app in the SuperTokens core, you can use the following + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "appId": "app1", + "coreConfig": {...} +}' +``` + +- The above command will create (or update) an app with the appId of `app1`. +- It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) +- You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. + +The built-in Factor IDs that can be used for `firstFactors` are: +- Email password auth: `emailpassword` +- Social login / enterprise SSO auth: `thirdparty` +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + + + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -47,13 +80,19 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` - - - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). - By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. + + + + + + + + :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. ::: diff --git a/v2/thirdparty/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/thirdparty/common-customizations/multi-tenancy/new-tenant-config.mdx index e45a76ee0..611a5aa6e 100644 --- a/v2/thirdparty/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/thirdparty/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -9,6 +9,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -127,14 +128,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -164,7 +158,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdparty/common-customizations/saml/with-boxyhq/integration-steps.mdx b/v2/thirdparty/common-customizations/saml/with-boxyhq/integration-steps.mdx index aec7cde0b..e842c3ce0 100644 --- a/v2/thirdparty/common-customizations/saml/with-boxyhq/integration-steps.mdx +++ b/v2/thirdparty/common-customizations/saml/with-boxyhq/integration-steps.mdx @@ -12,6 +12,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -214,14 +215,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -251,7 +245,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdparty/custom-ui/multitenant-login.mdx b/v2/thirdparty/custom-ui/multitenant-login.mdx index 776e679bc..8f98180df 100644 --- a/v2/thirdparty/custom-ui/multitenant-login.mdx +++ b/v2/thirdparty/custom-ui/multitenant-login.mdx @@ -7,6 +7,7 @@ hide_title: true import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; import FrontendCustomUITabs from "/src/components/tabs/FrontendCustomUITabs" import FrontendMobileSubTabs from "/src/components/tabs/FrontendMobileSubTabs" @@ -156,14 +157,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -193,7 +187,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdparty/pre-built-ui/multitenant-login.mdx b/v2/thirdparty/pre-built-ui/multitenant-login.mdx index ce4393f65..e9cc5b5ba 100644 --- a/v2/thirdparty/pre-built-ui/multitenant-login.mdx +++ b/v2/thirdparty/pre-built-ui/multitenant-login.mdx @@ -7,6 +7,7 @@ hide_title: true import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -153,14 +154,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -190,7 +184,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/multi-app.mdx b/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/multi-app.mdx index cecf8a399..55b7b8269 100644 --- a/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/multi-app.mdx +++ b/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/multi-app.mdx @@ -8,6 +8,7 @@ import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/M import TabItem from '@theme/TabItem'; import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import CoreInjector from "/src/components/coreInjector" +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; @@ -34,6 +35,38 @@ In order to create a new app in the SuperTokens core, you can use the following + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "appId": "app1", + "coreConfig": {...} +}' +``` + +- The above command will create (or update) an app with the appId of `app1`. +- It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) +- You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. + +The built-in Factor IDs that can be used for `firstFactors` are: +- Email password auth: `emailpassword` +- Social login / enterprise SSO auth: `thirdparty` +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + + + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -47,13 +80,19 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` - - - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). - By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. + + + + + + + + :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. ::: diff --git a/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx index c48988270..2fa7f0451 100644 --- a/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/thirdpartyemailpassword/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -9,6 +9,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -140,14 +141,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -178,7 +172,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdpartyemailpassword/common-customizations/saml/with-boxyhq/integration-steps.mdx b/v2/thirdpartyemailpassword/common-customizations/saml/with-boxyhq/integration-steps.mdx index 6de216892..5385b0891 100644 --- a/v2/thirdpartyemailpassword/common-customizations/saml/with-boxyhq/integration-steps.mdx +++ b/v2/thirdpartyemailpassword/common-customizations/saml/with-boxyhq/integration-steps.mdx @@ -12,6 +12,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -214,14 +215,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -251,7 +245,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdpartyemailpassword/custom-ui/multitenant-login.mdx b/v2/thirdpartyemailpassword/custom-ui/multitenant-login.mdx index 438c1fb67..f409c6998 100644 --- a/v2/thirdpartyemailpassword/custom-ui/multitenant-login.mdx +++ b/v2/thirdpartyemailpassword/custom-ui/multitenant-login.mdx @@ -7,6 +7,7 @@ hide_title: true import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; import FrontendCustomUITabs from "/src/components/tabs/FrontendCustomUITabs" import FrontendMobileSubTabs from "/src/components/tabs/FrontendMobileSubTabs" @@ -169,14 +170,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -207,7 +201,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdpartyemailpassword/pre-built-ui/multitenant-login.mdx b/v2/thirdpartyemailpassword/pre-built-ui/multitenant-login.mdx index 1fb6eafdc..f472008f5 100644 --- a/v2/thirdpartyemailpassword/pre-built-ui/multitenant-login.mdx +++ b/v2/thirdpartyemailpassword/pre-built-ui/multitenant-login.mdx @@ -7,6 +7,7 @@ hide_title: true import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -166,14 +167,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -204,7 +198,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/multi-app.mdx b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/multi-app.mdx index 4b989c3c2..f548e2d11 100644 --- a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/multi-app.mdx +++ b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/multi-app.mdx @@ -9,6 +9,7 @@ import MultiTenancyPaidBanner from '../../../community/reusableMD/multitenancy/M import TabItem from '@theme/TabItem'; import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import CoreInjector from "/src/components/coreInjector" +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; @@ -35,6 +36,38 @@ In order to create a new app in the SuperTokens core, you can use the following + + + + +```bash +curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app/v2' \ +--header 'api-key: ^{coreInjector_api_key_without_quotes}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "appId": "app1", + "coreConfig": {...} +}' +``` + +- The above command will create (or update) an app with the appId of `app1`. +- It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) +- You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). +- By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `firstFactors` input to specifically enable selected login methods. + +The built-in Factor IDs that can be used for `firstFactors` are: +- Email password auth: `emailpassword` +- Social login / enterprise SSO auth: `thirdparty` +- Passwordless: + - With email OTP: `otp-email` + - With SMS OTP: `otp-phone` + - With email magic link: `link-email` + - With SMS magic link: `link-phone` + + + + + ```bash curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multitenancy/app' \ --header 'api-key: ^{coreInjector_api_key_without_quotes}' \ @@ -48,13 +81,19 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite }' ``` - - - The above command will create (or update) an app with the appId of `app1`. - It will also create a default tenant for this app with the tenant ID of `public` (i.e. the default tenantId) - You can set various core configs for this app (see the config.yaml / docker env var options for your core). The core configs for a new app will inherit from the the configs provided in the config.yaml / docker env (or our edit config dashboard for managed service). - By default, all the login methods are enabled for a new app (specifically, the `public` tenant of the new app), but you can pass in `false` to any of the login methods specified above to disable them. + + + + + + + + :::important Even if a login method is enabled for a tenant, you will still require to initialise the right recipe on the backend for sign up / in to be possible with that login method. For example, if for a tenant, you have enabled the passwordless login method, but don't use the passwordless (or a combination recipe that has passwordless) on the backend, then end users will not be able to sign up / in using the passwordless APIs cause those APIs won't be exposed via our backend SDK's middleware. ::: diff --git a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx index 3e3ec2aae..96be3d599 100644 --- a/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx +++ b/v2/thirdpartypasswordless/common-customizations/multi-tenancy/new-tenant-config.mdx @@ -9,6 +9,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -141,14 +142,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -187,7 +181,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdpartypasswordless/common-customizations/saml/with-boxyhq/integration-steps.mdx b/v2/thirdpartypasswordless/common-customizations/saml/with-boxyhq/integration-steps.mdx index aec7cde0b..e842c3ce0 100644 --- a/v2/thirdpartypasswordless/common-customizations/saml/with-boxyhq/integration-steps.mdx +++ b/v2/thirdpartypasswordless/common-customizations/saml/with-boxyhq/integration-steps.mdx @@ -12,6 +12,7 @@ import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import CoreInjector from "/src/components/coreInjector" @@ -214,14 +215,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -251,7 +245,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx b/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx index f69aa9036..3df64d8aa 100644 --- a/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx +++ b/v2/thirdpartypasswordless/custom-ui/multitenant-login.mdx @@ -7,6 +7,7 @@ hide_title: true import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; import FrontendCustomUITabs from "/src/components/tabs/FrontendCustomUITabs" import FrontendMobileSubTabs from "/src/components/tabs/FrontendMobileSubTabs" @@ -170,14 +171,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -216,7 +210,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - + diff --git a/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx b/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx index ce4358083..96fc8674a 100644 --- a/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx +++ b/v2/thirdpartypasswordless/pre-built-ui/multitenant-login.mdx @@ -7,6 +7,7 @@ hide_title: true import AppInfoForm from "/src/components/appInfoForm" import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs"; import PythonSyncAsyncSubTabs from "/src/components/tabs/PythonSyncAsyncSubTabs"; +import CoreVersionSubTabs from "/src/components/tabs/CoreVersionSubTabs"; import GoFrameworkSubTabs from "/src/components/tabs/GoFrameworkSubTabs"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -167,14 +168,7 @@ else: -= 9.1.0', value: 'core-9.1' }, - { label: 'Core Version <= 9.0.2', value: 'core-9.0' } - ]}> + @@ -213,7 +207,7 @@ curl --location --request PUT '^{coreInjector_uri_without_quotes}/recipe/multite - +