해결된 질문
작성
·
1.1K
0
안녕하세요! 좋은 강의 제공해주셔서 감사합니다. 다름이 아니라, 수업에서 JWT 토큰 유효성 로직을 api gateway service에 구현했는데, user-service가 아닌 gateway service에 구현한 이유가 있을까요?
api gateway에 토큰 유효성 로직을 구현하게 되면, 만료된 토큰으로 api gateway를 거치지 않고 바로 user-service에 요청하는 경우, 토큰 유효성 검사를 하지 않아서 문제가 발생할 수 있지 않나요?
답변 1
0
안녕하세요, 이도원입니다.
API Gateway의 사용 용도는 사용자의 요청에 따른 서비스에 대한 진입로 결정 및 분산 처리 뿐만 아니라, 일괄적인 로그인 처리, 로깅 처리, 트래픽 제어 등의 작업을 하기 위함입니다. 따라서, 강의에서는 api-gateway 서비스를 사용자에 대한 단일 진입점을 만들어 줌과 동시에, 로그인 처리도 api-gateway를 통해서 처리한 다음, user-servier, order-service, catalog-service 등을 호출하고 있습니다. 사용자 인증에 대한 처리는 user-service에만 추가되어 있는데, order-service, catalog-service 모두 같은 처리로 하실 수 있을거라 생각됩니다. 물론, 말씀하신 내용처럼 user-service에서 사용자 인증 처리를 하실 수도 있습니다만, 앞서 말씀드린 것 처럼, api-gateway 서비스의 용도에 로그인 처리를 포함시켜 진행했다고 보시면 좋을 것 같습니다. 그리고 api-gateway를 거치지 않고 user-service 등을 직접 호출한 경우에는 토큰에 대한 유효성 체크가 안될수 있다고 하는 부분은 맞습니다만, user-service와 같은 서비스 레벨의 MSA를 반드시 api-gateway를 통해서만 실행될 수 있도록 설정하면, 굳이 모든 서비스에서 인증처리가 필요하지 않을 수 있습니다. 참고해 주세요.
감사합니다.