From 94dc5ad0e530ec3d4aa62e31caf6992b8f3755aa Mon Sep 17 00:00:00 2001 From: Mirek Szajowski Date: Mon, 20 Mar 2023 01:15:40 +0100 Subject: [PATCH 1/2] Add support of NC-Token to Nextcloud widget --- src/utils/proxy/handlers/credentialed.js | 8 ++++++++ src/widgets/nextcloud/widget.js | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/utils/proxy/handlers/credentialed.js b/src/utils/proxy/handlers/credentialed.js index 7d8e1a634..133d42966 100644 --- a/src/utils/proxy/handlers/credentialed.js +++ b/src/utils/proxy/handlers/credentialed.js @@ -48,6 +48,14 @@ export default async function credentialedProxyHandler(req, res, map) { headers.Authorization = `Token ${widget.key}`; } else if (widget.type === "miniflux") { headers["X-Auth-Token"] = `${widget.key}`; + } else if (widget.type === "nextcloud") { + if ('key' in widget) { + logger.debug("Setting nextcloud to use NC-Token"); + headers["NC-Token"] = `${widget.key}`; + } else { + logger.debug("Setting nextcloud to use username", widget.username); + headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`; + } } else { headers["X-API-Key"] = `${widget.key}`; } diff --git a/src/widgets/nextcloud/widget.js b/src/widgets/nextcloud/widget.js index 0500f59e6..db21510b9 100755 --- a/src/widgets/nextcloud/widget.js +++ b/src/widgets/nextcloud/widget.js @@ -1,8 +1,8 @@ -import genericProxyHandler from "utils/proxy/handlers/generic"; +import credentialedProxyHandler from "utils/proxy/handlers/credentialed"; const widget = { api: "{url}/{endpoint}", - proxyHandler: genericProxyHandler, + proxyHandler: credentialedProxyHandler, mappings: { serverinfo: { @@ -11,4 +11,4 @@ const widget = { }, }; -export default widget; \ No newline at end of file +export default widget; From 7d8da29e577bfa5af3926e5de037912788cca030 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 19 Mar 2023 23:03:12 -0700 Subject: [PATCH 2/2] Update credentialed.js --- src/utils/proxy/handlers/credentialed.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/utils/proxy/handlers/credentialed.js b/src/utils/proxy/handlers/credentialed.js index 133d42966..56bbb1516 100644 --- a/src/utils/proxy/handlers/credentialed.js +++ b/src/utils/proxy/handlers/credentialed.js @@ -49,11 +49,9 @@ export default async function credentialedProxyHandler(req, res, map) { } else if (widget.type === "miniflux") { headers["X-Auth-Token"] = `${widget.key}`; } else if (widget.type === "nextcloud") { - if ('key' in widget) { - logger.debug("Setting nextcloud to use NC-Token"); + if (widget.key) { headers["NC-Token"] = `${widget.key}`; } else { - logger.debug("Setting nextcloud to use username", widget.username); headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`; } } else {