Atualizações do produto Logto
🎉 Apresentando nosso lançamento de julho: Logto API SDK, Cofre de segredos para armazenamento federado de tokens, gerenciamento de TOTP e Códigos de Backup via Account API, e mais!
🎉 Apresentando nosso lançamento de julho: Logto API SDK, Cofre de segredos para armazenamento federado de tokens, gerenciamento de TOTP e Códigos de Backup via Account API, e mais!
Um SDK TypeScript para interagir com a Management API do Logto usando autenticação por credenciais de cliente.
Como funciona:
npm install @logto/apicreateManagementApi() para criar um cliente tipado da Management API com as credenciais do seu aplicativo.Destaques:
O cofre de segredos é uma solução de armazenamento seguro no Logto para gerenciar dados sensíveis dos usuários, incluindo tokens de acesso, chaves de API, códigos de acesso e outras informações confidenciais. Esses segredos geralmente são usados para acessar serviços de terceiros em nome dos usuários, tornando o armazenamento seguro algo crítico.
O armazenamento de tokens agora é suportado tanto para conectores de SSO social quanto empresariais. Quando habilitado, o Logto armazena o conjunto de tokens emitido pelo provedor de identidade após autenticação bem-sucedida. As aplicações podem então recuperar o token de acesso posteriormente—sem exigir que o usuário se autentique novamente—para chamar APIs de terceiros.
Conectores suportados:
Como funciona:
Para mais detalhes, consulte a documentação do cofre de segredos.
Agora os usuários podem adicionar TOTP e códigos de backup via Account API.
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 segredo TOTP ou código de backup usando 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. Isso permite solicitar permissões adicionais ao provedor social ao chamar o endpoint de verificação social do Logto. Se o scope for fornecido, ele será usado na requisição de autorização; caso contrário, o scope padrão configurado nas configurações do conector será utilizado.Restrição de chave estrangeira sensível ao tenant para a tabela organization_user_relations
Problema
Desenvolvedores podiam atribuir erroneamente um user_id de outro tenant a uma organização, causando erros 500 nos endpoints da API de usuário da organização. A tabela original organization_user_relations tinha apenas uma restrição de chave estrangeira em users (id), permitindo que qualquer ID de usuário existente fosse atribuído independentemente do isolamento do tenant.
Causa Raiz
O Logto aplica Segurança em Nível de Linha (RLS) em todas as tabelas para isolar o acesso aos dados dos tenants. Ao unir a tabela de usuários com organization_user_relations, os dados reais do usuário tornam-se inacessíveis ao tenant atual devido às restrições de RLS, fazendo com que os dados do usuário retornem como nulos e desencadeiem erros 500 no servidor.
Solução
Uma restrição de chave estrangeira composta (tenant_id, user_id) referenciando users (tenant_id, id) foi adicionada para garantir que o ID do tenant da relação organização-usuário combine com o ID do tenant do usuário. Isso reforça o isolamento adequado de tenants no nível do banco de dados.