미들웨어만 믿으면 안 된다 — DB 없는 블로그에 3겹 인증 admin 붙이기
next-auth v5 beta와 Octokit으로 DB 없이 '어디서나 글쓰기'를 만들면서, 미들웨어 한 겹으로 끝내지 않고 인증을 세 계층에 나눠 건 이야기.
5개의 글
next-auth v5 beta와 Octokit으로 DB 없이 '어디서나 글쓰기'를 만들면서, 미들웨어 한 겹으로 끝내지 않고 인증을 세 계층에 나눠 건 이야기.
임직원·법인 회원의 인증 만료를 프론트에서 계산하면, 서버 데이터와 어긋나는 순간 신뢰할 수 없는 판정이 된다. 만료 시점 자체는 서버가 내려주고, 프론트는 현재 시각과 비교만 하도록 역할을 나눈 재인증 플로우를 설계한 과정.
별도로 운영되던 예약 백오피스를 사내 Portal로 이관하면서, 기존 화면을 그대로 복사하는 대신 대상 시스템의 디렉터리·라우팅·상태 관리 패턴을 먼저 읽고 그 컨벤션에 맞춰 재구현한 과정과 이유.
상품마감·요금재고 화면이 3개 API를 순차 호출하는 구조였는데, 그 호출 순서 자체가 조회 방향을 결정하고 있었다. 첫 값이 자동 선택되면서 이후 단계의 전체 조회를 막던 구조를, 단일 API의 방향 파라미터로 재설계한 과정.
운영자 권한이 5단계로 나뉜 어드민에서, 컴포넌트마다 권한 분기를 심는 방식은 화면이 늘어날수록 누락 위험이 커졌다. 권한 판정을 화면이 아니라 라우팅 단위로 옮겨 진입 시점에 한 번만 확인하도록 재정의한 과정.