Português (Brasil)
  • release

Atualizações do produto Logto

O Logto v1.40.0 traz um seletor de intervalo de tempo para logs de auditoria, payloads mais ricos para webhooks de membros de organizações, grandes ganhos de desempenho para organizações grandes e várias melhorias de qualidade de vida para auto-hospedagem.

Yijun
Yijun
Developer

Pare de perder semanas com autenticação de usuários
Lance aplicativos seguros mais rapidamente com o Logto. Integre a autenticação de usuários em minutos e concentre-se no seu produto principal.
Começar
Product screenshot

Logto v1.40.0 é uma versão que fortalece a plataforma. Torna logs de auditoria práticos em escala, mostra exatamente o que mudou nos webhooks de membros de organizações, acelera consultas de organizações em locatários grandes e remove alguns pontos de atrito antigos em implantações auto-hospedadas. Três novos conectores também foram lançados. Veja o que há de novo.

Logs de auditoria realmente utilizáveis por escopo

Logs de auditoria são mais úteis quando algo acabou de acontecer — mas até agora o Console buscava uma janela sem limites, o que ficava lento em locatários com grandes volumes de logs.

Esta versão adiciona um seletor de intervalo de tempo à página de logs de auditoria, com padrão para os últimos 7 dias. Você obtém janelas pré-definidas (Última 1 hora, Últimas 24 horas, Últimos 7 dias, Últimos 30 dias) e um intervalo de datas personalizado, e logs mais antigos permanecem acessíveis apenas ampliando a janela (#8810).

Por baixo dos panos, a Management API ganha os parâmetros de consulta start_time e end_time em GET /api/logs e GET /api/hooks/{id}/recent-logs (delimitações exclusivas em milissegundos unix), então você pode delimitar consultas de logs programaticamente também (#8806). Para os maiores locatários, um novo parâmetro enableCap=true interrompe a consulta de contagem em aproximadamente 10.000 linhas e retorna um cabeçalho Total-Number-Is-Capped: true, trocando o total exato por uma resposta que não atinge o statement_timeout; o Console recorre a um layout de Anterior/Próximo quando o limite é atingido (#8796, #8802). O comportamento padrão sem o parâmetro permanece inalterado.

Webhooks de membros de organizações agora indicam o que mudou

O webhook Organization.Membership.Updated antes informava que houve mudança na associação, mas não o que mudou. Agora, ele carrega campos delta explícitos — addedUserIds / removedUserIds e addedApplicationIds / removedApplicationIds — em todos os endpoints de associação, além de addedUserIds na aceitação de convite e provisionamento just-in-time (por domínio de e-mail e JIT SSO empresarial) (#8840).

Isso é totalmente aditivo e não-ruptivo: deltas vazias são omitidas, e cada array é limitado a 5000 entradas para operações em lote (faça a reconciliação via GET /organizations/:id/users ou .../applications quando exceder isso). Veja a referência do webhook para o contrato completo. Este trabalho substitui uma proposta anterior da comunidade — crédito para @chiche84 (#8752).

Enquanto trabalhávamos no código de sessões, GET /api/my-account/sessions também recebeu o flag isCurrent em cada entrada, para que UIs de gerenciamento de sessão possam marcar a linha "Este dispositivo" e evitar revogar a própria sessão do usuário (#8731).

Organizações que continuam rápidas à medida que crescem

Diversas mudanças se destinam a locatários com organizações muito grandes:

  • GET /organizations/:id/users agora agrega funções via uma subconsulta LATERAL, então o LIMIT filtra o conjunto de usuários antes das buscas por função — ao invés de materializar todo o join membros × funções em cada solicitação paginada (#8826).
  • Dois novos índices secundários aceleram buscas reversas: um em organization_user_relations (tenant_id, user_id), chamado em cada login e pelo middleware de associação (#8818), e outro em organization_role_user_relations (tenant_id, organization_id, user_id), chamado por getUserScopes e joins de função por usuário (#8819).
  • PUT /organizations/:id/users muda para uma nova consulta baseada no delta que escreve apenas as linhas realmente modificadas, em vez de reescrever toda linha de associação a cada chamada — e preserva atribuições de função para membros que permanecem após a atualização (#8820).

Correções no Account Center e no login

  • Termos ao fazer login para registro. Quando a política de acordo for "exigir aceitação por checkbox apenas no registro", logar com um email ou telefone não cadastrado e então escolher "criar uma nova conta" agora exibe o termo de acordo antes de criar a conta — coincidindo com os fluxos dedicados de registro e login social/SSO (#8835).
  • Configuração de senha inicial. Usuários sem senha, email ou telefone agora podem definir sua primeira senha pela Account API sem um registro de verificação (#8746).
  • Reautenticação silenciosa. Em caso de erro no user-info — por exemplo, um token de acesso expirado após trocar de usuário no mesmo navegador — o Account Center reautentica com prompt=none ao invés de redirecionar para a tela de login, graças a @taka-guevara (#8785).
  • Expiração de sessão mais limpa e callbacks sociais. Sessões expiradas no Account Center redirecionam sem exibir rapidamente o erro de login manual (#8830), o callback de vinculação social agora lê corretamente o connectorId (#8758), e o rótulo do toggle de verificação em 2 etapas está mais claro (#8792).
  • i18n. Corrigida a tradução para chinês de "Passkey" nas frases MFA, graças a @rotempasharel1 (#8870).

Novos conectores e melhorias

Esta versão adiciona três conectores e aprimora vários outros — vários deles provenientes da comunidade:

  • Conector de email MailJunky para emails transacionais de autenticação, contribuído por @devadarshh (#8638).
  • Conector de SMS SMSBao para verificação doméstica via SMS, contribuído por @wintbiit (#8871).
  • Conector Aliyun SMS authentication service, contribuído por @CertStone (#8385).
  • Aliyun Direct Mail agora oferece suporte para configurar a região do Direct Mail (#8892).
  • WeCom busca detalhes mais ricos de perfil de usuário via chamadas API adicionais, contribuído por @liyujun-dev (#8191).
  • SMTP auth agora pode omitir user e pass, de modo que relays autorizados por origem (por exemplo, IP/VLAN) funcionam sem forjar credenciais (#8888).
  • Connector Kit aprimorou a detecção de URL de marca de email para evitar falsos positivos em abreviações pontilhadas, graças a @aayushbaluni (#8747).

Para usuários auto-hospedados

Algumas mudanças suavizam especificamente as implantações OSS:

Configuração de admin sem acesso à internet. Os comandos install e db seed agora aceitam o parâmetro --dapc (alias --disable-admin-pwned-password-check). A política de senha inicial do locatário admin ativa o check de violação "Have I Been Pwned" por padrão, que consulta api.pwnedpasswords.com a cada submissão de senha de admin — e bloqueia o primeiro cadastro de admin quando esse endpoint está inacessível. Passar --dapc insere a política com a verificação de violação desabilitada, então o cadastro do admin não depende mais de acesso à rede. (Crédito @darcyYe, #8859)

Chaves de assinatura admin vindas do banco de dados. Deployments OSS agora leem as chaves de assinatura do locatário admin diretamente do banco de dados, removendo os mapeamentos extras de host/DNS que antes permitiam ao container Logto buscar sua própria configuração OIDC de locatário admin pelo endpoint externo configurado (#8869).

Migração obrigatória. v1.40.0 traz alterações no schema do banco de dados (os novos índices de organização-relacionamento e colunas internas adicionais). Após baixar a nova versão, execute a etapa de alteração do banco de dados antes de iniciar o servidor. Veja o guia de atualização.

Para começar

Pronto para atualizar? Confira nosso guia de atualização para instruções passo-a-passo.

Para a lista completa de mudanças, consulte a página de lançamentos no GitHub.

Ficou com dúvidas ou tem sugestões? Junte-se a nós no Discord ou abra uma issue no GitHub.