Mises à jour du produit Logto
🎉 Présentation de notre version de juillet : SDK Logto API, Coffre-fort secret pour le stockage fédéré de jetons, gestion du TOTP et des codes de secours via l'API de compte, et plus encore !
🎉 Présentation de notre version de juillet : SDK Logto API, Coffre-fort secret pour le stockage fédéré de jetons, gestion du TOTP et des codes de secours via l'API de compte, et plus encore !
Un SDK TypeScript pour interagir avec l'API de gestion de Logto en utilisant l'authentification par identifiants client.
Comment ça marche :
npm install @logto/apicreateManagementApi() pour créer un client API de gestion typé avec les identifiants de ton application.Points forts :
Le coffre-fort secret est une solution de stockage sécurisé dans Logto pour gérer les données sensibles des utilisateurs, y compris les jetons d'accès, les clés API, les mots de passe à usage unique et autres informations confidentielles. Ces secrets sont généralement utilisés pour accéder à des services tiers au nom des utilisateurs, ce qui rend le stockage sécurisé essentiel.
Le stockage des jetons est désormais pris en charge aussi bien pour les connecteurs SSO sociaux qu'entreprises. Lorsqu'il est activé, Logto stocke l'ensemble des jetons délivrés par le fournisseur d'identités après une authentification réussie. Les applications peuvent ensuite récupérer le jeton d'accès ultérieurement—sans nécessiter la ré-authentification de l'utilisateur—pour appeler des API tierces.
Connecteurs pris en charge :
Fonctionnement :
Pour plus de détails, consulte la documentation du coffre-fort secret.
Les utilisateurs peuvent désormais ajouter un TOTP et des codes de secours via l'API de compte.
POST /api/my-account/mfa-verifications/totp-secret/generate : Génère un secret TOTP.POST /api/my-account/mfa-verifications/backup-codes/generate : Génère des codes de secours.POST /api/my-account/mfa-verifications : Ajoute un TOTP ou un code de secours en utilisant le secret ou les codes générés.GET /api/my-account/mfa-verifications/backup-codes : Récupère les codes de secours.scope lors de la génération de l'URL d'autorisation pour les connecteurs sociaux. Cela te permet de demander des permissions supplémentaires auprès du fournisseur social lors de l'appel au point de terminaison de vérification sociale de Logto. Si un scope est fourni, il sera utilisé dans la requête d'autorisation ; sinon, le scope par défaut configuré dans les paramètres du connecteur sera utilisé.Contrainte de clé étrangère tenant-aware pour la table organization_user_relations
Problème
Les développeurs pouvaient par erreur attribuer un user_id d'un autre tenant à une organisation, provoquant des erreurs 500 sur les points de terminaison d'API utilisateur d'organisation. La table organization_user_relations d'origine ne contenait qu'une contrainte de clé étrangère sur users (id), ce qui permettait d'assigner n'importe quel ID utilisateur existant, indépendamment de l'isolement du tenant.
Cause racine
Logto applique la sécurité au niveau de la ligne (RLS) sur toutes les tables pour isoler les accès aux données des tenants. Lors de la jointure de la table utilisateurs avec organization_user_relations, les données utilisateur réelles deviennent inaccessibles pour le tenant actuel en raison des restrictions RLS, ce qui entraîne un retour de données null et déclenche des erreurs serveur 500.
Solution
Une contrainte de clé étrangère composite (tenant_id, user_id) référencée sur users (tenant_id, id) a été ajoutée pour garantir que l'ID tenant de la relation organisation-utilisateur corresponde à celui de l'utilisateur. Cela assure un isolement correct des tenants au niveau de la base de données.