Rename `apiAuth` to `basicAuthMiddleware` and it accepts API keys only

This commit is contained in:
Louis Lam 2023-10-08 02:24:18 +08:00
parent 8dfe6c6ea9
commit 5773eeb6df
2 changed files with 10 additions and 24 deletions

View File

@ -155,25 +155,11 @@ exports.basicAuth = async function (req, res, next) {
* @param {express.NextFunction} next Next handler in chain * @param {express.NextFunction} next Next handler in chain
* @returns {void} * @returns {void}
*/ */
exports.apiAuth = async function (req, res, next) { exports.basicAuthMiddleware = async function (req, res, next) {
if (!await Settings.get("disableAuth")) { let middleware = basicAuth({
let usingAPIKeys = await Settings.get("apiKeysEnabled"); authorizer: apiAuthorizer,
let middleware; authorizeAsync: true,
if (usingAPIKeys) { challenge: true,
middleware = basicAuth({ });
authorizer: apiAuthorizer, middleware(req, res, next);
authorizeAsync: true,
challenge: true,
});
} else {
middleware = basicAuth({
authorizer: userAuthorizer,
authorizeAsync: true,
challenge: true,
});
}
middleware(req, res, next);
} else {
next();
}
}; };

View File

@ -97,7 +97,7 @@ log.debug("server", "Importing Background Jobs");
const { initBackgroundJobs, stopBackgroundJobs } = require("./jobs"); const { initBackgroundJobs, stopBackgroundJobs } = require("./jobs");
const { loginRateLimiter, twoFaRateLimiter } = require("./rate-limiter"); const { loginRateLimiter, twoFaRateLimiter } = require("./rate-limiter");
const { apiAuth } = require("./auth"); const { basicAuthMiddleware } = require("./auth");
const { login } = require("./auth"); const { login } = require("./auth");
const passwordHash = require("./password-hash"); const passwordHash = require("./password-hash");
@ -267,8 +267,8 @@ let needSetup = false;
// Basic Auth Router here // Basic Auth Router here
// Prometheus API metrics /metrics // Prometheus API metrics /metrics
// With Basic Auth using the first user's username/password // With Basic Auth using an API Key
app.get("/metrics", apiAuth, prometheusAPIMetrics()); app.get("/metrics", basicAuthMiddleware, prometheusAPIMetrics());
app.use("/", expressStaticGzip("dist", { app.use("/", expressStaticGzip("dist", {
enableBrotli: true, enableBrotli: true,