인증
규칙
- 웹 앱은 세션 기반 인증 — JWT는 API 간 통신에만 사용
- 경로 보호를 위한 미들웨어 — 렌더링 전 세션 확인
- 소셜 프로바이더: Google + GitHub 최소 — 대상에 따라 추가
- 매직 링크를 비밀번호 대안으로 — 더 간단하고 안전함
- 역할 기반 접근:
user.role필드와 미들웨어 검사 사용 - 모든 변경 엔드포인트에 CSRF 보호 적용
- 안전한 쿠키 설정:
httpOnly,secure,sameSite: "lax", 적절한maxAge - 리프레시 토큰 로테이션 — 토큰이 영원히 살지 않도록 함
피해야 할 사항
localStorage에 토큰 저장 —httpOnly쿠키 사용- 자체 비밀번호 해싱 구현 — 인증 라이브러리를 통해
bcrypt/argon2사용 - 서버 검증 없이 클라이언트 측 역할 확인
- 양식 제출 시 CSRF 보호 누락