الهجرة من NextAuth.js v4 إلى Auth.js v5
دليل للهجرة من تكامل Logto من NextAuth.js v4 إلى v5.
دليل للهجرة من تكامل Logto من NextAuth.js v4 إلى v5.
الإصدار الخامس من NextAuth.js هو إعادة كتابة كبيرة لحزمة next-auth، والتي تجلب تحديثات مهمة تؤثر على العديد من التكاملات، بما في ذلك Logto. سيوجهك هذا الدليل خلال عملية ترحيل تكامل Logto الخاص بك من NextAuth.js v4 إلى Auth.js v5.
لقد قمنا مؤخرًا بتحديث دليل بدء التشغيل السريع لـ NextAuth. تحقق منه!
يقدم NextAuth.js v5 عدة تغييرات مهمة، التغيير الرئيسي الذي يؤثر على طريقة تكامل Logto مع تطبيقك هو التغيير في "موفري OIDC/OAuth". في الوثائق الرسمية، يقول "بُني Auth.js الآن على @auth/core مع امتثال أكثر صرامة لمواصفات OAuth/OIDC، مما قد يعطل بعض موفري OAuth الموجودين"، بالنسبة لمستخدمي Logto، يعني هذا أنك بحاجة إلى تحديث تكوين الموفّر.
للمزيد من المعلومات حول التغييرات، يمكنك الرجوع إلى دليل الهجرة الرسمي.
تم تحديث تكوين الموفّر لـ Logto:
oauth إلى oidc.wellKnown، وتحتاج إلى توفير حقل issuer بدلاً من ذلك.id_token، فهي تدعم ES384 الآن وسيتم اكتشافها تلقائيًا.قم بتحديث تكوين الموفّر في ملف /pages/api/auth/[...nextauth].js الخاص بك باستخدام قالب التكوين الجديد:
قم بتغيير نوع الموفّر من oauth إلى oidc.
أضف حقل issuer إلى تكوين الموفّر. يمكنك الحصول على قيمة issuer من صفحة تفاصيل تطبيق Logto، في الحقل "نقطة نهاية issuer". ينبغي أن يبدو مثل https://xxxx.logto.app/oidc إذا كنت تستخدم خدمة سحابة Logto.
ثم يمكنك إزالة الحقل wellKnown.
id_token_signed_response_algلم تعد بحاجة إلى تحديد خوارزمية توقيع id_token_signed_response_alg في تكوين الموفّر. إنها تدعم ES384 الآن وسيتم اكتشافها تلقائيًا.
بعد تحديث تكوين الموفّر، عليك تحديث حزمة next-auth إلى الإصدار الخامس، اتبع دليل الهجرة الرسمي لتحديث الحزمة وتأكد من أن تطبيقك يعمل كما هو متوقع. تأكد أيضًا من الرجوع إلى دليل بدء التشغيل السريع لـ NextAuth.