작성
·
325
0
기존 MSA 방식이 아닌 설계에서는 JWT를 직접 검증하여 해당 JWT에 들어있는 정보를 가지고 유저정보를 가져와 SecurityContextHolder에 넣어서 사용했었습니다.
그러나 이번 강의에서처럼 apigateway-service에서 토큰의 유효성을 검증한다면 토큰에 들어있는 유저정보에 대한 값을 사용하기 위해서는 user-service에서 다시 한번 토큰에서 값을 추출하는 과정을 거쳐야 할 것 같습니다.
위와같은 상황에서는 gateway에서 1번, user-service에서 1번씩 총 두번의 JWT 검증을 하게 되는데, 이 방법 말고는 다른 방법이 없을까요?
답변 1
0
안녕하세요, 이도원입니다.
user-service가 외부에서의 직접적인 접속을 막고, gateway를 통해서만, 서비스가 가능하도록 구축하셨다면, gateway에서 사용자 인증을 하고, user-service에서 다시 인증을 거치지 않아도 되지 않을까 싶습니다. 사용자 인증을 거치지 않으면, user-service를 사용할 수 없다는 의미이기 때문에, 인증처리는 한번으로 될 것 같습니다.
추가로, gateway, user-service에서의 인증 처리 외에, 별도의 인증처리 서비스를 두고 처리하는 방법이 있습니다. 인증을 위한 별도의 서비스를 추가하는 방법으로, 흔히 말하는 SNS 로그인 서비스(OAuth 인증)를 사용하여 구현하면 어떨까 싶습니다.
감사합니다.