authentication

인증은 provider보다 세션 위치, 보호 경계, 서버 접근 방식을 먼저 정한다

로그인 버튼만 붙이는 문제가 아니다. 서버 컴포넌트에서 세션을 읽을지, 미들웨어에서 막을지, API에서 권한을 다시 확인할지까지 설계한다.

결정 항목Auth.js에서 보는 것Next.js 연결 지점주의할 점
로그인 방식OAuth provider, credentialsroute handler, callback routeprovider별 callback URL과 환경 변수 정합성
세션 전략JWT 또는 database sessionServer Component, API쿠키 크기, 만료, 서버 조회 비용
페이지 보호authorized callbackmiddleware.ts matcher정적 자산과 공개 페이지를 잘못 막지 않기
서버 데이터 접근getServerSession/auth helperServer Action, Route Handler클라이언트 세션만 믿고 서버 권한을 생략하지 않기
운영 추적signIn/error eventlogger, monitoring인증 실패 이유와 개인정보 노출을 분리