issues
search
TreeNut-KR
/
ChatBot
ChatBot 웹사이트 프로젝트
GNU General Public License v3.0
1
stars
0
forks
source link
[Feature Request] 액세스 토큰과 리프레시 토큰 사용
#31
Open
jgkim14
opened
1 month ago
jgkim14
commented
1 month ago
기능 요청
기능에 대한 간단한 설명:
액세스 토큰과 리프레시 토큰 추가
필요한 이유:
XSS 공격에 대비하기 위하여 유효기간이 짧은 액세스 토큰과 유효기간이 긴 리프레시 토큰을 같이 사용한다.
기능의 예상 동작:
첫 회원가입 및 로그인 시 서버는 클라이언트에게 액세스 토큰과 리프레시 토큰을 전송한다.
서버는 리프레시 토큰을 users DB에 저장한다.
그 이후 클라이언트는 리프레시 토큰만을 httpOnly 쿠키에 저장하고, 액세스 토큰은 Session Storage에 저장한다.
클라이언트는 요청을 전송 시 JSON 헤더에 액세스 토큰을 포함하여 요청한다.
만약 서버에서 액세스 토큰이 만료됨을 알리면 쿠키에 저장된 리프레시 토큰을 전송한다.
서버는 DB에 저장된 리프레시 토큰과 일치하는지 확인한다.
토큰이 일치하면 새로운 액세스 토큰을 받는다. 리프레시 토큰을 받고 새 액세스 토큰을 받는 과정은 사용자가 눈치채지 못하게 몰래 수행한다.
사용자가 로그아웃을 수행시 users DB에서 토큰을 삭제한다.
추가 정보:
우선순위:
높음
기타 의견:
기능 요청
기능에 대한 간단한 설명:
필요한 이유:
기능의 예상 동작:
추가 정보:
우선순위:
기타 의견: