Add authentik

This commit is contained in:
Jason Fischer 2022-09-25 17:42:16 -07:00
parent d876ba30d4
commit 1840e9a57a
No known key found for this signature in database
6 changed files with 84 additions and 0 deletions

View file

@ -1,8 +1,11 @@
import getServiceWidget from "utils/service-helpers";
import { formatApiCall } from "utils/api-helpers";
import { httpProxy } from "utils/http";
import createLogger from "utils/logger";
import widgets from "widgets/widgets";
const logger = createLogger("credentialedProxyHandler");
export default async function credentialedProxyHandler(req, res) {
const { group, service, endpoint } = req.query;
@ -24,6 +27,8 @@ export default async function credentialedProxyHandler(req, res) {
headers["X-CMC_PRO_API_KEY"] = `${widget.key}`;
} else if (widget.type === "gotify") {
headers["X-gotify-Key"] = `${widget.key}`;
} else if (widget.type === "authentik") {
headers.Authorization = `Bearer ${widget.key}`;
} else {
headers["X-API-Key"] = `${widget.key}`;
}
@ -39,10 +44,15 @@ export default async function credentialedProxyHandler(req, res) {
return res.status(status).end();
}
if (status >= 400) {
logger.debug("HTTP Error %d calling %s//%s%s...", status, url.protocol, url.hostname, url.pathname);
}
if (contentType) res.setHeader("Content-Type", contentType);
return res.status(status).send(data);
}
}
logger.debug("Invalid or missing proxy service type '%s' in group '%s'", service, group);
return res.status(400).json({ error: "Invalid proxy service type" });
}