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

NextAuth.js v4에서 Auth.js v5로 마이그레이션

NextAuth.js v4에서 v5로 Logto 통합을 마이그레이션하는 가이드입니다.

Sijie
Sijie
Developer

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 빠른 시작 가이드를 참조하십시오.