O Logto v1.41.0 traz controle de acesso ao nível de aplicativo, políticas de expiração de senha, grandes melhorias no Centro de Conta, regras configuráveis para nome de usuário e código de verificação, entrega de mensagens mais segura e uma rodada de reforço de protocolo/segurança.
SijieDeveloper
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.
O Logto v1.41.0 é uma versão focada em controle e segurança. Ela oferece maneiras mais precisas para as equipes decidirem quem pode acessar cada aplicativo, controles mais completos do ciclo de vida das senhas e um Centro de Conta muito mais capaz para os usuários finais. Também aprimora a entrega de códigos de verificação, regras para nomes de usuário, tratamento de SAML/OIDC, proteção contra repetição em MFA e caminhos de atualização para self-hosting. Veja o que há de novo.
Agora é possível restringir o acesso a um aplicativo diretamente pelo Logto. As regras de acesso podem ser configuradas para usuários específicos, papéis de usuário, organizações ou papéis da organização.
Quando um usuário não corresponde às regras configuradas, o Logto bloqueia o fluxo de acesso ou login ao aplicativo com uma página de acesso negado, ao invés de deixar o pedido seguir. Isso facilita o lançamento de aplicativos, acesso específico por cliente, proteção de ferramentas internas e acesso restrito por organização, sem precisar implementar toda a lógica de decisão no seu código de aplicação.
O Console agora suporta expiração de senha ao nível do tenant em Segurança > Política de Senha.
Os administradores podem ativar a expiração de senha, configurar por quantos dias uma senha permanece válida e expirar manualmente a senha de um usuário específico na página de detalhes do usuário. Quando uma senha expira, o usuário deve redefini-la pelo método de recuperação configurado antes de conseguir fazer login por senha novamente.
Logins por SSO e passkey não são afetados. Usuários existentes sem um timestamp registrado da alteração de senha são tratados de maneira adequada: o Logto os ancora no momento da ativação da política, para que tenham o período total de validade ao invés de expirar imediatamente.
Centro de Conta com mais controles de autoatendimento#
O Centro de Conta continua crescendo como uma superfície de identidade totalmente autoatendente para usuários finais.
Esta versão adiciona gerenciamento de sessão, revisão de aplicativos conectados de terceiros, gerenciamento de perfil, upload de avatar, upload de avatar durante o cadastro de perfil, controles independentes de passkey e uma preferência visível ao usuário para prompts de login por passkey.
A página de perfil do Centro de Conta, campos personalizados de perfil no cadastro e os endpoints de upload de avatar também foram liberados dos feature gates de desenvolvimento.
Algumas correções importantes também chegaram aqui:
Tema, plataforma e cor da marca são aplicados antes da hidratação para reduzir o flash visual.
A verificação de step-up é limitada aos registros de verificação de permissão de usuário.
Identidades sociais podem ser vinculadas sem verificação de senha, e-mail ou telefone quando o usuário não tem métodos antigos de verificação de segurança.
A edição de nome de usuário no Console agora redireciona para o Centro de Conta para completar a verificação necessária.
Políticas de nome de usuário e código de verificação#
As regras de nome de usuário por tenant agora são configuráveis em Console > Experiência de login > Cadastro e login > Opções avançadas.
A política cobre sensibilidade a maiúsculas/minúsculas, limites de comprimento e tipos de caracteres permitidos. Ela é aplicada em todas as gravações de nome de usuário do usuário final, incluindo cadastro, preenchimento de perfil, Centro de Conta, API de Conta e /me.
A troca para nomes de usuário case-insensitive é protegida: o Logto checa nomes de usuário existentes que diferem apenas por caixa e bloqueia a alteração da política até que os conflitos sejam resolvidos. O claim OIDC preferred_username agora também usa o username do usuário quando o profile.preferredUsername não está definido.
Os controles de código de verificação também foram movidos para as configurações de segurança do Console. Os administradores podem configurar a duração de expiração do código de verificação e o número máximo de tentativas.
O Logto agora aplica um limite de taxa por destinatário a nível de sistema para envio de e-mails/SMS de verificação e convites, incluindo Experience, MFA, API de Conta, API de Gerenciamento, /me, convites da organização e a API de interação legada.
Quando um envio é limitado, o Logto emite um webhook Message.RateLimited, que agora pode ser selecionado nas configurações de webhook do Console.
O envio de códigos de verificação para destinatários desconhecidos também é suprimido quando o cadastro está desativado, reduzindo o risco de enumeração de contas.
Para tokens de recurso de API de organização, o personalizador de access token JWT agora recebe o context.organization com o id, name, description e customData da organização destino.
Isso facilita adicionar claims específicos de cada organização sem precisar embutir todos os mapeamentos em cada token.
Algumas melhorias de API também chegaram:
POST /api/applications/:applicationId/roles agora é idempotente. IDs de papéis existentes são ignorados ao invés de retornar 422 application.role_exists.
O endpoint agora retorna 201 com { roleIds, addedRoleIds }, correspondendo ao formato da API de atribuição de papéis ao usuário.
A criação de papéis de organização com escopos iniciais agora é transacional, então IDs de escopos inválidos não deixam papéis parcialmente criados.
Payloads de log de auditoria removem bytes nulos antes da inserção.
Verificações de lista de bloqueio de subendereçamento de e-mail não constroem mais expressões regulares a partir de dados controlados pelo usuário.
O Logto Tunnel impede pedidos de arquivos estáticos de lerem fora do caminho configurado para experiência.
Também foram incluídas correções de compatibilidade e armazenamento: o Safari antigo e iOS 15 não travam mais ao iniciar devido a sintaxe lookbehind regex não suportada, conectores OIDC Enterprise podem buscar configuration discovery de provedores que rejeitam negociação apenas JSON, e falhas no transporte de ativos de UI customizados do Azure Blob agora mapeiam para erros de download de armazenamento com retry.
Uma migração de banco de dados é necessária para a v1.41.0. Esta versão traz alterações de esquema para expiração de senha, política de nome de usuário, política de código de verificação, índices sentinela de taxa de mensagem, padrões do Centro de Conta e índices de logs de serviço.
Após atualizar, execute o comando de alteração do banco de dados antes de iniciar a nova versão. Veja o guia de atualização para detalhes.
A variável de ambiente CASE_SENSITIVE_USERNAME agora está obsoleta. Ainda funciona como sobrescrição em tempo de execução, mas a sensibilidade de caixa no nome de usuário deve ser configurada por tenant através da nova política de nome de usuário. A variável deve ser removida na próxima versão principal.