diff --git a/server.js b/server.js index af4578a50..d1516e71f 100644 --- a/server.js +++ b/server.js @@ -876,8 +876,9 @@ const postSetupTasks = async function (v6Failed, v4Failed, useIPv6, useIPv4) { 'Per-user basic authentication is enabled, but user accounts are disabled. This configuration may be insecure.', )); } else if (!perUserBasicAuth) { - const basicAuthUser = getConfigValue('basicAuthUser', {}); - if (!basicAuthUser?.username || !basicAuthUser?.password) { + const basicAuthUserName = getConfigValue('basicAuthUser.username', ''); + const basicAuthUserPassword = getConfigValue('basicAuthUser.password', ''); + if (!basicAuthUserName || !basicAuthUserPassword) { console.warn(color.yellow( 'Basic Authentication is enabled, but username or password is not set or empty!', )); diff --git a/src/middleware/basicAuth.js b/src/middleware/basicAuth.js index 910bfaeb7..83f952398 100644 --- a/src/middleware/basicAuth.js +++ b/src/middleware/basicAuth.js @@ -5,7 +5,7 @@ import { Buffer } from 'node:buffer'; import storage from 'node-persist'; import { getAllUserHandles, toKey, getPasswordHash } from '../users.js'; -import { getConfig, getConfigValue, safeReadFileSync } from '../util.js'; +import { getConfigValue, safeReadFileSync } from '../util.js'; const PER_USER_BASIC_AUTH = getConfigValue('perUserBasicAuth', false, 'boolean'); const ENABLE_ACCOUNTS = getConfigValue('enableUserAccounts', false, 'boolean'); @@ -17,7 +17,8 @@ const basicAuthMiddleware = async function (request, response, callback) { return res.status(401).send(unauthorizedWebpage); }; - const config = getConfig(); + const basicAuthUserName = getConfigValue('basicAuthUser.username'); + const basicAuthUserPassword = getConfigValue('basicAuthUser.password'); const authHeader = request.headers.authorization; if (!authHeader) { @@ -35,7 +36,7 @@ const basicAuthMiddleware = async function (request, response, callback) { .toString('utf8') .split(':'); - if (!usePerUserAuth && username === config.basicAuthUser.username && password === config.basicAuthUser.password) { + if (!usePerUserAuth && username === basicAuthUserName && password === basicAuthUserPassword) { return callback(); } else if (usePerUserAuth) { const userHandles = await getAllUserHandles();