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 innebär brytande uppdateringar som påverkar olika integrationer, inklusive Logto. Denna guide kommer att leda dig genom processen att migrera din Logto-integrering från NextAuth.js v4 till Auth.js v5.
Vi har nyligen uppdaterat vår NextAuth snabbstarts guide. Kolla in den!
Förstå förändringarna
Auth.js v5
NextAuth.js v5 introducerar flera brytande förändringar. Den främsta ä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 specifikationskompatibilitet, vilket kan bryta vissa befintliga OAuth-leverantörer", för Logto-användare, betyder detta att du behöver uppdatera leverantörskonfigurationen.
För mer information om förändringarna, kan du läsa den officiella migrationsguiden.
Logto leverantörskonfiguration
Leverantörskonfigurationen för Logto har uppdaterats:
- Typen har ändrats från
oauth
tilloidc
. wellKnown
-slutpunkten har tagits bort, och du behöver ange fältetissuer
istället.- Det är inte längre nödvändigt att specificera
id_token
signeringsalgoritm, den stöder nuES384
och detekteras automatiskt.
Steg-för-steg migrationsguide
Uppdatera leverantörskonfigurationen i din pages/api/auth/[...nextauth].js
fil med den nya konfiguration smallon:
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änsten.
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 nu ES384
och 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. Se till att referera till NextAuth snabbstarts guide också.