Laravel JWT Refresh Token 작업...
도커에 익숙해진 후, Laravel JWT 리프레시 토큰 문제에 직면했습니다. 해결책을 찾아가는 과정을 공유합니다. 자세한 경험은 링크를 클릭해 확인해보세요.
한동안 Docker 작업하느라.. 개발을 제대로 못했다.. (그래도 이제는 도커에 대해서 많은걸 이해했다.. 전반적으로 사용은 가능할 정도...)
그래서, 계속해서 작업 들어가는건 Laravel JWT Refresh Token인데..
JWT에 대한 개념도 모호하기도 하고, 세션(쿠키)랑 뭐가 다른가 싶기도 하고... 참으로 난감하고 어려운 문제들이 많다... (나만의 문제..)
어쨌든, 내가 구상하는 것은, 토큰 유지시간이 주어지고, 리프레쉬 시간을 주어진다. (tymon/jwt)
유지시간이 만료되고 나서, 종료된 토큰으로 호출하면, Laravel middleware 에서는 해당 토큰의 리프레쉬 시간 안이라면, 새로운 토큰을 발급하고, 헤더에 새로운 토큰 값을 포함해서 리스폰한다. (이때, 당연히 해당 결과값은 출력해준다)
그렇게, Nuxt.js(클라)에서 받은 리스폰 헤더에 토큰이 존재한다면, 새로운 토큰을 발급 받은것으로 판단해서, 새로운 토큰으로 교체하고, 새롭게 Nuxt.js Auth Module 에서 user 를 호출해서, payload 값을 새롭게 받아와서 로컬 스토리지에 저장한다.
자, 여기까지가 내가 구상한건데..
tymon 에서 리프레쉬 시간이 지나면, 무조건 해당 토큰은 죽어버리게 되어 있다.
여기까지 좋다.. 근데... 지금 현재 발생하는 문제점은 두가지다.