From 44c8ca9da8f6ce77ff0525d863cdb185b37f6b48 Mon Sep 17 00:00:00 2001 From: LouisLam Date: Tue, 3 Aug 2021 00:08:46 +0800 Subject: [PATCH] requires empty username/password if set disableAuth for basic auth --- server/auth.js | 15 +++++++++++++-- server/util-server.js | 5 ++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/server/auth.js b/server/auth.js index 54182bde..35d2a080 100644 --- a/server/auth.js +++ b/server/auth.js @@ -1,6 +1,8 @@ const basicAuth = require("express-basic-auth") const passwordHash = require("./password-hash"); const { R } = require("redbean-node"); +const { setting } = require("./util-server"); +const { debug } = require("../src/util"); /** * @@ -28,9 +30,18 @@ exports.login = async function (username, password) { } function myAuthorizer(username, password, callback) { - exports.login(username, password).then((user) => { - callback(null, user != null) + + setting("disableAuth").then((result) => { + + if (result) { + callback(null, true) + } else { + exports.login(username, password).then((user) => { + callback(null, user != null) + }) + } }) + } exports.basicAuth = basicAuth({ diff --git a/server/util-server.js b/server/util-server.js index c329d0ab..1411a3f6 100644 --- a/server/util-server.js +++ b/server/util-server.js @@ -1,6 +1,7 @@ const tcpp = require("tcp-ping"); const Ping = require("./ping-lite"); const { R } = require("redbean-node"); +const { debug } = require("../src/util"); exports.tcping = function (hostname, port) { return new Promise((resolve, reject) => { @@ -45,7 +46,9 @@ exports.setting = async function (key) { ]); try { - return JSON.parse(value); + const v = JSON.parse(value); + debug(`Get Setting: ${key}: ${v}`) + return v; } catch (e) { return value; }