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

Migration von NextAuth.js v4 zu Auth.js v5

Ein Leitfaden zur Migration der Logto-Integration von NextAuth.js v4 zu v5.

Sijie
Sijie
Developer

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 zu oidc geändert.
  • Der wellKnown-Endpoint wurde entfernt und stattdessen musst du das issuer-Feld angeben.
  • Es ist nicht mehr notwendig, den id_token Signaturalgorithmus anzugeben, er unterstützt jetzt ES384 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.