diff --git a/packages/api/src/controllers/auth.js b/packages/api/src/controllers/auth.js index 7978a7c00..509d4c9c1 100644 --- a/packages/api/src/controllers/auth.js +++ b/packages/api/src/controllers/auth.js @@ -91,7 +91,12 @@ module.exports = { const { amoid, login, password, isAdminPage } = params; if (isAdminPage) { - if (process.env.ADMIN_PASSWORD && process.env.ADMIN_PASSWORD == password) { + let adminPassword = process.env.ADMIN_PASSWORD; + if (!adminPassword) { + const adminConfig = await storage.readConfig({ group: 'admin' }); + adminPassword = adminConfig?.adminPassword; + } + if (adminPassword && adminPassword == password) { return { accessToken: jwt.sign( { diff --git a/packages/api/src/controllers/config.js b/packages/api/src/controllers/config.js index ac0f4fb7b..75573780e 100644 --- a/packages/api/src/controllers/config.js +++ b/packages/api/src/controllers/config.js @@ -91,9 +91,8 @@ module.exports = { isBasicAuth: !!process.env.BASIC_AUTH, isAdminLoginForm: !!( process.env.STORAGE_DATABASE && - process.env.ADMIN_PASSWORD && - !process.env.BASIC_AUTH && - checkedLicense?.type == 'premium' + (process.env.ADMIN_PASSWORD || adminConfig?.adminPasswordState == 'set') && + !process.env.BASIC_AUTH ), isAdminPasswordMissing, isInvalidToken: req.isInvalidToken,