
내일배움캠프 32일차 TIL : Spring - Access Token과 Refresh Token
JWT 토큰은 유저의 신원이나 권한을 결정하는 정보를 담고 있는 데이터 조각으로 JWT 토큰을 사용해서 클라이언트와 서버는 안전하게 통신한다.
JWT 토큰 인증방식은 비밀키(개인키 or 대칭키)로 암호화를 하기 때문에 이가 가능하다.
JWT 토큰을 탈취한 사람은 마치 신뢰할만한 사람인 것처럼 인증을 통과할 수 있는 문제가 있다.
이러한 문제를 해결하기 위해서 토큰의 유효 기간을 설정해야 한다.
해결법은 유효기간이 다른 JWT 토큰 2개(Acses Token과 Refresh Token)을 두는 것이다.
Access Token의 유효기간은 짧으며 Refresh Token의 유효기간은 길다.
통신 과정에서 짧은 기간의 Access Token이 탈취 당해도 Refresh Token을 이용하여 재발급 하기 때문에 피해를 줄일 수 있다.
즉 토큰이 만료되면 기간이 긴 Refresh Token을 통해 api를 재요청 하고,
권한 확인 후 AccessToken을 새로 넣어준다는 것
참고
https://velog.io/@chuu1019/Access-Token과-Refresh-Token이란-무엇이고-왜-필요할까