Aller au contenu principal

Configuration

Variables d'environnement

Utilisation

Logto gère les variables d'environnement dans l'ordre suivant :

  • Variables d'environnement système
  • Le fichier .env à la racine du projet, qui est conforme au format dotenv

Ainsi, les variables d'environnement système remplaceront les valeurs dans .env.

Variables

attention

Si vous exécutez Logto via npm start à la racine du projet, NODE_ENV sera toujours production.

Dans les valeurs par défaut, protocol sera soit http soit https selon votre configuration HTTPS.

KeyValeur par défautTypeDescription
NODE_ENVundefined'production' | 'test' | undefinedQuel type d'environnement dans lequel Logto fonctionne.
PORT3001numberLe port local auquel Logto écoute.
ADMIN_PORT3002numberLe port local auquel la console d'administration de Logto écoute.
ADMIN_DISABLE_LOCALHOSTN/Astring | boolean | numberDéfinissez-le sur 1 ou true pour désactiver le port pour la console d'administration. Avec ADMIN_ENDPOINT non défini, cela désactivera complètement la console d'administration.
DB_URLN/AstringLe Postgres DSN pour la base de données Logto.
HTTPS_CERT_PATHundefinedstring | undefinedVoir Activation de HTTPS pour plus de détails.
HTTPS_KEY_PATHundefinedstring | undefinedIdem.
TRUST_PROXY_HEADERfalsebooleanIdem.
ENDPOINT'protocol://localhost:$PORT'stringVous pouvez spécifier une URL avec votre domaine personnalisé pour les tests en ligne ou la production. Cela affectera également la valeur de l' identifiant de l' Émetteur (OIDC) .
ADMIN_ENDPOINT'protocol://localhost:$ADMIN_PORT'stringVous pouvez spécifier une URL avec votre domaine personnalisé pour la production (par exemple ADMIN_ENDPOINT=https://admin.domain.com). Cela affectera également la valeur des URI de redirection de la console d'administration.
CASE_SENSITIVE_USERNAMEtruebooleanSpécifie si le nom d'utilisateur est sensible à la casse. Faites preuve de prudence lors de la modification de cette valeur ; les modifications n'ajusteront pas automatiquement les données existantes de la base de données, nécessitant une gestion manuelle.

Activation de HTTPS

Utilisation de Node

Node prend en charge nativement HTTPS. Fournissez BOTH HTTPS_CERT_PATH et HTTPS_KEY_PATH pour activer HTTPS via Node.

HTTPS_CERT_PATH implique le chemin vers votre certificat HTTPS, tandis que HTTPS_KEY_PATH implique le chemin vers votre clé HTTPS.

Utilisation d'un proxy HTTPS

Une autre pratique courante consiste à avoir un proxy HTTPS devant Node (par exemple Nginx).

Dans ce cas, vous voudrez probablement définir TRUST_PROXY_HEADER sur true, ce qui indique si les champs d'en-tête de proxy doivent être approuvés. Logto passera la valeur aux paramètres de l'application Koa.

Voir Trusting TLS offloading proxies pour savoir quand configurer ce champ.

Configurations de la base de données

Gérer trop de variables d'environnement n'est pas efficace et flexible, donc la plupart de nos configurations générales sont stockées dans la table de base de données logto_configs.

La table est un simple stockage clé-valeur, et la clé est énumérable comme suit :

KeyTypeDescription
oidc.cookieKeysstring[]Le tableau de chaînes des clés de signature de cookie.
oidc.privateKeysstring[]Le tableau de chaînes du contenu de la clé privée pour la signature de Jeton d’identifiant (OIDC) .

Types de clés privées pris en charge

  • EC (courbes P-256, secp256k1, P-384 et P-521)
  • RSA
  • OKP (sous-types Ed25519, Ed448, X25519, X448)