Spa가 아닌경우 jwt 로그인 전략에 대한 질문입니다

일반 MVC 프로젝트를 생성하여 JWT 로그인을 구현하고,
페이지 이동을 위해 Cookie에 Access Token을 저장하였습니다.
이때 페이지에서 상당한 시간이 지나 Access Token이 만료된 상태에서 페이지 이동을 하는 경우
다시 로그인을 요구하게되는 문제가 발생하게되는데, 이를 해결할 수 있는 방법이 있을까요?

단순 해결책으로는 쿠키에 HttpOnly로 Refresh Token을 저장하고,
만료 이벤트 발생시 Challenge 이벤트에서 Refresh Token 을 이용한 Access Token 을 발급하는 페이지로 Redirect 하여 Token 을 갱신한 뒤,
다시 요청 페이지로 Redirect 하는 방법이 제일 정상적인 방법인 것 같긴합니다만,

Redirect 없이 Challenge 이벤트 내에서 자동으로 Token 갱신(어차피 Cookie니까)이 후, 인증 통과가 가능할까요?
Filter 를 걸어서 인증이벤트 전에 Token 을 확인해보는 작업도 생각해봤으나,
그럼 Token 관련 연산이 2번 들어가기때문에 좋은 작업은 아닌 것 같아서 일단 보류한 상태입니다.

혹시 이런 부분에 대한 해결책이 있을까요?
제가 일반적인 JWT 사용방법에서 너무 벗어나는걸까요?

2 Likes