인증 세션 흐름

로그인 상태 흐름

NextAuth 기반 로그인은 signIn으로 인증을 시작하고, 세션 상태에 따라 UI와 보호된 라우트 접근을 나누는 흐름으로 이해합니다.

Login ButtonsignIn 호출
Provider세션 공급
UI Branch상태별 렌더링
Protected Route접근 제어
01

signIn

사용자를 인증 제공자로 보내거나 자격 증명 검사를 시작합니다.

02

session

로그인 여부와 사용자 정보를 화면과 서버 로직에서 판단하는 기준입니다.

03

signOut

세션을 종료하고 UI를 비로그인 상태로 되돌립니다.

04

보호된 라우트

접근 전에 세션을 확인해 로그인하지 않은 사용자를 돌려보냅니다.

구현 기준

  • 클라이언트 화면에서는 로딩, 로그인, 비로그인 상태를 분리합니다.
  • 중요한 보호는 서버 컴포넌트나 서버 로직에서 한 번 더 확인합니다.
  • 역할 기반 접근이 필요하면 세션에 role을 포함하고 검증 경로를 통일합니다.

세션 상태 분기

loading대기
authenticated허용
unauthenticated리다이렉트
signOut종료