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

김은재님의 프로필 이미지
김은재

작성한 질문수

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

JWT를 이용한 인증 - 암호화 키 분리 및 개선

인증요청시 문의드립니다.

작성

·

591

0

강의진행중 궁금한게 있어서 문의드렸습니다!
강의중에 토큰이 탈취될수도 있다고하셔서
String jws = Jwts.builder() .setSubject(String.valueOf(userId)) .signWith(key) .setIssuedAt(new Date()) .compact();
코드를 넣어주셨습니다. 매번 다른 accessToken값이 나올수 있도록이요! 그 결과 로그인 시마다 매번 다른 토큰값이 나오는데, 로그인을 하고나서 기존의 토큰값으로 /foo 메소드를 호출하여도 인증이 되는데 왜 그런걸까요??

1. 로그인시 abc토큰이 나와서 abc토큰으로 /foo 컨트롤러를 호출함 인증됨
2. 또 한번 로그인시 abcd토큰이 나옴. 그런데 이전 로그인 토큰이였떤 abc토큰으로 /foo 컨트롤러를 호출하여도 인증 성공됨.
왜 그런지 궁금합니다!

답변 3

5

호돌맨님의 프로필 이미지
호돌맨
지식공유자

흠.. 알려드릴까요 말까영

0

리졸버에서 key로 verifyWith() 하는데 key가 같아서요

호돌맨님의 프로필 이미지
호돌맨
지식공유자

알아내셨군요!

0

setIssuedAt(new Date()) 으로 인해 매번 생성되는 token이 달라지지만, secretKey를 통해 인증된 subject에 입력된 내용은 달라지지 않기 때문에 인증에 성공합니다.

김은재님의 프로필 이미지
김은재

작성한 질문수

질문하기