개요
사용자 인증을 위한 JWT 토큰 시스템을 구현하고, 토큰 만료 전 사용자에게 알림을 제공하여 세션을 연장할 수 있는 기능을 구현합니다.
요구사항
백엔드 구현사항
프론트엔드 구현사항
기술 명세
JWT 토큰 구조
{
"iss": "our-app",
"sub": "user-id",
"exp": "expiration-timestamp",
"iat": "issued-at-timestamp"
}
API 엔드포인트
- POST
/users/login - 초기 로그인 및 토큰 발급
- POST
/users/refresh - 리프레시 토큰으로 새 액세스 토큰 발급
- POST
/users/extend - 현재 세션 연장
- POST
/users/logout - 로그아웃 및 토큰 무효화
보안 고려사항
테스트 시나리오
- 정상적인 로그인 및 토큰 발급
- 토큰 만료 5분 전 알림 표시
- 세션 연장 시나리오
- 리프레시 토큰을 통한 액세스 토큰 갱신
- 로그아웃 시 토큰 무효화
예상 작업 시간
- 백엔드 구현: 2-3일
- 프론트엔드 구현: 2-3일
- 테스트 및 버그 수정: 1-2일
관련 문서
개요
사용자 인증을 위한 JWT 토큰 시스템을 구현하고, 토큰 만료 전 사용자에게 알림을 제공하여 세션을 연장할 수 있는 기능을 구현합니다.
요구사항
백엔드 구현사항
JWT 액세스 토큰 구현
리프레시 토큰 구현
토큰 갱신 API 엔드포인트 구현
/auth/refresh: 리프레시 토큰을 사용하여 새로운 액세스 토큰 발급/auth/extend: 현재 세션 연장 요청 처리프론트엔드 구현사항
토큰 만료 시간 모니터링
사용자 알림 UI 구현
자동 토큰 갱신 로직
기술 명세
JWT 토큰 구조
{ "iss": "our-app", "sub": "user-id", "exp": "expiration-timestamp", "iat": "issued-at-timestamp" }API 엔드포인트
/users/login- 초기 로그인 및 토큰 발급/users/refresh- 리프레시 토큰으로 새 액세스 토큰 발급/users/extend- 현재 세션 연장/users/logout- 로그아웃 및 토큰 무효화보안 고려사항
테스트 시나리오
예상 작업 시간
관련 문서