• js
  • next
  • next-auth
  • auth.js

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.

Sijie
Sijie
Developer

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 till oidc.
  • wellKnown-slutpunkten har tagits bort, och du behöver ange fältet issuer istället.
  • Det är inte längre nödvändigt att specificera id_token signeringsalgoritm, den stöder nu ES384 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å.