- 리프레시토큰 사용 시 서버에서 리프레시도 버스트시킨다. - ietf 공식문서 권장사항 ( 두 토큰 모두 폐기)
어디에 넣을까?
- http only cookie ( 그냥 cookie 아님 )
- client에서 Dom으로 접근 불가, 탈취 불가하므로 , 리프레시 토큰을 저장하기에 적합
- access token은 header에 넣어야 함 -> http body로 response해도 무방
- 기본적으론 access토큰이 탈취 위험 있고, 그로 인해 refresh가 보완해주는 구조
만약에 http only cookie에 access, refresh 둘 다 넣으면 같은 보안강도인데 의미가 있나?
- 일반적으로 해킹 시 패킷 탈취인데 이는 http header에 직접적으로 들어가는 access토큰이 탈취되는 것이다.
- 리프레시 토큰은 서버에서 보유하고 있어서 인증 시 매칭을 통해 비정상 갱신으로 이전 리프레시를 쓰고 있을 경우 재인증을 유도함으로 탈취자의 인증행위 방지를 해서 같은 보안레벨이라고 해도 의미가 다르다.
https://auth0.com/docs/secure/tokens/refresh-tokens/refresh-token-rotation#automatic-reuse-detection
https://oauth.net/2/
- 현업에서 JWT 단독으로 사용하나요? 안한다면 왜 그렇나요?