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.
É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.
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.
Voyons un exemple :
- Il y a une ressource API appelée
https://shopping.api/
. - La ressource API a deux scopes :
read
etwrite
. - Il y a deux rôles d'organisation :
admin
etuser
. - Le rôle
admin
a à la fois les scopesread
etwrite
; le rôleuser
n'a que le scoperead
. - Une utilisatrice Alice est assignée au rôle
admin
dans l'organisationfoo
et au rôleuser
dans l'organisationbar
.
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.
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
etclient_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.