Mises à jour du produit Logto (août 2024)
Découvrez notre version d'août 2024 avec l'usurpation d'identité utilisateur, la gestion des secrets d'application, la personnalisation de l'expérience de connexion au niveau de l'organisation et de l'application, et bien plus encore.
Usurpation d'identité utilisateur (RFC 8693 : Échange de jetons OAuth 2.0)
Ajout du support pour l'usurpation d'identité utilisateur via l'échange de jetons :
- Nouveau point de terminaison de l'API de gestion
POST /subject-tokenspour demander unsubject_tokenà utiliser lors de l'échange de jetons. - Mise à jour du point de terminaison OIDC
POST /oidc/tokenavec un nouveau type de subventionurn:ietf:params:oauth:grant-type:token-exchangepour échanger unsubject_tokencontre unaccess_tokenusurpé par l'utilisateur.
Voir Usurpation d'identité utilisateur pour plus de détails.
custom_data au niveau de l'application
Ajout d'un nouveau champ d'objet arbitraire custom_data aux applications. Ce champ peut stocker toute information supplémentaire non définie dans le schéma standard d'Application.
Cliquez pour développer les mises à jour de l'API de gestion
- Nouveau point de terminaison
PATCH /api/applications/{applicationId}/custom-datapour mettre à jour le champcustom_datad'une application. - Mise à jour du point de terminaison
PATCH /api/applications/{applicationId}pour permettre l'écrasement du champcustom_data.
Cliquez pour développer les mises à jour de la console
Ajout d'un nouvel éditeur JSON de données personnalisées à la page de détails de l'application (à l'exception des applications protégées).
Gestion des multiples secrets d'application
Les applications sécurisées (machine-machine, web traditionnelles, protégées) peuvent désormais avoir plusieurs secrets d'application avec expiration. Cela permet la rotation des secrets et offre une expérience encore plus sécurisée.
Remarque : Le secret hérité créé avant cette fonctionnalité peut encore être utilisé pour l'authentification client. Cependant, il est recommandé de supprimer les anciens et de créer de nouveaux secrets avec expiration pour une sécurité améliorée.
Cliquez pour développer les mises à jour de l'API de gestion
GET /api/applications/{applicationId}/secrets: Listez tous les secrets d'une application.POST /api/applications/{applicationId}/secrets: Créez un nouveau secret pour une application.DELETE /api/applications/{applicationId}/secrets/{name}: Supprimez un secret d'une application par son nom.PATCH /api/applications/{applicationId}/secrets/{name}: Mettez à jour un secret d'une application par son nom.DELETE /api/applications/{applicationId}/legacy-secret: Supprimez le secret hérité d'une application et remplacez-le par un nouveau.
Cliquez pour développer les mises à jour de la console
Pour gérer vos secrets d'application, allez à Logto Console -> Applications -> Détails de l'application -> Endpoints & Credentials.
Le champ d'entrée du secret d'application en lecture seule a maintenant été remplacé par une nouvelle table de gestion des secrets. Vous pouvez créer, mettre à jour et supprimer des secrets dans cette table.
Personnalisation au niveau de l'organisation et de l'application
Logo de l'organisation
Il est maintenant possible de définir des logos clairs et sombres pour les organisations. Vous pouvez télécharger les logos dans la page des paramètres de l'organisation.
Il est également possible de remplacer le logo de l'expérience de connexion d'une organisation. Il suffit d'ajouter le paramètre organization_id à la demande d'authentification. Dans la plupart des SDK Logto, cela peut être fait en utilisant le champ extraParams dans la méthode signIn.
Par exemple, dans le SDK JavaScript :
La valeur <organization-id> peut être trouvée dans la page des paramètres de l'organisation.
Si vous ne trouvez pas le champ extraParams dans le SDK que vous utilisez, veuillez nous en informer.
Personnalisation au niveau de l'application
Vous pouvez désormais définir des logos, des favicons et des couleurs pour votre application. Ces paramètres seront utilisés dans l'expérience de connexion lorsque l'application initie le flux d'authentification. Pour les applications qui n'ont pas de paramètres de personnalisation, la personnalisation de l'expérience de connexion omni sera utilisée.
Si organization_id est fourni dans la demande d'authentification, les paramètres de personnalisation au niveau de l'application seront remplacés par les paramètres de personnalisation de l'organisation, si disponibles.
Améliorations des performances
Support de l'expérience de rendu côté serveur de l'application
Logto injecte maintenant les paramètres et les phrases de l'expérience de connexion dans le fichier index.html pour une meilleure performance du premier écran. L'application d'expérience récupérera toujours les paramètres et les phrases depuis le serveur si :
- Le serveur n'a pas injecté les paramètres et les phrases.
- Les paramètres dans l'URL sont différents des données rendues côté serveur.
Améliorations de la construction des packages
- Utilisez
tsuppour construire les packages de connecteurs. Cela rendra le processus de construction plus rapide, et ne devrait pas affecter la fonctionnalité des packages. - Utilisez
Vitepour la transpilation et le bundling des packages@logto/console,@logto/demo-appet@logto/experience. Suppression de ParcelJS et remplacement par Vite. Aucun changement majeur à prévoir.
Corrections de bugs
Correction du comportement de mise à jour jsonb du point de terminaison PATCH /api/applications/{applicationId}
Tous les champs jsonb de l'objet Application doivent être mis à jour en mode replace au lieu du mode merge. Ce changement rendra la méthode PATCH plus prévisible et cohérente avec la conception de l'API Restful.
- Mise à jour du mode de mise à jour de champ jsonb de
mergeàreplacedans le point de terminaisonPATCH /api/applications/{applicationId}. - Mise à jour de la validation des paramètres d'entrée des champs jsonb de l'API de
partielàcompletdans le point de terminaisonPATCH /api/applications/{applicationId}. - Champs affectés :
oidc_client_metadata,custom_client_metadata,protected_app_metadataetcustom_data.
Remarque : Si vous utilisez la console Logto pour mettre à jour les paramètres de l'
Application, vous ne devriez pas être affecté par ce changement. Les utilisateurs de l'API qui utilisent la méthodePATCHpour mettre à jour les paramètres de champ jsonb de l'Applicationdevraient être au courant de ce changement. La méthodePATCHremplacera maintenant tout le champ jsonb par les nouvelles données d'entrée. Toute donnée d'entrée partielle des champs affectés sera rejetée.
Correction de l'événement webhook où la charge utile renvoie toujours le statut de réponse API 404
Événements webhook affectés : Role.Scopes.Updated, Organizations.Membership.Updates.
Le code statut de la réponse API renvoyé par la charge utile de l'événement webhook était toujours de 404. Cela était dû à l'insertion de la charge utile de l'événement webhook avant que le contexte de réponse API ne soit défini.
Étant donné que nous ne déclenchons le webhook que lorsque l'événement est traité avec succès, le code statut devrait toujours être de 2xx.
Ce problème a été corrigé en déplaçant l'insertion de la charge utile de l'événement webhook après que le contexte de réponse API soit défini.
Autres améliorations
- Le favicon pour le thème sombre peut maintenant être défini dans les paramètres de personnalisation de l'expérience de connexion.
- Ajout de nouveaux algorithmes de hachage pour le mot de passe :
Argon2detArgon2id. Les utilisateurs avec ces algorithmes seront migrés versArgon2iaprès une connexion réussie. - La configuration de la liste des navigateurs pour
@logto/experiencea été synchronisée avec ce qui est indiqué dansREADME.md. - Amélioration de la description de l'authentification Swagger. Utiliser le schéma de sécurité OAuth2 natif d'OpenAPI au lieu du schéma de sécurité basé sur l'en-tête HTTP personnalisé.

