NextAuth.js v4からAuth.js v5への移行
Logto統合をNextAuth.js v4からv5に移行するためのガイドです。
Logto統合をNextAuth.js v4からv5に移行するためのガイドです。
NextAuth.jsバージョン5はnext-authパッケージの大規模な書き直しであり、Logtoを含むさまざまな統合に影響を与える破壊的な更新をもたらします。このガイドでは、Logto統合をNextAuth.js v4からAuth.js v5に移行するプロセスを案内します。
最近、NextAuthクイックスタートガイドを更新しました。ぜひチェックしてください!
NextAuth.js v5は数多くの破壊的変更を導入しています。Logtoとの統合方法に影響を与える主な変更は「OIDC/OAuthプロバイダー」に関するものです。公式ドキュメントには、「Auth.jsは@auth/coreとより厳密なOAuth/OIDC仕様順守に基づいて構築されており、これが既存のOAuthプロバイダーを破壊する可能性があります」と記されています。Logtoのユーザーにとっては、プロバイダーの設定を更新する必要があることを意味します。
詳細な変更については、公式移行ガイドを参照してください。
Logtoのプロバイダー設定が更新されました:
oauthからoidcに変更されました。wellKnownエンドポイントが削除され、代わりにissuerフィールドを提供する必要があります。id_token署名アルゴリズムを指定する必要はありません。ES384をサポートしており、自動的に検出されます。新しい設定テンプレートを使ってpages/api/auth/[...nextauth].jsファイルのプロバイダー設定を更新します:
プロバイダーのタイプをoauthからoidcに変更します。
issuerフィールドをプロバイダー設定に追加します。Logtoアプリケーションの詳細ページでIssuerの値を取得できます。「Issuer endpoint」のフィールドに記載されています。Logtoクラウドサービスを使用している場合、https://xxxx.logto.app/oidcのようになります。
その後、wellKnownフィールドを削除できます。
id_token_signed_response_alg署名アルゴリズムを削除するプロバイダー設定でid_token_signed_response_alg署名アルゴリズムを指定する必要はありません。ES384をサポートしており、自動的に検出されます。
プロバイダー設定を更新した後、next-authパッケージをv5に更新する必要があります。パッケージを更新し、アプリケーションが期待通りに動作するか確認するために、公式移行ガイドを確認してください。また、NextAuthクイックスタートガイドも参照してください。