Konfiguration
Umgebungsvariablen
Verwendung
Logto verarbeitet Umgebungsvariablen in folgender Reihenfolge:
- Systemumgebungsvariablen
- Die
.env
-Datei im Projektstamm, die dem dotenv-Format entspricht
Daher werden die Systemumgebungsvariablen die Werte in .env
überschreiben.
Variablen
Wenn du Logto über npm start
im Projektstamm ausführst, wird NODE_ENV
immer production
sein.
In den Standardwerten wird protocol
entweder http
oder https
entsprechend deiner HTTPS-Konfiguration sein.
Schlüssel | Standardwert | Typ | Beschreibung |
---|---|---|---|
NODE_ENV | undefined | 'production' | 'test' | undefined | Welche Art von Umgebung, in der Logto läuft. |
PORT | 3001 | number | Der lokale Port, den Logto abhört. |
ADMIN_PORT | 3002 | number | Der lokale Port, den die Logto Admin-Konsole abhört. |
ADMIN_DISABLE_LOCALHOST | N/A | string | boolean | number | Setze es 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 | Der Postgres DSN für die Logto-Datenbank. |
HTTPS_CERT_PATH | undefined | string | undefined | Siehe Aktivierung von HTTPS für Details. |
HTTPS_KEY_PATH | undefined | string | undefined | Ebenso. |
TRUST_PROXY_HEADER | false | boolean | Ebenso. |
ENDPOINT | 'protocol://localhost:$PORT' | string | Du kannst eine URL mit deiner benutzerdefinierten Domain für Online-Tests oder Produktion angeben. Dies wird auch den Wert des OIDC-Ausstelleridentifikators beeinflussen. |
ADMIN_ENDPOINT | 'protocol://localhost:$ADMIN_PORT' | string | Du kannst eine URL mit deiner benutzerdefinierten Domain für die Produktion angeben (z. B. ADMIN_ENDPOINT=https://admin.domain.com ). Dies wird auch den Wert der Admin-Konsole-Umleitungs-URIs beeinflussen. |
CASE_SENSITIVE_USERNAME | true | boolean | Gibt an, ob der Benutzername groß-/kleinsensitiv ist. Sei vorsichtig beim Ändern dieses Wertes; Änderungen werden vorhandene Datenbanken nicht automatisch anpassen, was eine manuelle Verwaltung erfordert. |
Aktivierung von HTTPS
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 haben (z. B. Nginx).
In diesem Fall möchtest du wahrscheinlich TRUST_PROXY_HEADER
auf true
setzen, was angibt, ob Proxy-Header-Felder vertrauenswürdig sein sollen. Logto wird den Wert an die Koa-App-Einstellungen weitergeben.
Siehe Vertrauen in TLS-Offloading-Proxys für Informationen, wann dieses Feld konfiguriert werden sollte.
Datenbankkonfigurationen
Das Verwalten zu vieler Umgebungsvariablen ist nicht effizient und flexibel, daher werden die meisten unserer allgemeinen Konfigurationen in der Datenbanktabelle logto_configs
gespeichert.
Die Tabelle ist ein einfacher Schlüssel-Wert-Speicher, und der Schlüssel ist wie folgt aufzählbar:
Schlüssel | Typ | Beschreibung |
---|---|---|
oidc.cookieKeys | string[] | Das String-Array der Signatur-Cookie-Schlüssel. |
oidc.privateKeys | string[] | Das String-Array des privaten Schlüsselinhalts 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)