mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-07 21:59:50 +01:00
Refactor basic auth header generation
This commit is contained in:
@@ -8,6 +8,10 @@ import widgets from "widgets/widgets";
|
|||||||
|
|
||||||
const logger = createLogger("credentialedProxyHandler");
|
const logger = createLogger("credentialedProxyHandler");
|
||||||
|
|
||||||
|
function basicAuthHeader(widget) {
|
||||||
|
return `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
||||||
|
}
|
||||||
|
|
||||||
export default async function credentialedProxyHandler(req, res, map) {
|
export default async function credentialedProxyHandler(req, res, map) {
|
||||||
const { group, service, endpoint, index } = req.query;
|
const { group, service, endpoint, index } = req.query;
|
||||||
|
|
||||||
@@ -61,7 +65,7 @@ export default async function credentialedProxyHandler(req, res, map) {
|
|||||||
if (widget.key) {
|
if (widget.key) {
|
||||||
headers.Authorization = `Bearer ${widget.key}`;
|
headers.Authorization = `Bearer ${widget.key}`;
|
||||||
} else {
|
} else {
|
||||||
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
headers.Authorization = basicAuthHeader(widget);
|
||||||
}
|
}
|
||||||
} else if (widget.type === "proxmox") {
|
} else if (widget.type === "proxmox") {
|
||||||
headers.Authorization = `PVEAPIToken=${widget.username}=${widget.password}`;
|
headers.Authorization = `PVEAPIToken=${widget.username}=${widget.password}`;
|
||||||
@@ -78,31 +82,31 @@ export default async function credentialedProxyHandler(req, res, map) {
|
|||||||
if (widget.key) {
|
if (widget.key) {
|
||||||
headers["NC-Token"] = `${widget.key}`;
|
headers["NC-Token"] = `${widget.key}`;
|
||||||
} else {
|
} else {
|
||||||
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
headers.Authorization = basicAuthHeader(widget);
|
||||||
}
|
}
|
||||||
} else if (widget.type === "paperlessngx") {
|
} else if (widget.type === "paperlessngx") {
|
||||||
if (widget.key) {
|
if (widget.key) {
|
||||||
headers.Authorization = `Token ${widget.key}`;
|
headers.Authorization = `Token ${widget.key}`;
|
||||||
} else {
|
} else {
|
||||||
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
headers.Authorization = basicAuthHeader(widget);
|
||||||
}
|
}
|
||||||
} else if (widget.type === "azuredevops") {
|
} else if (widget.type === "azuredevops") {
|
||||||
headers.Authorization = `Basic ${Buffer.from(`$:${widget.key}`).toString("base64")}`;
|
headers.Authorization = `Basic ${Buffer.from(`$:${widget.key}`).toString("base64")}`;
|
||||||
} else if (widget.type === "glances") {
|
} else if (widget.type === "glances") {
|
||||||
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
headers.Authorization = basicAuthHeader(widget);
|
||||||
} else if (widget.type === "plantit") {
|
} else if (widget.type === "plantit") {
|
||||||
headers.Key = `${widget.key}`;
|
headers.Key = `${widget.key}`;
|
||||||
} else if (widget.type === "myspeed") {
|
} else if (widget.type === "myspeed") {
|
||||||
headers.Password = `${widget.password}`;
|
headers.Password = `${widget.password}`;
|
||||||
} else if (widget.type === "esphome") {
|
} else if (widget.type === "esphome") {
|
||||||
if (widget.username && widget.password) {
|
if (widget.username && widget.password) {
|
||||||
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
headers.Authorization = basicAuthHeader(widget);
|
||||||
} else if (widget.key) {
|
} else if (widget.key) {
|
||||||
headers.Cookie = `authenticated=${widget.key}`;
|
headers.Cookie = `authenticated=${widget.key}`;
|
||||||
}
|
}
|
||||||
} else if (widget.type === "wgeasy") {
|
} else if (widget.type === "wgeasy") {
|
||||||
if (widget.username && widget.password) {
|
if (widget.username && widget.password) {
|
||||||
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
headers.Authorization = basicAuthHeader(widget);
|
||||||
} else {
|
} else {
|
||||||
headers.Authorization = widget.password;
|
headers.Authorization = widget.password;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user