From 94dc5ad0e530ec3d4aa62e31caf6992b8f3755aa Mon Sep 17 00:00:00 2001 From: Mirek Szajowski Date: Mon, 20 Mar 2023 01:15:40 +0100 Subject: [PATCH] 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 7d8e1a63..133d4296 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 0500f59e..db21510b 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;