Zum Hauptinhalt springen

Konfiguration

Umgebungsvariablen

Verwendung

Logto verarbeitet Umgebungsvariablen in folgender Reihenfolge:

  • System-Umgebungsvariablen
  • Die .env-Datei im Projektstamm, die dem dotenv-Format entspricht

Somit überschreiben die System-Umgebungsvariablen die Werte in .env.

Variablen

vorsicht:

Wenn du Logto über npm start im Projektstamm ausführst, ist NODE_ENV immer production.

Bei den Standardwerten ist protocol entweder http oder https entsprechend deiner HTTPS-Konfiguration.

KeyStandardwertTypBeschreibung
NODE_ENVundefined'production' | 'test' | undefinedIn welcher Art von Umgebung Logto ausgeführt wird.
PORT3001numberDer lokale Port, auf dem Logto lauscht.
ADMIN_PORT3002numberDer lokale Port, auf dem die Logto Admin-Konsole lauscht.
ADMIN_DISABLE_LOCALHOSTN/Astring | boolean | numberSetze diesen Wert auf 1 oder true, um den Port für die Admin-Konsole zu deaktivieren. Wenn ADMIN_ENDPOINT nicht gesetzt ist, wird die Admin-Konsole vollständig deaktiviert.
DB_URLN/AstringDie Postgres DSN für die Logto-Datenbank.
HTTPS_CERT_PATHundefinedstring | undefinedSiehe HTTPS aktivieren für Details.
HTTPS_KEY_PATHundefinedstring | undefinedSiehe oben.
TRUST_PROXY_HEADERfalsebooleanSiehe oben.
ENDPOINT'protocol://localhost:$PORT'stringDu kannst eine URL mit deiner eigenen Domain für Online-Tests oder Produktion angeben. Dies beeinflusst auch den Wert des OIDC Aussteller-Identifiers.
ADMIN_ENDPOINT'protocol://localhost:$ADMIN_PORT'stringDu kannst eine URL mit deiner eigenen Domain für die Produktion angeben (z. B. ADMIN_ENDPOINT=https://admin.domain.com). Dies beeinflusst auch die Werte der Redirect-URIs der Admin-Konsole.
CASE_SENSITIVE_USERNAMEtruebooleanGibt an, ob der Benutzername Groß- / Kleinschreibung beachtet. Sei vorsichtig beim Ändern dieses Wertes; Änderungen passen bestehende Daten in der Datenbank nicht automatisch an und erfordern manuelle Verwaltung.
SECRET_VAULT_KEKundefinedstringDer Key Encryption Key (KEK), der zum Verschlüsseln von Data Encryption Keys (DEK) im Secret Vault verwendet wird. Erforderlich, damit der Secret Vault ordnungsgemäß funktioniert. Muss ein base64-codierter String sein. AES-256 (32 Bytes) wird empfohlen. Beispiel: crypto.randomBytes(32).toString('base64')

HTTPS aktivieren

Verwendung von Node

Node unterstützt HTTPS nativ. Gib SOWOHL HTTPS_CERT_PATH als auch HTTPS_KEY_PATH an, um HTTPS über Node zu aktivieren.

HTTPS_CERT_PATH gibt den Pfad zu deinem HTTPS-Zertifikat an, während HTTPS_KEY_PATH den Pfad zu deinem HTTPS-Schlüssel angibt.

Verwendung eines HTTPS-Proxys

Eine weitere gängige Praxis ist es, einen HTTPS-Proxy vor Node zu schalten (z. B. Nginx).

In diesem Fall möchtest du wahrscheinlich TRUST_PROXY_HEADER auf true setzen, was angibt, ob Proxy-Header-Felder vertraut werden sollen. Logto gibt den Wert an die Koa-App-Einstellungen weiter.

Siehe Trusting TLS offloading proxies, um zu erfahren, wann dieses Feld konfiguriert werden sollte.

Datenbank-Konfigurationen

Zu viele Umgebungsvariablen zu verwalten ist weder effizient noch flexibel, daher werden die meisten allgemeinen Konfigurationen in der Datenbanktabelle logto_configs gespeichert.

Die Tabelle ist eine einfache Key-Value-Speicherung, und der Schlüssel ist wie folgt aufzählbar:

KeyTypBeschreibung
oidc.cookieKeysstring[]Das String-Array der signierenden Cookie-Schlüssel.
oidc.privateKeysstring[]Das String-Array des privaten Schlüssel-Inhalts für OIDC JWT-Signierung.

Unterstützte private Schlüsseltypen

  • EC (P-256, secp256k1, P-384 und P-521 Kurven)
  • RSA
  • OKP (Ed25519, Ed448, X25519, X448 Subtypen)