Pular para o conteúdo principal

Configuração

Variáveis de ambiente

Uso

Logto lida com variáveis de ambiente na seguinte ordem:

  • Variáveis de ambiente do sistema
  • O arquivo .env na raiz do projeto, que está em conformidade com o formato dotenv

Assim, as variáveis de ambiente do sistema irão sobrescrever os valores em .env.

Variáveis

cuidado

Se você executar o Logto via npm start na raiz do projeto, NODE_ENV será sempre production.

Nos valores padrão, protocol será http ou https de acordo com sua configuração de HTTPS.

KeyValor PadrãoTipoDescrição
NODE_ENVundefined'production' | 'test' | undefinedEm que tipo de ambiente o Logto está sendo executado.
PORT3001numberA porta local que o Logto escuta.
ADMIN_PORT3002numberA porta local que o Logto Admin Console escuta.
ADMIN_DISABLE_LOCALHOSTN/Astring | boolean | numberDefina como 1 ou true para desabilitar a porta para o Admin Console. Com ADMIN_ENDPOINT não definido, ele desativará completamente o Admin Console.
DB_URLN/AstringO Postgres DSN para o banco de dados Logto.
HTTPS_CERT_PATHundefinedstring | undefinedVeja Habilitando HTTPS para detalhes.
HTTPS_KEY_PATHundefinedstring | undefinedIdem.
TRUST_PROXY_HEADERfalsebooleanIdem.
ENDPOINT'protocol://localhost:$PORT'stringVocê pode especificar uma URL com seu domínio personalizado para testes online ou produção. Isso também afetará o valor do identificador do emissor OIDC.
ADMIN_ENDPOINT'protocol://localhost:$ADMIN_PORT'stringVocê pode especificar uma URL com seu domínio personalizado para produção (Ex.: ADMIN_ENDPOINT=https://admin.domain.com). Isso também afetará o valor dos URIs de redirecionamento do Admin Console.
CASE_SENSITIVE_USERNAMEtruebooleanEspecifica se o nome de usuário é sensível a maiúsculas e minúsculas. Tenha cuidado ao modificar este valor; mudanças não ajustarão automaticamente os dados existentes no banco de dados, exigindo gerenciamento manual.

Habilitando HTTPS

Usando Node

Node suporta HTTPS nativamente. Forneça AMBOS HTTPS_CERT_PATH e HTTPS_KEY_PATH para habilitar HTTPS via Node.

HTTPS_CERT_PATH implica o caminho para o seu certificado HTTPS, enquanto HTTPS_KEY_PATH implica o caminho para a sua chave HTTPS.

Usando um proxy HTTPS

Outra prática comum é ter um proxy HTTPS na frente do Node (Ex.: Nginx).

Nesse caso, você provavelmente desejará definir TRUST_PROXY_HEADER como true, o que indica se os campos de cabeçalho do proxy devem ser confiáveis. Logto passará o valor para as configurações do aplicativo Koa.

Veja Confiando em proxies de descarregamento TLS para saber quando configurar este campo.

Configurações do banco de dados

Gerenciar muitas variáveis de ambiente não é eficiente e flexível, então a maioria de nossas configurações gerais são armazenadas na tabela do banco de dados logto_configs.

A tabela é um armazenamento simples de chave-valor, e a chave é enumerável como segue:

KeyTipoDescrição
oidc.cookieKeysstring[]O array de strings das chaves de assinatura de cookies.
oidc.privateKeysstring[]O array de strings do conteúdo da chave privada para assinatura de JWT OIDC.

Tipos de chave privada suportados

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