인프런 커뮤니티 질문&답변
JWT TOKEN의 만료시간을 갱신해줄순 없나요?
작성
·
2.9K
0
안녕하세요, 강의 너무 감사합니다.
JWT를 처음 로그인시에 발급할 때 만료시간을 정하는 과정에서,
토큰을 계속 쓰는 상황이라면 토큰의 유효시간을 갱신시켜줘야 불편함이 없을것 같은데, JWT토큰은 만료시간이 지나면 다시 무조건 로그인을 해줘야 하는걸까요?
구글에 검색해보았을때, refresh token 과 accesstoken의 개념이 나오긴 하는데, 따로 api 적으로 갱신하는건 없는지 여쭤봅니다.
아 추가로.,.. jwt 생성시에 subject라는게 있는데 현업에서 보통 어떤 용도로 사용되나요??
답변 1
0
최주호
지식공유자
subject는 토큰 제목이라 임의로 그냥 정하면 되요.
토큰의 종류가 많을때 구분할때 사용하면 되구요.
refresh token 과 accesstoken의 개념으로 시간을 갱신해야 되요.
가장 좋은 로직은 accesstoken 만료시간을 짧게 해요. 그래야 토큰 탈취 당해도 보안적으로 좋아요.
그리고 accesstoken을 가지고 사용자가 요청할 때 시간이 만료되면 그 사용자의 refreshtoken을 db에 저장해뒀다가 그걸 가져와서 다시 accesstoken을 만들어서 응답해주면 되요.
이때 DB에 둬도 되고, 메모리 DB인 레디스에 둬서 사용해도 되요.
저는 개인적으로 그냥 짧게 시간잡고 만료시 재 로그인 요청을 받아요. 젤 안전하긴 하거든요.
stateless에 철학을 잘 지키면서요!





