[6] JPA RefreshToken
[리프레시 토큰]
- 정책적으로 정해야 하는 것
> 사용자 JWT 익스파이어드 던져주게 되었다.
> 내가 가지고있는 액세스 토큰은 만료되었다는 사실을 알 수 있음
>> 만료되었으니 리프레시 토큰을 같이 줘야 한다.
>>> 문제점 : 어떤 포맷으로 referesh토큰을 전달할지 생각해야 한다. ( get, post, param, json....)
>>> 받는 쪽에서 어떻게 받을지 생각해야 한다.
- aT, rT 가 같이 온다.
> aT가 만료가 되지 않았을 경우 = 어떻게 해석할 것인가? 엑세스톸느도 만료되지 않았는데 왜 리프레시토큰을 요구하지?
>> 어태커 일 수도 있다.
>>> 그대로 가. 요구하지 마!
>>>아니면 이런 결정도 됨 : 이상하다~? 토큰 무효화
2. aT가 만료가 안 됐다 = refresh토큰도 만료가 안 됐다.
> 그러면 토큰을 새로 만들 필요가 없다.
>>
3.access토큰이 만료되었고 refresh만료되지 않았을 경우
- 새로운 accessToken을 만들어준다.
> Refresh토큰도 validation 해줘야 한다.
>> 문제가 없었다. 그런데 refresh토큰이 얼마 안 남았다.
>>> access토큰의 유효기간은 많이 남고 refresh토큰의 만료기간은 얼마 안 남았다면?
1. 새로 만들어줄 것이냐
> 고민해야 될 부분이 있다.
>> 얻는 장점 : 어태커가 혹시라도 액세스토큰과 리프레시토큰을 탈취했다고 해도 10분이 지나면 refresh를 할 건데 어태커가 탈취해 간 refresh토큰도 쓸모가 없어진다는 장점, 보안성이 비교적 좋음. 하지만 그럼 의미가 퇴색된다.
- refresh토큰의 유효기간을 길게 준 의미가 없는데? > 사용자가 사용하지 않아도 로그인을 유지
> 사용자에게 지급되었던 at와 ft를 확인하는 방법
>> 메모리상에서 확인, DB에서 확인 = Redis를 사용
- 엑세스 토큰 만료 여부 :
2. 그대로 둘 것이냐.
- refresh토큰은 access토큰보다 남은 시간이 얼마 안 남았을 경우만 새로 발행을 하는 경우
1. Access 토큰 만료 여부
ㅣ
2-1. 만료되지 않았다
> 전달된 at, rt 그대로 다시 전송
2-2 만료됨
> 판단 해야한다. refresh토큰의 남은 시간리프레시 토큰]
- 정책적으로 정해야 하는 것
> 사용자 JWT 익스파이어드 던져주게 되었다.
> 내가 가지고있는 액세스 토큰은 만료되었다는 사실을 알 수 있음
>> 만료되었으니 리프레시 토큰을 같이 줘야 한다.
>>> 문제점 : 어떤 포맷으로 referesh토큰을 전달할지 생각해야 한다. ( get, post, param, json....)
>>> 받는 쪽에서 어떻게 받을지 생각해야 한다.
- aT, rT 가 같이 온다.
> aT가 만료가 되지 않았을 경우 = 어떻게 해석할 것인가? 엑세스톸느도 만료되지 않았는데 왜 리프레시토큰을 요구하지?
>> 어태커 일 수도 있다.
>>> 그대로 가. 요구하지 마!
>>>아니면 이런 결정도 됨 : 이상하다~? 토큰 무효화
2. aT가 만료가 안 됐다 = refresh토큰도 만료가 안 됐다.
> 그러면 토큰을 새로 만들 필요가 없다.
>>
3.access토큰이 만료되었고 refresh만료되지 않았을 경우
- 새로운 accessToken을 만들어준다.
> Refresh토큰도 validation 해줘야 한다.
>> 문제가 없었다. 그런데 refresh토큰이 얼마 안 남았다.
>>> access토큰의 유효기간은 많이 남고 refresh토큰의 만료기간은 얼마 안 남았다면?
1. 새로 만들어줄 것이냐
> 고민해야 될 부분이 있다.
>> 얻는 장점 : 어태커가 혹시라도 액세스토큰과 리프레시토큰을 탈취했다고 해도 10분이 지나면 refresh를 할 건데 어태커가 탈취해 간 refresh토큰도 쓸모가 없어진다는 장점, 보안성이 비교적 좋음. 하지만 그럼 의미가 퇴색된다.
- refresh토큰의 유효기간을 길게 준 의미가 없는데? > 사용자가 사용하지 않아도 로그인을 유지
> 사용자에게 지급되었던 at와 ft를 확인하는 방법
>> 메모리상에서 확인, DB에서 확인 = Redis를 사용
- 엑세스 토큰 만료 여부 :
2. 그대로 둘 것이냐.
- refresh토큰은 access토큰보다 남은 시간이 얼마 안 남았을 경우만 새로 발행을 하는 경우
1. Access 토큰 만료 여부
ㅣ
2-1. 만료되지 않았다
> 전달된 at, rt 그대로 다시 전송
2-2 만료됨
> 판단 해야한다. refresh토큰의 남은 시간