강의

멘토링

커뮤니티

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

xorals94님의 프로필 이미지
xorals94

작성한 질문수

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

AuthorizationHeaderFilter 구현

accesstoken로 인증 후 다른서비스 호출 시 유저정보를 어디서 받아와야 하는지 궁금합니다.

작성

·

530

0

안녕하세요! 좋은강의 잘 듣고있습니다!

강의를 들으면서 궁금한점이 있는데요.

accesstoken로 인증 후 다른서비스 호출 시 유저정보를 어디서 받아와야 하는지 궁금합니다.

예를들어 apigateway인증후 회원이 주문을 할경우 주문을한 회원 아이디(memberId) PK 가 주문서비스에서는 필요할것 같은데요.

현재 api gateway에서 인증 후 주문서비스에서 해당 토큰에 대한 payload에서 유저 PK를 받아와야 하는것인지 다르게 받을 수 있는 방법이 있는것인지.. 궁금합니다.

 

답변 1

1

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

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

apigateway-service에서 JWT 인증 후에, 해당 서비스(order-service나 user-service)로 이동을 하게 되는데, 이동된 서비스(order-service나 user-service)에 JWT를 header를 통해 전달하실 수 있습니다. 해당 서비스에서는 Header에 포함된 정보를 이용하여 사용자 인증여부 및 아이디를 확인하실 수 있습니다.

그리고, apigateway-service를 사용하는 목적은 각각의 서비스들에서 별도로 인증을 하지 않고, 비즈니스 본연의 업무에 충실(비즈니스 로직)하기 위함이기 때문에, apigateway에서 JWT를 인증한 다음에, 해당 서비스로는 요청 파라미터만 전달해서 사용하실 수도 있습니다. 물론 apigateway에 문제가 생기면 서비스 전체에 영향을 미칠 수 있는 SPOF(Single Points of Failure)의 문제도 있기 때문에, 이중화로 구성하시는게 필요합니다. 

감사합니다. 

xorals94님의 프로필 이미지
xorals94

작성한 질문수

질문하기