인증 및 권한 관리

NextAuth 설정 흐름

인증 설정은 패키지 설치보다 환경 변수, 라우트 핸들러, Provider, 세션 사용 위치가 서로 맞는지가 핵심입니다.

01

환경 변수

URL과 Secret을 먼저 고정

배포 환경에서 callback URL과 secret이 맞지 않으면 로그인 흐름이 깨집니다.

02

핸들러

인증 라우트가 요청을 받음

App Router에서는 route.ts에서 GET과 POST를 내보내 인증 요청을 처리합니다.

03

세션 사용

Provider로 클라이언트 상태 공급

useSession은 클라이언트 컴포넌트 안에서 로그인 상태와 로딩 상태를 분리합니다.

인증 연결 기준

  • 서버 라우트와 클라이언트 Provider가 같은 인증 설정을 바라보는지 확인합니다.
  • 로그인 전, 로딩 중, 로그인 후 화면을 따로 렌더링합니다.
  • 권한 관리는 세션 존재 여부와 역할 정보 확인을 분리합니다.

구성 요소

Secret 서명 기준 환경 변수
Handler 인증 API GET/POST
Session 상태 공유 Provider