인프런 커뮤니티 질문&답변
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
지식공유자
안녕하세요, 이도원입니다.
답변1) 맞습니다. 토큰이 위변조 되었는지 유효한 토큰인지 파악해 보기 위한 방법으로 userId를 비교해 보도록 하였습니다.
답변2) 네 맞습니다. 목적은 토큰이 유효한지를 판단하는 겁니다. 만약 토큰을 복호화 할 수 없다면, 인증자체가 안될 것이고, 복호화 할 수 있다고 하더라도, Expire date를 확인하고, 그 다음로 복호화 된 정보 중 사용자Id가 유효한지 체크해 보시면 됩니다. header의 userId값에 대한 위변조 문제라기 보다는 토큰에 대한 유효성 검사가 주 목적입니다.
감사합니다.





