Atualizações de produto do Logto
🎉 Apresentamos a nossa versão de julho: SDK da API do Logto, Cofre Secreto para armazenamento federado de tokens, gestão de TOTP e Códigos de Backup via API de Conta e muito mais!
🎉 Apresentamos a nossa versão de julho: SDK da API do Logto, Cofre Secreto para armazenamento federado de tokens, gestão de TOTP e Códigos de Backup via API de Conta e muito mais!
Um SDK TypeScript para interagir com a API de Gestão do Logto utilizando autenticação por credenciais de cliente.
Como funciona:
npm install @logto/apicreateManagementApi() para criar um cliente tipado da API de Gestão com as credenciais da tua aplicação.Destaques:
O Cofre Secreto é uma solução de armazenamento seguro no Logto para gestão de dados sensíveis de utilizadores, incluindo tokens de acesso, chaves de API, códigos de acesso e outras informações confidenciais. Estes segredos são normalmente usados para aceder a serviços terceiros em nome dos utilizadores, tornando o armazenamento seguro crítico.
O armazenamento de tokens está agora suportado para conectores SSO sociais e empresariais. Quando ativado, o Logto armazena o conjunto de tokens emitido pelo fornecedor de identidade após autenticação bem-sucedida. As aplicações podem então recuperar o token de acesso mais tarde — sem precisar que o utilizador volte a autenticar-se — para chamar APIs de terceiros.
Conectores suportados:
Como funciona:
Para mais detalhes, consulta a documentação do Cofre Secreto.
Os utilizadores podem agora adicionar TOTP e códigos de backup via API de Conta.
POST /api/my-account/mfa-verifications/totp-secret/generate: Gera um segredo TOTP.POST /api/my-account/mfa-verifications/backup-codes/generate: Gera códigos de backup.POST /api/my-account/mfa-verifications: Adiciona um TOTP ou código de backup utilizando o segredo ou códigos gerados.GET /api/my-account/mfa-verifications/backup-codes: Recupera códigos de backup.scope personalizado ao gerar a URL de autorização para conectores sociais. Isto permite-te pedir permissões adicionais ao fornecedor social ao chamar o endpoint de verificação social do Logto. Se o scope for fornecido, será utilizado no pedido de autorização; caso contrário, será utilizado o scope padrão configurado nas definições do conector.Restrição de chave estrangeira sensível ao tenant para a tabela organization_user_relations
Problema
Os programadores podiam, por engano, atribuir um user_id de outro tenant a uma organização, causando erros 500 nos endpoints da API de utilizadores de organizações. A tabela original organization_user_relations só tinha uma restrição de chave estrangeira em users (id), permitindo que qualquer ID de utilizador existente fosse atribuído, independentemente do isolamento do tenant.
Causa raiz
O Logto aplica Security Row Level (RLS) em todas as tabelas para isolar o acesso dos dados por tenant. Ao juntar a tabela de utilizadores com organization_user_relations, os dados reais do utilizador tornam-se inacessíveis ao tenant atual devido a restrições do RLS, levando os dados do utilizador a devolver null e desencadeando erros 500 no servidor.
Solução
Foi adicionada uma restrição de chave estrangeira composta (tenant_id, user_id) referenciando users (tenant_id, id) para garantir que o ID do tenant da relação organização-utilizador corresponde ao ID do tenant do utilizador. Isto garante o correto isolamento do tenant ao nível da base de dados.