Миграция с 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 endpoint". Оно должно выглядеть как https://xxxx.logto.app/oidc, если вы используете облачный сервис Logto.
Затем вы можете удалить поле wellKnown.
id_token_signed_response_algТеперь вам не нужно указывать алгоритм подписи id_token_signed_response_alg в конфигурации поставщика. Теперь он поддерживает ES384, и он будет автоматически определен.
После обновления конфигурации поставщика вам нужно обновить пакет next-auth до v5, следуйте официальному руководству по миграции, чтобы обновить пакет и убедиться, что ваше приложение работает как ожидается. Убедитесь также, что вы ссылаетесь на руководство по быстрому старту NextAuth.