diff --git a/packages/api/src/controllers/config.js b/packages/api/src/controllers/config.js index f7ce0ec14..9456b56a9 100644 --- a/packages/api/src/controllers/config.js +++ b/packages/api/src/controllers/config.js @@ -39,6 +39,12 @@ module.exports = { ? await connections.getCore({ conid: singleConid }) : connections.singleConnection; + let configurationError = null; + if (process.env.STORAGE_DATABASE && process.env.BASIC_AUTH) { + configurationError = + 'Basic authentization is not allowed, when using storage. Cannot use both STORAGE_DATABASE and BASIC_AUTH'; + } + return { runAsPortal: !!connections.portalConnections, singleDbConnection: connections.singleDbConnection, @@ -51,6 +57,7 @@ module.exports = { isElectron: platformInfo.isElectron, isLicenseValid: platformInfo.isLicenseValid, checkedLicense: platformInfo.checkedLicense, + configurationError, logoutUrl: await authProvider.getLogoutUrl(), permissions, login, diff --git a/packages/api/src/main.js b/packages/api/src/main.js index 2cd80986f..72f36415e 100644 --- a/packages/api/src/main.js +++ b/packages/api/src/main.js @@ -45,7 +45,7 @@ function start() { const server = http.createServer(app); - if (process.env.BASIC_AUTH) { + if (process.env.BASIC_AUTH && !process.env.STORAGE_DATABASE) { async function authorizer(username, password, cb) { try { const resp = await getDefaultAuthProvider().login(username, password); diff --git a/packages/web/src/ErrorPage.svelte b/packages/web/src/ErrorPage.svelte index e053195da..d13f16eac 100644 --- a/packages/web/src/ErrorPage.svelte +++ b/packages/web/src/ErrorPage.svelte @@ -28,6 +28,8 @@ + {:else if $config?.configurationError} + {:else if error} {:else} diff --git a/packages/web/src/clientAuth.ts b/packages/web/src/clientAuth.ts index e543d5826..98aae2ff6 100644 --- a/packages/web/src/clientAuth.ts +++ b/packages/web/src/clientAuth.ts @@ -113,7 +113,7 @@ export function handleOauthCallback() { } export async function handleAuthOnStartup(config, isAdminPage = false) { - if (!config.isLicenseValid) { + if (!config.isLicenseValid || config.configurationError) { internalRedirectTo(`/?page=error`); return; }