질문&답변
secretkey의 용도, 토큰의 위,변조 검증, userId검증로직 질문드립니다.
저도 강의를 보면서 이 부분이 이해가 안가서 댓글 남깁니다. 반복적으로 들어오는 질문인 것 같은데. 다른 질문들의 답변을 읽어도 와닿지가 않네요. 강사님이 아니더라도 이해하신분은 답글 남겨주세요 🙏 애초에 secret key 가 노출되지 않았으면 토큰을 위조(토큰을 새로 만듬) 하거나 변조(토큰을 수정) 할 수 있나요? secret 값을 모르는 상황에서 토큰을 위변조해봤자. 서버에서 토큰을 parse 과정에서 에러가 발생하겠죠. 만약 secret key가 노출되어서 위변조 할 수 있다고 가정하면. 위변조 하는 사람이 토큰을 만들 때 사용한 userId 를 userId header에 담아주면 userId를 비교하는 로직은 의미가 없는 게 아닌가요? 강사님의 위의 답변 중 일부 내용입니다. apigateway-service의 header 값에 token과 userId를 직접 전달하고, 복호화 된 token의 정보(userId를 저장하였습니다)와 userId를 비교하여 token의 위변조가 없었는지 확인할 수도 있고 token의 userId는 payload 부분에 들어있고 payload는 암호화가 아닌 base64로 인코딩 되어있기 때문에 secret key 가 없어도 누구나 decode 할 수 있죠. 누구나 얻어낼 수 있는 userId를 따로 헤더에 담고 비교하는 게 위변조를 어떻게 알 수 있는지 궁금합니다.
- 좋아요수
- 1
- 댓글수
- 3
- 조회수
- 1186





