Migration de NextAuth.js v4 à Auth.js v5
Un guide pour migrer l'intégration Logto de NextAuth.js v4 à v5.
NextAuth.js version 5 est une réécriture majeure du package next-auth
, qui apporte des mises à jour importantes affectant diverses intégrations, y compris Logto. Ce guide vous guidera à travers le processus de migration de votre intégration Logto de NextAuth.js v4 à Auth.js v5.
Nous avons récemment mis à jour notre Guide de démarrage rapide pour NextAuth. Consultez-le !
Comprendre les changements
Auth.js v5
NextAuth.js v5 introduit plusieurs changements importants, la principale modification affectant la façon dont vous intégrez Logto à votre application est le changement concernant les "Fournisseurs OIDC/OAuth". Dans la documentation officielle, il est mentionné "Auth.js repose désormais sur @auth/core avec une conformité plus stricte aux spécifications OAuth/OIDC, ce qui pourrait casser certains fournisseurs OAuth existants", pour les utilisateurs de Logto, cela signifie que vous devez mettre à jour la configuration du fournisseur.
Pour plus d'informations sur les changements, vous pouvez vous référer au guide de migration officiel.
Configuration du fournisseur Logto
La configuration du fournisseur pour Logto a été mise à jour :
- Le type a été changé de
oauth
àoidc
. - Le point d'entrée
wellKnown
a été supprimé, et vous devez fournir le champissuer
à la place. - Pas besoin de spécifier l'algorithme de signature
id_token
, il prend désormais en chargeES384
et il sera automatiquement détecté.
Guide de migration étape par étape
Mettez à jour la configuration du fournisseur dans votre fichier pages/api/auth/[...nextauth].js
avec le nouveau modèle de configuration :
Étape 1 : Changer le type de fournisseur
Changez le type de fournisseur de oauth
à oidc
.
Étape 2 : Ajouter le champ de l'émetteur
Ajoutez le champ issuer
à la configuration du fournisseur. Vous pouvez obtenir la valeur de l'émetteur depuis la page Détails de l'application Logto, dans le champ "Point d'entrée de l'émetteur". Cela devrait ressembler à https://xxxx.logto.app/oidc
si vous utilisez le service cloud Logto.
Ensuite, vous pouvez supprimer le champ wellKnown
.
Étape 3 : Supprimer l'algorithme de signature id_token_signed_response_alg
Vous n'avez plus besoin de spécifier l'algorithme de signature id_token_signed_response_alg
dans la configuration du fournisseur. Il prend désormais en charge ES384
et il sera automatiquement détecté.
Mettre à jour le projet
Après avoir mis à jour la configuration du fournisseur, vous devez mettre à jour le package next-auth
à la version v5, suivez le guide de migration officiel pour mettre à jour le package et assurez-vous que votre application fonctionne comme prévu. Assurez-vous de vous référer également au Guide de démarrage rapide pour NextAuth.