diff --git a/.eslintrc.front.js b/.eslintrc.front.js index 58a13b5d44..90c97ca24d 100644 --- a/.eslintrc.front.js +++ b/.eslintrc.front.js @@ -30,6 +30,7 @@ module.exports = { expect: false, assert: false, chai: false, + ENABLED_EE_FEATURES: false, // TODO: put all this in process.env in webpack to avoid having to set them here REMOTE_URL: true, BACKEND_URL: true, diff --git a/jest.config.front.js b/jest.config.front.js index 47cae629ea..c46933c1fa 100644 --- a/jest.config.front.js +++ b/jest.config.front.js @@ -44,6 +44,7 @@ module.exports = { PUBLIC_PATH: '/admin', REMOTE_URL: '/', NODE_ENV: 'test', + ENABLED_EE_FEATURES: [], }, moduleDirectories: [ 'node_modules', diff --git a/packages/strapi-admin/ee/admin/containers/AuthPage/components/Login/index.js b/packages/strapi-admin/ee/admin/containers/AuthPage/components/Login/index.js index dda3054ad9..f405724f47 100644 --- a/packages/strapi-admin/ee/admin/containers/AuthPage/components/Login/index.js +++ b/packages/strapi-admin/ee/admin/containers/AuthPage/components/Login/index.js @@ -21,7 +21,7 @@ const Login = loginProps => { const { isLoading, data: providers } = useAuthProviders(); const { formatMessage } = useIntl(); - if (!isLoading && providers.length === 0) { + if (!ENABLED_EE_FEATURES.includes('sso') || (!isLoading && providers.length === 0)) { return ; } diff --git a/packages/strapi-admin/ee/admin/containers/AuthPage/components/Providers/index.js b/packages/strapi-admin/ee/admin/containers/AuthPage/components/Providers/index.js index d53a168a15..2b153d2b28 100644 --- a/packages/strapi-admin/ee/admin/containers/AuthPage/components/Providers/index.js +++ b/packages/strapi-admin/ee/admin/containers/AuthPage/components/Providers/index.js @@ -25,7 +25,7 @@ const Providers = () => { push('/auth/login'); }; - if (!isLoading && providers.length === 0) { + if (!ENABLED_EE_FEATURES.includes('sso') || (!isLoading && providers.length === 0)) { return ; } diff --git a/packages/strapi-admin/ee/admin/containers/SettingsPage/utils/customRoutes.js b/packages/strapi-admin/ee/admin/containers/SettingsPage/utils/customRoutes.js index ab1e8d65da..64ee23385f 100644 --- a/packages/strapi-admin/ee/admin/containers/SettingsPage/utils/customRoutes.js +++ b/packages/strapi-admin/ee/admin/containers/SettingsPage/utils/customRoutes.js @@ -1,12 +1,16 @@ import { SETTINGS_BASE_URL } from '../../../../../admin/src/config'; import SingleSignOn from '../SingleSignOn'; -const customRoutes = [ - { - Component: SingleSignOn, - to: `${SETTINGS_BASE_URL}/single-sign-on`, - exact: true, - }, -]; +const ssoRoutes = ENABLED_EE_FEATURES.includes('sso') + ? [ + { + Component: SingleSignOn, + to: `${SETTINGS_BASE_URL}/single-sign-on`, + exact: true, + }, + ] + : []; + +const customRoutes = [...ssoRoutes]; export default customRoutes; diff --git a/packages/strapi-admin/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js b/packages/strapi-admin/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js index 7137ae0340..66b80fd680 100644 --- a/packages/strapi-admin/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js +++ b/packages/strapi-admin/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js @@ -1,14 +1,18 @@ import { SETTINGS_BASE_URL } from '../../../../../admin/src/config'; import adminPermissions from '../../../../../admin/src/permissions'; -const customGlobalLinks = [ - { - title: { id: 'Settings.sso.title' }, - to: `${SETTINGS_BASE_URL}/single-sign-on`, - name: 'sso', - isDisplayed: false, - permissions: adminPermissions.settings.sso.main, - }, -]; +const ssoGlobalRoutes = ENABLED_EE_FEATURES.includes('sso') + ? [ + { + title: { id: 'Settings.sso.title' }, + to: `${SETTINGS_BASE_URL}/single-sign-on`, + name: 'sso', + isDisplayed: false, + permissions: adminPermissions.settings.sso.main, + }, + ] + : []; + +const customGlobalLinks = [...ssoGlobalRoutes]; export default customGlobalLinks; diff --git a/packages/strapi-admin/webpack.config.dev.js b/packages/strapi-admin/webpack.config.dev.js index 74fa154da7..ab0e3d8098 100644 --- a/packages/strapi-admin/webpack.config.dev.js +++ b/packages/strapi-admin/webpack.config.dev.js @@ -15,6 +15,7 @@ module.exports = () => { const options = { backend: 'http://localhost:1337', publicPath: '/admin/', + features: process.env.ENABLED_EE_FEATURES || [], }; const args = {