데일리
[2023.11.26] Refresh Token & Access Token
paikpaik
2023. 11. 26. 20:28
글의 목적
- Refresh Token & Access Token에 대해서 집중적으로 알아보고 보안문제들을 파악해보려고 함.
본론
Refresh Token & Access Token
- 두 토큰 모두 JWT 기반이다.
- Access Token은 API 요청을 할때 검증용 토큰으로 사용된다. 즉, 인증이 필요한 API를 사용할때는 꼭 Access Token을 Header에 넣어서 보내야 한다.
- 예) 유저 정보 수정
- Refresh Token은 Access Token을 추가로 발급할때 사용된다. Access Token을 새로고침(Refresh)하는 기능이 있기 때문에 Refresh Token이라고 부른다.
- Access Token은 유효기간이 짧고 Refresh Token은 유효기간이 길다.
- 자주 노출되는 Access Token은 유효기간을 짧게해서 Token이 탈취돼도 해커가 오래 사용하지 못하도록 방지할 수 있다.
- 상대적으로 노출이 적은 Refresh Token의 경우 Access Token을 새로 발급받을때만 사용되기 때문에 탈취 가능성이 적다.
토큰 발급 과정
Refresh Token 사용 과정
Access Token 사용 과정
Refreshing Logic
결론
- 진작부터 정리해둘걸 하는 아쉬움이 있다.
- 그래도 부족한 부분을 많이 발견하게 되었고, cookie, session, token에 대해서 정리가 되었다.