[bug] Don't allow per user auth with accounts disabled

This commit is contained in:
Cohee
2024-10-09 10:43:52 +03:00
parent 15436d0f2a
commit fe1f9fafbd
2 changed files with 7 additions and 3 deletions

View File

@@ -7,6 +7,7 @@ const { getConfig, getConfigValue } = require('../util.js');
const storage = require('node-persist');
const PER_USER_BASIC_AUTH = getConfigValue('perUserBasicAuth', false);
const ENABLE_ACCOUNTS = getConfigValue('enableUserAccounts', false);
const unauthorizedResponse = (res) => {
res.set('WWW-Authenticate', 'Basic realm="SillyTavern", charset="UTF-8"');
@@ -27,13 +28,14 @@ const basicAuthMiddleware = async function (request, response, callback) {
return unauthorizedResponse(response);
}
const usePerUserAuth = PER_USER_BASIC_AUTH && ENABLE_ACCOUNTS;
const [username, password] = Buffer.from(credentials, 'base64')
.toString('utf8')
.split(':');
if (!PER_USER_BASIC_AUTH && username === config.basicAuthUser.username && password === config.basicAuthUser.password) {
if (!usePerUserAuth && username === config.basicAuthUser.username && password === config.basicAuthUser.password) {
return callback();
} else if (PER_USER_BASIC_AUTH) {
} else if (usePerUserAuth) {
const userHandles = await getAllUserHandles();
for (const userHandle of userHandles) {
if (username === userHandle) {