강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

nighthasa님의 프로필 이미지
nighthasa

작성한 질문수

스프링부트 시큐리티 & JWT 강의

스프링부트 시큐리티 27강 - jwt토큰 서버 구축 완료

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에 철학을 잘 지키면서요!

nighthasa님의 프로필 이미지
nighthasa

작성한 질문수

질문하기