Conditional SSO with env var

Signed-off-by: HichamELBSI <elabbassih@gmail.com>
This commit is contained in:
HichamELBSI 2021-01-29 15:47:11 +01:00
parent 55433bd9a5
commit e80d9c9c3e
7 changed files with 29 additions and 18 deletions

View File

@ -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,

View File

@ -44,6 +44,7 @@ module.exports = {
PUBLIC_PATH: '/admin',
REMOTE_URL: '/',
NODE_ENV: 'test',
ENABLED_EE_FEATURES: [],
},
moduleDirectories: [
'node_modules',

View File

@ -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 <BaseLogin {...loginProps} />;
}

View File

@ -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 <Redirect to="/auth/login" />;
}

View File

@ -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;

View File

@ -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;

View File

@ -15,6 +15,7 @@ module.exports = () => {
const options = {
backend: 'http://localhost:1337',
publicPath: '/admin/',
features: process.env.ENABLED_EE_FEATURES || [],
};
const args = {