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

Migracja z NextAuth.js v4 do Auth.js v5

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

Sijie
Sijie
Developer

Wersja 5 NextAuth.js to zasadnicza przebudowa pakietu next-auth, która przynosi przełomowe aktualizacje wpływające na różne integracje, w tym Logto. Ten przewodnik przeprowadzi cię przez proces migracji integracji Logto z NextAuth.js v4 do Auth.js v5.

Zrozumienie zmian

Auth.js v5

NextAuth.js v5 wprowadza kilka zmian, które mogą mieć wpływ na sposób, w jaki integrujesz Logto ze swoją aplikacją. Najważniejszą zmianą jest zmiana sposobu integracji dostawców "OIDC/OAuth". W oficjalnej dokumentacji znajduje się zapis: "Auth.js teraz opiera się na @auth/core z bardziej rygorystyczną zgodnością ze specyfikacją OAuth/OIDC, co może powodować niezgodności w istniejących dostawcach OAuth". Dla użytkowników Logto oznacza to konieczność aktualizacji konfiguracji dostawcy.

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

Konfiguracja dostawcy Logto

Konfiguracja dostawcy dla Logto została zaktualizowana:

  • Typ został zmieniony z oauth na oidc.
  • Punkt końcowy wellKnown został usunięty i należy teraz podać pole issuer.
  • Nie ma potrzeby określania algorytmu podpisywania id_token, teraz obsługiwany jest ES384 i zostanie on automatycznie wykryty.

Przewodnik krok po kroku dotyczący migracji

Zaktualizuj konfigurację dostawcy w pliku pages/api/auth/[...nextauth].js według 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. Wartość issuer możesz uzyskać ze strony Szczegóły aplikacji Logto, w polu "Punkt końcowy wydawcy". Powinna ona wyglądać jak https://xxxx.logto.app/oidc jeśli używasz usługi chmurowej 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 obsługiwany jest ES384 i zostanie on automatycznie wykryty.

Zaktualizuj projekt

Po zaktualizowaniu konfiguracji dostawcy, musisz zaktualizować pakiet next-auth do wersji v5, postępuj zgodnie z oficjalnym przewodnikiem po migracji w celu aktualizacji pakietu i upewnij się, że twoja aplikacja działa zgodnie z oczekiwaniami.