Migrera från NextAuth.js v4 till Auth.js v5
En guide för att migrera Logto-integrationen från NextAuth.js v4 till v5.
NextAuth.js version 5 är en omfattande omskrivning av next-auth
-paketet, som medför brytande uppdateringar som påverkar olika integrationer, inklusive Logto. Denna guide tar dig genom processen att migrera din Logto-integrering från NextAuth.js v4 till Auth.js v5.
Förstå förändringarna
Auth.js v5
NextAuth.js v5 introducerar flera brytande ändringar, den främsta förändringen som påverkar hur du integrerar Logto med din applikation är förändringen av "OIDC/OAuth Providers". I den officiella dokumentationen står det "Auth.js bygger nu på @auth/core med striktare OAuth/OIDC-spec-kompatibilitet, vilket kan bryta vissa befintliga OAuth-leverantörer", för Logto-användare innebär detta att du behöver uppdatera leverantörskonfigurationen.
För mer information om ändringarna kan du hänvisa till den officiella migrationsguiden.
Logto-leverantörskonfiguration
Leverantörskonfigurationen för Logto har uppdaterats:
- Typen har ändrats från
oauth
tilloidc
. wellKnown
-endpoint har tagits bort, och du behöver angeissuer
-fältet istället.- Ingen anledning att specificera
id_token
-signeringsalgoritmen, den stöder nuES384
och kommer att detekteras automatiskt.
Steg-för-steg-migrationsguide
Uppdatera leverantörskonfigurationen i din pages/api/auth/[...nextauth].js
-fil med den nya konfigurationsmallen:
Steg 1: Ändra leverantörstypen
Ändra leverantörstypen från oauth
till oidc
.
Steg 2: Lägg till issuer-fältet
Lägg till issuer
-fältet i leverantörskonfigurationen. Du kan få issuer-värdet från Logto Applikationsdetaljer-sidan, i fältet "Issuer endpoint". Det bör se ut som https://xxxx.logto.app/oidc
om du använder Logto molntjänst.
Och sedan kan du ta bort wellKnown
-fältet.
Steg 3: Ta bort id_token_signed_response_alg
-signeringsalgoritmen
Du behöver inte längre specificera id_token_signed_response_alg
-signeringsalgoritmen i leverantörskonfigurationen. Den stöder ES384
nu och kommer att detekteras automatiskt.
Uppdatera projektet
Efter att ha uppdaterat leverantörskonfigurationen behöver du uppdatera next-auth
-paketet till v5, följ den officiella migrationsguiden för att uppdatera paketet och se till att din applikation fungerar som förväntat.