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, das breaking Updates bringt, die verschiedene Integrationen, einschließlich Logto, betreffen. Dieser Leitfaden führt dich durch den Prozess der Migration deiner Logto-Integration von NextAuth.js v4 zu Auth.js v5.
Die Änderungen verstehen
Auth.js v5
NextAuth.js v5 führt mehrere breaking Changes ein. Die Hauptänderung, die sich auf die Integration von Logto in deine Anwendung auswirkt, betrifft die Änderung bei den "OIDC/OAuth-Providern". In der offiziellen Dokumentation heißt es: "Auth.js basiert jetzt auf @auth/core mit strikterer OAuth/OIDC-Spezifikationseinhaltung, was einige bestehende OAuth-Provider beeinträchtigen könnte". Für Logto-Nutzer bedeutet dies, dass du die Provider-Konfiguration aktualisieren musst.
Für weitere Informationen zu den Änderungen kannst du den offiziellen Migrationsleitfaden einsehen.
Logto-Provider-Konfiguration
Die Provider-Konfiguration für Logto wurde aktualisiert:
- Der Typ wurde von
oauth
zuoidc
geändert. - Der
wellKnown
-Endpoint wurde entfernt und stattdessen musst du dasissuer
-Feld angeben. - Es ist nicht mehr notwendig, den
id_token
Signaturalgorithmus anzugeben, er unterstützt jetztES384
und wird automatisch erkannt.
Schritt-für-Schritt-Migrationsanleitung
Aktualisiere die Provider-Konfiguration in deiner Datei pages/api/auth/[...nextauth].js
mit der neuen Konfigurationsvorlage:
Schritt 1: Ändere den Provider-Typ
Ändere den Provider-Typ von oauth
zu oidc
.
Schritt 2: Füge das Issuer-Feld hinzu
Füge das issuer
-Feld zur Provider-Konfiguration hinzu. Du kannst den Issuer-Wert von der Logto-Anwendungsdetailseite im Feld "Issuer endpoint" abrufen. Er sollte https://xxxx.logto.app/oidc
lauten, wenn du den Logto-Cloud-Service verwendest.
Und dann kannst du das wellKnown
-Feld entfernen.
Schritt 3: Entferne den id_token_signed_response_alg
Signaturalgorithmus
Es ist nicht mehr notwendig, den id_token_signed_response_alg
Signaturalgorithmus in der Provider-Konfiguration anzugeben. Er unterstützt jetzt ES384
und wird automatisch erkannt.
Aktualisiere das Projekt
Nachdem du die Provider-Konfiguration aktualisiert hast, musst du das next-auth
-Paket auf Version 5 aktualisieren. Folge dem offiziellen Migrationsleitfaden, um das Paket zu aktualisieren und stelle sicher, dass deine Anwendung wie erwartet funktioniert.