NextAuth.js v4에서 Auth.js v5로 마이그레이션
NextAuth.js v4에서 v5로 Logto 통합을 마이그레이션하는 가이드입니다.
NextAuth.js 버전 5는 next-auth
패키지의 주요 수정으로, Logto를 포함한 다양한 통합에 영향을 미치는 변경 사항이 도입되었습니다. 이 가이드는 NextAuth.js v4에서 Auth.js v5로 Logto 통합을 마이그레이션하는 과정을 안내합니다.
최근에 NextAuth 빠른 시작 가이드를 업데이트했습니다. 꼭 확인해 보세요!
변경 사항 이해하기
Auth.js v5
NextAuth.js v5는 여러 가지 주요 변경 사항을 도입했으며, 그중 "OIDC/OAuth 공급자"의 방식 변화가 Logto를 애플리케이션에 통합하는 방법에 영향을 미칩니다. 공식 문서에서는 "Auth.js가 이제 더 엄격한 OAuth/OIDC 사양 준수를 요구하는 @auth/core를 기반으로 구축되었으며, 이는 기존 OAuth 공급자 중 일부를 붕괴시킬 수 있습니다"라고 설명합니다. Logto 사용자는 공급자 구성을 업데이트해야 합니다.
변경 사항에 대한 자세한 내용은 공식 마이그레이션 가이드를 참고하세요.
Logto 공급자 구성
Logto의 공급자 구성이 업데이트되었습니다:
- 유형이
oauth
에서oidc
로 변경되었습니다. wellKnown
엔드포인트가 제거되었으며, 대신issuer
필드를 제공해야 합니다.- 더 이상
id_token
서명 알고리즘을 지정할 필요가 없으며, 이제ES384
를 지원하고 자동으로 감지됩니다.
단계별 마이그레이션 가이드
pages/api/auth/[...nextauth].js
파일에서 새 구성 템플릿으로 공급자 구성을 업데이트하십시오:
1단계: 공급자 유형 변경
공급자 유형을 oauth
에서 oidc
로 변경합니다.
2단계: 발급자 필드 추가
공급자 구성에 issuer
필드를 추가하십시오. Logto 애플리케이션 세부 정보 페이지의 "Issuer endpoint" 필드에서 발급자 값을 얻을 수 있습니다. Logto 클라우드 서비스를 사용하는 경우 https://xxxx.logto.app/oidc
처럼 나타날 것입니다.
그런 다음 wellKnown
필드를 제거할 수 있습니다.
3단계: id_token_signed_response_alg
서명 알고리즘 제거
더 이상 공급자 구성에서 id_token_signed_response_alg
서명 알고리즘을 지정할 필요가 없습니다. 이제 ES384
를 지원하며 자동으로 감지됩니다.
프로젝트 업데이트
공급자 구성을 업데이트한 후, next-auth
패키지를 v5로 업데이트해야 합니다. 공식 마이그레이션 가이드를 따라 패키지를 업데이트하고 애플리케이션이 예상대로 작동하는지 확인하십시오. 또한 NextAuth 빠른 시작 가이드를 참조하십시오.