Migration von NextAuth.js v4 zu Auth.js v5
Ein Leitfaden zur Migration der Logto-Integration von NextAuth.js v4 zu v5.
NextAuth.js Version 5 ist eine umfassende Überarbeitung des next-auth
-Pakets, die bedeutende Änderungen mit sich bringt, die verschiedene Integrationen betreffen, einschließlich Logto. Dieser Leitfaden führt dich durch den Prozess der Migration deiner Logto-Integration von NextAuth.js v4 zu Auth.js v5.
Wir haben kürzlich unseren NextAuth-Schnellstart-Leitfaden aktualisiert. Schau ihn dir an!
Änderungen verstehen
Auth.js v5
NextAuth.js v5 führt mehrere große Änderungen ein. Die Hauptänderung, die die Art und Weise betrifft, wie du Logto mit deiner Anwendung integrierst, ist die Veränderung bei "OIDC/OAuth-Anbietern". In der offiziellen Dokumentation heißt es: "Auth.js baut jetzt auf @auth/core mit strengerer OAuth/OIDC-Spezifikation auf, was einige bestehende OAuth-Anbieter beeinträchtigen könnte". Für Logto-Nutzer bedeutet dies, dass du die Anbieter-Konfiguration aktualisieren musst.
Für weitere Informationen zu den Änderungen kannst du den offiziellen Migrationsleitfaden einsehen.
Logto-Anbieterkonfiguration
Die Anbieterkonfiguration für Logto wurde aktualisiert:
- Der Typ wurde von
oauth
zuoidc
geändert. - Der
wellKnown
-Endpunkt wurde entfernt, und stattdessen musst du dasissuer
-Feld angeben. - Es ist nicht mehr notwendig, den
id_token
-Signaturalgorithmus anzugeben. Es wird jetztES384
unterstützt und automatisch erkannt.
Schritt-für-Schritt-Migrationsleitfaden
Aktualisiere die Anbieterkonfiguration in deiner Datei pages/api/auth/[...nextauth].js
mit der neuen Konfiguration:
Schritt 1: Anbietertyp ändern
Ändere den Anbietertyp von oauth
zu oidc
.
Schritt 2: Issuer
-Feld hinzufügen
Füge das issuer
-Feld zur Anbieterkonfiguration hinzu. Du kannst den Wert des Issuers von der Logto-Anwendungsseite im Feld "Issuer-Endpunkt" abrufen. Er sollte wie https://xxxx.logto.app/oidc
aussehen, wenn du den Logto-Cloud-Service verwendest.
Dann kannst du das wellKnown
-Feld entfernen.
Schritt 3: id_token_signed_response_alg
Signaturalgorithmus entfernen
Du musst den id_token_signed_response_alg
Signaturalgorithmus in der Anbieterkonfiguration nicht mehr angeben. Er unterstützt jetzt ES384
und wird automatisch erkannt.
Projekt aktualisieren
Nachdem du die Anbieterkonfiguration aktualisiert hast, musst du das next-auth
-Paket auf v5 aktualisieren. Folge dem offiziellen Migrationsleitfaden, um das Paket zu aktualisieren, und stelle sicher, dass deine Anwendung wie erwartet funktioniert. Stelle sicher, dass du auch den NextAuth-Schnellstart-Leitfaden referenzierst.