강의

멘토링

커뮤니티

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

lulala님의 프로필 이미지
lulala

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

AuthorizationHeaderFilter 구현

userId 값 확인하는 로직

작성

·

252

0

userId 값 확인하는 로직은 직접 해보라고 하셨는데

질문1.

header에 있던 token값을 복호화 하여 알아낸 userId값과

header에 있는 userId값과 비교하는 건가요??

질문2.

이 부분이 자꾸 헷갈리는데

userId값을 비교하는 이유가 위변조의 확인을 위한것이라고 한거같습니다.

공격자가 secret키를 모르기 때문에 token값의 복호화가 불가능하다고 가정하고

서버에서는 secret키로 token을 복호화함으로써 header에 있던 userId와 token의 userId와 확인을 한다는 것인가요?

즉, header에 있던 userId값이 위변조 된값인지 확인을 하는것인가요??   

답변 1

2

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

답변1) 맞습니다. 토큰이 위변조 되었는지 유효한 토큰인지 파악해 보기 위한 방법으로 userId를 비교해 보도록 하였습니다.

답변2) 네 맞습니다. 목적은 토큰이 유효한지를 판단하는 겁니다. 만약 토큰을 복호화 할 수 없다면, 인증자체가 안될 것이고, 복호화 할 수 있다고 하더라도, Expire date를 확인하고, 그 다음로 복호화 된 정보 중 사용자Id가 유효한지 체크해 보시면 됩니다. header의 userId값에 대한 위변조 문제라기 보다는 토큰에 대한 유효성 검사가 주 목적입니다. 

감사합니다. 

lulala님의 프로필 이미지
lulala

작성한 질문수

질문하기