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
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.
Key | Standardwert | Typ | Beschreibung |
---|---|---|---|
NODE_ENV | undefined | 'production' | 'test' | undefined | In welcher Art von Umgebung Logto ausgeführt wird. |
PORT | 3001 | number | Der lokale Port, auf dem Logto lauscht. |
ADMIN_PORT | 3002 | number | Der lokale Port, auf dem die Logto Admin-Konsole lauscht. |
ADMIN_DISABLE_LOCALHOST | N/A | string | boolean | number | Setze 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_URL | N/A | string | Die Postgres DSN für die Logto-Datenbank. |
HTTPS_CERT_PATH | undefined | string | undefined | Siehe HTTPS aktivieren für Details. |
HTTPS_KEY_PATH | undefined | string | undefined | Siehe oben. |
TRUST_PROXY_HEADER | false | boolean | Siehe oben. |
ENDPOINT | 'protocol://localhost:$PORT' | string | Du 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' | string | Du 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_USERNAME | true | boolean | Gibt 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_KEK | undefined | string | Der 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:
Key | Typ | Beschreibung |
---|---|---|
oidc.cookieKeys | string[] | Das String-Array der signierenden Cookie-Schlüssel. |
oidc.privateKeys | string[] | 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)