JWT(JSON Web Token) :
유저를 인증하고 식별하기 위한 토큰이다. 토큰은 세션과는 달리 서버가 아닌 클라이언트에 저장된다.
Access Token & Refresh Token
Refresh Token은 Access Token과 똑같은 형태의 JWT이다. Refresh Token은 긴 유효기간을 가지면서, Access Token이 만료됐을 때 새로 발급해주는 열쇠가 된다.
예시) Refresh Token의 유효기간은 2주, Access Token의 유효기간은 1시간이라 하겠습니다. 사용자는 API 요청을 신나게 하다가 1시간이 지나게 되면, 가지고 있는 Access Token은 만료됩니다. 그러면 Refresh Token의 유효기간 전까지는 Access Token을 새롭게 발급받을 수 있습니다.
사용자는 Refresh Token은 안전한 저장소에 저장 후, Access Token을 헤더에 실어 요청을 보냅니다.
Refresh Token 을 사용하는 이유
Access Token을 통한 인증 방식의 문제는 만일 제 3자에게 탈취당할 경우 보안에 취약하다는 점입니다.
refresh_token은 서버에 저장되기 때문에(stateful) refresh token이 해커에 의해 탈취당했다고 판단되었을 때 서버에서 refresh token을 삭제함으로써 강제 로그아웃을 시킬 수 있다.
access token은 보안적으로 취약하니 2시간 정도로 짧게 가져가고, refresh token은 처리 비용이 많이 들기 때문에 2주 정도로 길게 가져가는 방식을 주로 사용한다.
출처 :
https://tansfil.tistory.com/59
https://tecoble.techcourse.co.kr/post/2021-10-20-refresh-token/
+ 아래 글에서 리프레시 토큰 사용에 대해 토론을 한 것 같은데 아직은 못 알아듣는 말이 절반이 넘지만.. 기록.
refresh token 을 사용하는 이유
한 번 발급되면 정보가 변하지 않는 stateless라는 jwt 특성 때문에 refresh token을 사용하여 access token을 발급한다. refresh token이라는 방어 도구라도 있어야 서버가 해킹된 토큰에 대한 방어 행동을 취할 수 있게 된다 입니다.
https://okky.kr/article/1007579
'기록 > etc' 카테고리의 다른 글
정규식 테스트해볼 수 있는 사이트 (0) | 2022.10.28 |
---|---|
PostMan 이용해 Post 쿼리 테스트하는 방법 (0) | 2022.09.02 |
CUI vs GUI (0) | 2022.05.30 |
공인IP 주소 확인하는 방법 (0) | 2022.05.24 |
VMware Take Ownership 오류 해결방법 (0) | 2022.05.24 |