• release

Mise à jour du produit Logto : état de la conformité, JWT personnalisé, ressources API pour les rôles d'organisation

Nous sommes ravis de partager les dernières mises à jour sur la conformité et les nouvelles fonctionnalités. Ce fut un mois productif pour l'équipe de Logto, alors assurez-vous d'avoir préparé votre café préféré avant de vous plonger dedans.

Gao
Gao
Founder

État de la conformité

Logto Cloud passe désormais tous les contrôles SOC 2 de la plateforme d'automatisation de la conformité. Nous avons programmé un audit SOC 2 Type I et nous travaillons vers un audit SOC 2 Type II.

JWT personnalisé

Les jetons d'accès JWT peuvent désormais être personnalisés avec des revendications supplémentaires en utilisant des extraits de code JavaScript personnalisés. Cette fonctionnalité est utile lorsque vous devez inclure des données personnalisées dans le jeton pour la compatibilité avec d'autres systèmes.

Pour utiliser cette fonctionnalité, accédez à l'onglet "JWT personnalisé" dans la Console. Les jetons utilisateur et machine-à-machine (M2M) peuvent tous deux être personnalisés.

Page de JWT personnalisé

Avant de déployer les modifications, vous pouvez utiliser le bouton "Exécuter le test" pour voir à quoi ressemblera le jeton avec les revendications personnalisées.

Voir 🎫 Revendications JWT personnalisées pour plus d'informations.

Ressources API pour les rôles d'organisation

Vous pouvez désormais attribuer des autorisations (scopes) des ressources API aux rôles d'organisation. Comme les autres autorisations dans le modèle d'organisation, ces autorisations sont au niveau de l'organisation, ce qui signifie qu'elles ne s'appliquent qu'à une organisation spécifique.

Attribuer des autorisations API à un rôle d'organisation

Voyons un exemple :

  • Il y a une ressource API appelée https://shopping.api/.
  • La ressource API a deux scopes : read et write.
  • Il y a deux rôles d'organisation : admin et user.
  • Le rôle admin a à la fois les scopes read et write ; le rôle user n'a que le scope read.
  • Une utilisatrice Alice est assignée au rôle admin dans l'organisation foo et au rôle user dans l'organisation bar.

Lorsque Alice tente d'échanger un jeton d'organisation pour la ressource https://shopping.api/, elle recevra un jeton avec des scopes basés sur l'organisation pour laquelle elle demande le jeton.

Pour l'organisation foo, Alice recevra un jeton avec les scopes read et write. Pour l'organisation bar, elle recevra un jeton avec seulement le scope read.

Voir 🏢 Organisations (Multi-tenancy) pour une introduction complète aux organisations.

Autorisations des applications tierces

Les ressources API organisationnelles peuvent également être utilisées lors de la configuration des autorisations pour les applications tierces. L'utilisateur sera invité à sélectionner une organisation lors de la configuration des autorisations pour une application tierce.

Page de consentement tierce

Données personnalisées d'organisation

Vous pouvez désormais enregistrer des données supplémentaires associées à l'organisation avec le champ customData au niveau de l'organisation en :

  • Éditant la page des détails de l'organisation dans la Console.
  • Spécifiant le champ customData lors de l'utilisation des APIs de gestion d'organisation.

Connecteurs

  • Ajout du connecteur Hugging Face.
  • Le connecteur GitHub inclut désormais user:email comme partie du scope par défaut pour récupérer la liste des adresses email privées du compte GitHub.
    • Il sélectionne désormais l'email principal vérifié parmi la liste des emails privés en tant que solution de repli si l'utilisateur n'a pas défini d'email public pour le compte GitHub.
  • Le signe plus devant le numéro de téléphone a été supprimé dans le connecteur feishu (#5801). Crédit @kamto7.

Améliorations

  • Ajout du support pour Redis Cluster et des options TLS supplémentaires pour les connexions Redis (#5619). Crédit @alekitto.
  • Les connecteurs OIDC et OAuth 2 supportent désormais les méthodes d'authentification client_secret_basic et client_secret_jwt pour le point de token.
  • Quand un utilisateur est supprimé ou suspendu via l'API de gestion, il sera déconnecté de Logto et ses sessions seront immédiatement invalidées.
  • Support du paramètre resource séparé par des virgules car certaines bibliothèques ne supportent pas le tableau de ressources.
  • Ajout d'une API pour récupérer les scopes d'organisation utilisateur basés sur les rôles d'organisation utilisateur (
    GET /api/organizations/:id/users/:userId/scopes
    ).
  • Ajout d'un guide d'intégration web pour Java Spring Boot.
  • Ajout des phrases zh-cn dans la page de consentement OIDC (#5606). Crédit @the-pawn-2017.

Corrections

  • Les APIs d'invitation à l'organisation doivent gérer les emails des invités de manière insensible à la casse.
  • L'API de gestion ne retournera pas 500 en production pour les codes d'état qui ne sont pas répertoriés dans la spécification OpenAPI.
  • Retourne 403 plutôt que 400 lorsque Logto tente d'accorder un jeton d'accès à un utilisateur ne disposant pas des autorisations nécessaires, en particulier lors de l'octroi pour les ressources liées à l'organisation.
  • Correction du mauvais rappel de connexion sociale qui poste au conteneur natif (par exemple, WKWebView dans iOS).
  • Correction du bug où l'événement de crochet de l'enregistrement de nouvel utilisateur via SSO ne se déclenchait pas.
  • Correction d'un bug où l'indicateur de ressource API ne fonctionnait pas si l'indicateur n'était pas suivi d'une barre oblique ou d'un chemin.