Web-UI HTTP Basic Auth
Wenn webServerHost auf etwas anderes als Loopback gesetzt ist (z. B. 0.0.0.0), ist die Web-UI für jeden im Netzwerk erreichbar. Damit deine Memories nicht im LAN liegen, den Webserver über HTTP Basic Auth in derselben Config-Datei wie alles andere absichern:
{ "webServerHost": "0.0.0.0", // optional: UI aus dem LAN erreichen "webServerAuthPassword": "pick-a-strong-one", "webServerAuthUsername": "admin", // optional, Standard ist der aktuelle OS-User}| Feld | Standard | Wirkung |
|---|---|---|
webServerAuthPassword |
(leer) | Wenn gesetzt, verlangt der Server bei jedem Request HTTP-Basic-Auth-Credentials. Leer lassen für das standardmäßig offene Verhalten. |
webServerAuthUsername |
OS-User ($USER) |
Vom Basic-Auth-Challenge geforderter Username. |
webServerAuthPassword akzeptiert dieselben Secret-Formate wie memoryApiKey:
- ein Literal-String (einfach, für persönliche Maschinen in Ordnung),
env://SOME_ENV_VAR, um den Wert beim Start aus der Umgebung zu lesen,file:///path/to/secret, um ihn aus einer Datei zu lesen (chmod 600empfohlen — das Plugin warnt, wenn die Datei world-readable ist).
Der Browser zeigt seinen nativen Basic-Auth-Dialog und merkt sich die Credentials für die aktuelle Sitzung; alle Browserfenster zu schließen verwirft sie, sodass beim erneuten Öffnen des Browsers wieder angemeldet werden muss. Credentials werden mit einem Constant-Time-Check verglichen, und die nicht authentifizierte 401-Antwort trägt Cache-Control: no-store, damit kein Zwischen-Cache sie wiedergibt. CORS wird auch gelockert, sobald Auth an ist, sodass andere Tools im selben LAN nach Authentifizierung mit der API sprechen können.