Zum Inhalt springen

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 600 empfohlen — 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.