대부분의 로그인은 JWT(Json web token) 방식을 사용한다.
<로그인 이전>
클라이언트
사용자의 로그인 요청
로그인 성공
서버
JWT 발급 및 클라이언트에 전달<로그인 이후>
클라이언트
JWT를 API 요청할 때 마다 헤더에 넣어서 보냄서버
JWT를 확인JWT의 구조
Header, Playload, Signatureiat(토큰 발급 시간), exp(토큰 만료 시각)의 정보를 확인할 수 있다.JWT의 정보를 해석해볼 수 있다.accessToken과 refreshToken
JWT는 사용자 정보 요청에 대한 인증키이다. 즉, 최초 로그인 이후 발급된 JWT는 이후 개인 정보에 대해 접근할 수 있는 열쇠라는 말이다.
이때, 보안상의 이유로 토큰을 2종류로 나눈다.
개인 정보에 접근할 수 있는 accessToken의 유효 기간이 무한하다면, 토큰 탈취가 발생할 경우 해당 개인 정보는 매우 취약할 수 밖에 없다.