การย้ายจาก NextAuth.js v4 ไปยัง Auth.js v5
คู่มือการย้ายการรวม Logto จาก NextAuth.js v4 ไปยัง v5
NextAuth.js เวอร์ชัน 5 เป็นการเขียนใหม่ครั้งใหญ่ของแพ็กเกจ next-auth
ซึ่งมีการอัปเดตที่ทำให้ต้องมีการเปลี่ยนแปลงในหลายการรวม รวมถึง Logto ด้วย คู่มือนี้จะนำคุณผ่านขั้นตอนการย้ายการรวม Logto ของคุณจาก NextAuth.js v4 ไปยัง Auth.js v5
การทำความเข้าใจกับการเปลี่ยนแปลง
Auth.js v5
NextAuth.js v5 นำเสนอการเปลี่ยนแปลงต่างๆ ที่มีผลกระทบต่อวิธีที่คุณรวม Logto กับแอปพลิเคชันของคุณ การเปลี่ยนแปลงหลักคือ "OIDC/OAuth Providers" ในเอกสารทางการกล่าวว่า "Auth.js ได้สร้างขึ้นจาก @auth/core ด้วยความเข้มงวดขึ้นของการปฏิบัติตามข้อกำหนด OAuth/OIDC ซึ่งอาจทำให้ผู้ให้บริการ OAuth บางรายที่มีอยู่พังได้" สำหรับผู้ใช้ Logto นี่หมายความว่าคุณต้องอัปเดตการตั้งค่าของผู้ให้บริการ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลง คุณสามารถดูได้ที่ คู่มือการย้ายทางการ.
การตั้งค่าผู้ให้บริการ Logto
การตั้งค่าผู้ให้บริการสำหรับ Logto ได้รับการอัปเดต:
- ประเภทได้เปลี่ยนจาก
oauth
ไปเป็นoidc
- เอ็นด์พอยต์
wellKnown
ถูกลบออก และคุณต้องระบุฟิลด์issuer
แทน - ไม่ต้องระบุอัลกอริทึมการลงนาม
id_token
สนับสนุนES384
ตอนนี้และจะถูกตรวจจับโดยอัตโนมัติ
คู่มือการย้ายทีละขั้นตอน
อัปเดตการตั้งค่าของผู้ให้บริการในไฟล์ pages/api/auth/[...nextauth].js
ของคุณด้วยแม่แบบการตั้งค่าใหม่:
ขั้นตอนที่ 1: เปลี่ยนประเภทของผู้ให้บริการ
เปลี่ยนประเภทของผู้ให้บริการจาก oauth
เป็น oidc
ขั้นตอนที่ 2: เพิ่มฟิลด์ผู้ให้บริการ
เพิ่มฟิลด์ issuer
ลงในการตั้งค่าของผู้ให้บริการ คุณสามารถรับค่าผู้ให้บริการจากหน้ารายละเอียดโปรแกรม Logto ในฟิลด์ "Issuer endpoint" ควรมีลักษณะเช่น https://xxxx.logto.app/oidc
หากคุณใช้บริการ Logto cloud
แล้วคุณสามารถลบฟิลด์ wellKnown
ได้
ขั้นตอนที่ 3: ลบอัลกอริทึมการลงนาม id_token_signed_response_alg
คุณไ ม่จำเป็นต้องระบุอัลกอริทึมการลงนาม id_token_signed_response_alg
ในการตั้งค่าของผู้ให้บริการ สนับสนุน ES384
แล้วตอนนี้และจะถูกตรวจจับโดยอัตโนมัติ
อัปเดตโปรเจกต์
หลังจากอัปเดตการตั้งค่าของผู้ให้บริการ คุณต้องอัปเดตแพ็กเกจ next-auth
เป็น v5 ทำตาม คู่มือการย้ายทางการ เพื่ออัปเดตแพ็กเกจและตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณทำงานตามที่คาดหวัง