피드로 돌아가기
Dev.toSecurity
원문 읽기
JWT와 Refresh Token 기반의 계층형 .NET 인증 아키텍처 설계
How I Structure Authentication in .NET (JWT + Refresh Tokens)
AI 요약
Context
반복적인 인증 시스템 구축 과정에서 발생하는 설정 중복과 유지보수 효율 저하 문제 발생. 단순 JWT 방식의 짧은 만료 시간으로 인한 사용자 경험 저하와 긴 만료 시간 설정 시의 보안 취약점 사이의 Trade-off 해결 필요.
Technical Solution
- Api, Application, Domain, Infrastructure, Shared로 분리한 Layered Architecture 설계를 통한 관심사 분리
- 단기 Access Token과 장기 Refresh Token을 조합한 Dual Token 전략으로 보안성 및 사용자 세션 유지력 확보
- Refresh Token 요청 시 기존 토큰을 폐기하고 신규 토큰을 발급하는 Token Rotation 방식 적용
- Role-based Access Control(RBAC)을 통한 엔드포인트별 권한 제어 구조 설계
- SQLite 기반의 경량 데이터 저장소 채택으로 초기 인프라 설정 비용 최소화 및 환경 전이성 강화
실천 포인트
1. 인증 로직을 Infrastructure와 Application 레이어로 분리하여 DB 변경 시 API 영향도 최소화 여부 확인
2. Access Token의 짧은 유효 기간 설정과 Refresh Token Rotation 메커니즘 구현 검토
3. 보안 요구사항에 따른 Password Hashing 처리 로직의 Shared 레이어 공통화 적용
4. Role 기반 권한 부여를 통한 API 엔드포인트 접근 제어 표준화