woowacourse / tecoble-comments

0 stars 0 forks source link

post/2021-10-20-refresh-token/ #55

Open utterances-bot opened 2 years ago

utterances-bot commented 2 years ago

refresh token 도입기

❗ SSR 상에서 refresh token을 도입하면서 느낀 것들을 작성한 글입니다. ❗ SSR에서 로그인이 어떻게 이루어지는지 궁금하시면 여기를 참고해주세요! 도입 계기 - 2시간이 지나면 로그인이 풀린다! 현재 진행하고 있는 놀토 앱은 access…

https://tecoble.techcourse.co.kr/post/2021-10-20-refresh-token/?utterances=29dbc8e2642a188873e81aa7dwZA%2Fl5l4ruDxSmgN4ZZyC0%2BLRkoc4hMJ8%2BGb7fVG%2F5fTMc%2F447s8qUf%2Fvordz8DnZcrE8lxUa8Yb7GGv48pDm3Nq02%2BDYrd7mx9%2Ftx1ivBGDiQx%2Bg9%2BRLYunQM%3D

jayyhkwon commented 2 years ago

글 잘 읽었습니다~ 궁금한 점이 있어 댓글 남겨요.

"토큰 탈취 당한 경우 refreshToken을 삭제하여 강제 로그아웃 시킬 수 있다" 라고 적어 주셨어요. 그렇다는 말은 API 요청마다 refreshToken을 확인한다 == 세션 방식 인것 같아서 그럼에도 불구하고 JWT로 구현하신 이유가 있을까요?

hoyashu commented 1 year ago

많은 고민을 하신 게 느껴지는 글이네요. 잘 읽고 갑니다.

kshshkim commented 1 year ago

요청을 보내기 전에 프론트 단에서 JWT의 유효기간을 먼저 확인하고 재발급 여부를 결정하는게 맞지 않을까요? 유효기간이 만료된 토큰으로 들어온 요청에 대해서 이것이 비정상 요청인지, 아니면 프론트단 로직대로 발생한 정상적인 요청인지 구분하는데 어려움이 생기지 않을까 싶습니다.

추가로 Access Token이 필요하지 않은데도 일정 주기마다 발급되는 것은 보안상 문제를 일으키지 않을까 하는 의문이 듭니다. Access Token 자체를 수동으로 revoke하는게 불가능하기 때문에 필요한 경우에만 발급하는 것이 이상적일 것 같습니다. 다만 짧은 시간 동안 많은 요청이 동시에 발생할 것이라고 예측되는 상황이라면 access token 발급 시점을 분산해서 얻는 이득이 있을 것이라고 생각합니다.