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
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.
Key | Valor Padrão | Tipo | Descrição |
---|---|---|---|
NODE_ENV | undefined | 'production' | 'test' | undefined | Em que tipo de ambiente o Logto está sendo executado. |
PORT | 3001 | number | A porta local que o Logto escuta. |
ADMIN_PORT | 3002 | number | A porta local que o Logto Admin Console escuta. |
ADMIN_DISABLE_LOCALHOST | N/A | string | boolean | number | Defina 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_URL | N/A | string | O Postgres DSN para o banco de dados Logto. |
HTTPS_CERT_PATH | undefined | string | undefined | Veja Habilitando HTTPS para detalhes. |
HTTPS_KEY_PATH | undefined | string | undefined | Idem. |
TRUST_PROXY_HEADER | false | boolean | Idem. |
ENDPOINT | 'protocol://localhost:$PORT' | string | Você 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' | string | Você 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_USERNAME | true | boolean | Especifica 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:
Key | Tipo | Descrição |
---|---|---|
oidc.cookieKeys | string[] | O array de strings das chaves de assinatura de cookies. |
oidc.privateKeys | string[] | 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)