Saltar al contenido principal

Configuración

Variables de entorno

Uso

Logto maneja las variables de entorno en el siguiente orden:

  • Variables de entorno del sistema
  • El archivo .env en la raíz del proyecto, que cumple con el formato dotenv

Por lo tanto, las variables de entorno del sistema sobrescribirán los valores en .env.

Variables

precaución:

Si ejecutas Logto a través de npm start en la raíz del proyecto, NODE_ENV siempre será production.

En los valores predeterminados, protocol será http o https según tu configuración de HTTPS.

ClaveValor PredeterminadoTipoDescripción
NODE_ENVundefined'production' | 'test' | undefinedQué tipo de entorno en el que se ejecuta Logto.
PORT3001numberEl puerto local al que Logto escucha.
ADMIN_PORT3002numberEl puerto local al que escucha Logto Admin Console.
ADMIN_DISABLE_LOCALHOSTN/Astring | boolean | numberEstablécelo en 1 o true para deshabilitar el puerto para Admin Console. Con ADMIN_ENDPOINT sin establecer, deshabilitará completamente Admin Console.
DB_URLN/AstringEl Postgres DSN para la base de datos de Logto.
HTTPS_CERT_PATHundefinedstring | undefinedConsulta Habilitar HTTPS para más detalles.
HTTPS_KEY_PATHundefinedstring | undefinedÍdem.
TRUST_PROXY_HEADERfalsebooleanÍdem.
ENDPOINT'protocol://localhost:$PORT'stringPuedes especificar una URL con tu dominio personalizado para pruebas en línea o producción. Esto también afectará el valor del identificador del emisor de OIDC.
ADMIN_ENDPOINT'protocol://localhost:$ADMIN_PORT'stringPuedes especificar una URL con tu dominio personalizado para producción (Ej. ADMIN_ENDPOINT=https://admin.domain.com). Esto también afectará el valor de los URIs de redirección de Admin Console.
CASE_SENSITIVE_USERNAMEtruebooleanEspecifica si el nombre de usuario distingue entre mayúsculas y minúsculas. Ten cuidado al modificar este valor; los cambios no ajustarán automáticamente los datos existentes de la base de datos, requiriendo gestión manual.

Habilitar HTTPS

Usando Node

Node admite HTTPS de forma nativa. Proporciona AMBOS HTTPS_CERT_PATH y HTTPS_KEY_PATH para habilitar HTTPS a través de Node.

HTTPS_CERT_PATH implica la ruta a tu certificado HTTPS, mientras que HTTPS_KEY_PATH implica la ruta a tu clave HTTPS.

Usando un proxy HTTPS

Otra práctica común es tener un proxy HTTPS frente a Node (Ej. Nginx).

En este caso, probablemente querrás establecer TRUST_PROXY_HEADER en true, lo que indica si los campos de encabezado del proxy deben ser confiables. Logto pasará el valor a configuraciones de la aplicación Koa.

Consulta Confiar en proxies de descarga de TLS para saber cuándo configurar este campo.

Configuraciones de la base de datos

Gestionar demasiadas variables de entorno no es eficiente ni flexible, por lo que la mayoría de nuestras configuraciones generales se almacenan en la tabla de la base de datos logto_configs.

La tabla es un almacenamiento simple de clave-valor, y la clave es enumerable de la siguiente manera:

ClaveTipoDescripción
oidc.cookieKeysstring[]El arreglo de cadenas de las claves de firma de cookies.
oidc.privateKeysstring[]El arreglo de cadenas del contenido de la clave privada para la firma de JWT de OIDC.

Tipos de clave privada compatibles

  • EC (curvas P-256, secp256k1, P-384 y P-521)
  • RSA
  • OKP (subtipos Ed25519, Ed448, X25519, X448)