mirror of
https://github.com/karl0ss/homepage.git
synced 2025-04-29 12:03:41 +01:00
Enhancement: support ESPHome widget authentication (#3846)
* Added cookie support for auth on ESPHome widget * Lint * Use credentialedProxyHandler instead --------- Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
This commit is contained in:
parent
9ede44b12d
commit
2ee14eb94b
@ -16,4 +16,5 @@ To group both `offline` and `unknown` devices together, users should use the `of
|
|||||||
widget:
|
widget:
|
||||||
type: esphome
|
type: esphome
|
||||||
url: http://esphome.host.or.ip:port
|
url: http://esphome.host.or.ip:port
|
||||||
|
key: myesphomecookie # only if auth enabled, get the value from a request from the frontend e.g. `authenticated=myesphomecookie`
|
||||||
```
|
```
|
||||||
|
@ -84,6 +84,10 @@ export default async function credentialedProxyHandler(req, res, map) {
|
|||||||
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") {
|
||||||
|
if (widget.key) {
|
||||||
|
headers.Cookie = `authenticated=${widget.key}`;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
headers["X-API-Key"] = `${widget.key}`;
|
headers["X-API-Key"] = `${widget.key}`;
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
||||||
|
|
||||||
const widget = {
|
const widget = {
|
||||||
api: "{url}/ping",
|
api: "{url}/ping",
|
||||||
proxyHandler: genericProxyHandler,
|
proxyHandler: credentialedProxyHandler,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default widget;
|
export default widget;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user