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;