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

Migracja z NextAuth.js v4 do Auth.js v5

Przewodnik dotyczący migracji integracji Logto z NextAuth.js v4 do v5.

Sijie
Sijie
Developer

NextAuth.js wersja 5 to duża przeróbka pakietu next-auth, która wprowadza zmiany przerywające działanie różnych integracji, w tym Logto. Ten przewodnik przeprowadzi cię przez proces migracji Twojej integracji Logto z NextAuth.js v4 do Auth.js v5.

Niedawno zaktualizowaliśmy nasz przewodnik szybkiego startu NextAuth. Sprawdź to!

Zrozumienie zmian

Auth.js v5

NextAuth.js v5 wprowadza kilka zmian przerywających działanie, główną zmianą wpływającą na sposób integracji Logto z aplikacją jest zmiana w "Dostawcach OIDC/OAuth". W oficjalnej dokumentacji napisano: "Auth.js teraz opiera się na @auth/core z bardziej rygorystycznym przestrzeganiem specyfikacji OAuth/OIDC, co może zakłócić działanie niektórych istniejących dostawców OAuth", dla użytkowników Logto oznacza to konieczność zaktualizowania konfiguracji dostawcy.

Więcej informacji na temat zmian możesz znaleźć w oficjalnym przewodniku migracji.

Konfiguracja dostawcy Logto

Konfiguracja dostawcy Logto została zaktualizowana:

  • Typ został zmieniony z oauth na oidc.
  • Endpoint wellKnown został usunięty i trzeba podać pole issuer.
  • Nie ma potrzeby podawania algorytmu podpisywania tokenu id_token, teraz wspiera ES384 i będzie automatycznie wykrywany.

Przewodnik krok po kroku do migracji

Zaktualizuj konfigurację dostawcy w pliku pages/api/auth/[...nextauth].js za pomocą nowego szablonu konfiguracji:

Krok 1: Zmień typ dostawcy

Zmień typ dostawcy z oauth na oidc.

Krok 2: Dodaj pole issuer

Dodaj pole issuer do konfiguracji dostawcy. Możesz uzyskać wartość issuer z Logto Application Details page, w polu "Issuer endpoint". Powinno to wyglądać jak https://xxxx.logto.app/oidc, jeśli korzystasz z usługi w chmurze Logto.

Następnie możesz usunąć pole wellKnown.

Krok 3: Usuń algorytm podpisywania id_token_signed_response_alg

Nie musisz już określać algorytmu podpisywania id_token_signed_response_alg w konfiguracji dostawcy. Teraz wspiera ES384 i będzie automatycznie wykrywany.

Aktualizacja projektu

Po zaktualizowaniu konfiguracji dostawcy, musisz zaktualizować pakiet next-auth do wersji v5, postępując zgodnie z oficjalnym przewodnikiem migracji aby zaktualizować pakiet i upewnić się, że Twoja aplikacja działa zgodnie z oczekiwaniami. Upewnij się również, że odwołujesz się do przewodnika szybkiego startu NextAuth.