diff --git a/apps/studio/components/layouts/OrganizationLayout.tsx b/apps/studio/components/layouts/OrganizationLayout.tsx
index ce196c37f72..427749ca007 100644
--- a/apps/studio/components/layouts/OrganizationLayout.tsx
+++ b/apps/studio/components/layouts/OrganizationLayout.tsx
@@ -3,14 +3,14 @@ import { type PropsWithChildren } from 'react'
import PartnerIcon from 'components/ui/PartnerIcon'
import { PARTNER_TO_NAME } from 'components/ui/PartnerManagedResource'
+import { useAwsRedirectQuery } from 'data/integrations/aws-redirect-query'
import { useVercelRedirectQuery } from 'data/integrations/vercel-redirect-query'
import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization'
import { withAuth } from 'hooks/misc/withAuth'
-import { Alert_Shadcn_, AlertTitle_Shadcn_, Button, cn } from 'ui'
-import { useAwsRedirectQuery } from 'data/integrations/aws-redirect-query'
import { MANAGED_BY } from 'lib/constants/infrastructure'
+import { Alert_Shadcn_, AlertTitle_Shadcn_, Button, cn } from 'ui'
-const OrganizationLayoutContent = ({ children }: PropsWithChildren<{}>) => {
+const OrganizationLayoutContent = ({ children }: PropsWithChildren) => {
const { data: selectedOrganization } = useSelectedOrganizationQuery()
const vercelQuery = useVercelRedirectQuery(
@@ -53,12 +53,12 @@ const OrganizationLayoutContent = ({ children }: PropsWithChildren<{}>) => {
)}
- {children}
+ {children}
)
}
-const OrganizationLayout = ({ children }: PropsWithChildren<{}>) => {
+const OrganizationLayout = ({ children }: PropsWithChildren) => {
return {children}
}
diff --git a/apps/studio/components/layouts/ProjectLayout/OrganizationSettingsLayout.tsx b/apps/studio/components/layouts/ProjectLayout/OrganizationSettingsLayout.tsx
index 848edfc8dac..d198aee651e 100644
--- a/apps/studio/components/layouts/ProjectLayout/OrganizationSettingsLayout.tsx
+++ b/apps/studio/components/layouts/ProjectLayout/OrganizationSettingsLayout.tsx
@@ -3,6 +3,7 @@ import { PropsWithChildren } from 'react'
import { useParams } from 'common'
import { useCurrentPath } from 'hooks/misc/useCurrentPath'
+import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
import { NavMenu, NavMenuItem } from 'ui'
import { ScaffoldContainerLegacy, ScaffoldTitle } from '../Scaffold'
@@ -12,6 +13,8 @@ function OrganizationSettingsLayout({ children }: PropsWithChildren) {
const fullCurrentPath = useCurrentPath()
const [currentPath] = fullCurrentPath.split('#')
+ const showSsoSettings = useIsFeatureEnabled('organization:show_sso_settings')
+
const navMenuItems = [
{
label: 'General',
@@ -26,10 +29,14 @@ function OrganizationSettingsLayout({ children }: PropsWithChildren) {
href: `/org/${slug}/apps`,
},
- {
- label: 'SSO',
- href: `/org/${slug}/sso`,
- },
+ ...(showSsoSettings
+ ? [
+ {
+ label: 'SSO',
+ href: `/org/${slug}/sso`,
+ },
+ ]
+ : []),
{
label: 'Audit Logs',
@@ -53,7 +60,7 @@ function OrganizationSettingsLayout({ children }: PropsWithChildren) {
))}
- {children}
+
{children}
>
)
}
diff --git a/apps/studio/pages/org/[slug]/sso.tsx b/apps/studio/pages/org/[slug]/sso.tsx
index ede05456713..899b1cf7c76 100644
--- a/apps/studio/pages/org/[slug]/sso.tsx
+++ b/apps/studio/pages/org/[slug]/sso.tsx
@@ -1,10 +1,20 @@
+import { useParams } from 'common'
import { SSOConfig } from 'components/interfaces/Organization/SSO/SSOConfig'
import DefaultLayout from 'components/layouts/DefaultLayout'
import OrganizationLayout from 'components/layouts/OrganizationLayout'
import OrganizationSettingsLayout from 'components/layouts/ProjectLayout/OrganizationSettingsLayout'
+import { UnknownInterface } from 'components/ui/UnknownInterface'
+import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
import type { NextPageWithLayout } from 'types'
const OrgSSO: NextPageWithLayout = () => {
+ const { slug } = useParams()
+ const showSsoSettings = useIsFeatureEnabled('organization:show_sso_settings')
+
+ if (!showSsoSettings) {
+ return
+ }
+
return
}
diff --git a/packages/common/enabled-features/enabled-features.json b/packages/common/enabled-features/enabled-features.json
index 440a8484327..866280cf519 100644
--- a/packages/common/enabled-features/enabled-features.json
+++ b/packages/common/enabled-features/enabled-features.json
@@ -44,6 +44,8 @@
"logs:templates": true,
"logs:collections": true,
+ "organization:show_sso_settings": true,
+
"profile:show_email": true,
"profile:show_information": true,
"profile:show_analytics_and_marketing": true,
@@ -58,6 +60,7 @@
"project_homepage:show_examples": true,
"project_addons:dedicated_ipv4_address": true,
+
"project_settings:custom_domains": true,
"project_settings:show_disable_legacy_api_keys": true,
"project_settings:legacy_jwt_keys": true,
diff --git a/packages/common/enabled-features/enabled-features.schema.json b/packages/common/enabled-features/enabled-features.schema.json
index d68bad99e30..91aa791d6bf 100644
--- a/packages/common/enabled-features/enabled-features.schema.json
+++ b/packages/common/enabled-features/enabled-features.schema.json
@@ -148,6 +148,11 @@
"description": "Enable the logs collections page"
},
+ "organization:show_sso_settings": {
+ "type": "boolean",
+ "description": "Show the SSO settings tab in the organization settings page"
+ },
+
"profile:show_email": {
"type": "boolean",
"description": "Show the user's email address in the toolbar"
@@ -273,6 +278,7 @@
"profile:show_account_deletion",
"logs:templates",
"logs:collections",
+ "organization:show_sso_settings",
"project_creation:show_advanced_config",
"project_homepage:show_instance_size",
"project_homepage:show_examples",