작성
·
318
0
안녕하세요. 질문있어서 게시판에 올립니다.
강의처럼 api-gateway서비스 JWT에 대한 검증을 처리한다면 만약 회원정보를 조회(GET)하는 user-service서비스에서 UserID 필요하다면 JWT에 포함시키지 말고, URI에 포함시켜서 해당 UserID로 데이터를 조회해서 반환해야 하는건가요?
그렇다면 JWT에 포함된 데이터는 비지니스 로직을 위한 데이터라기 보다는 순수하게 JWT 검증만을 위한 데이터만 포함해야 하는건지 궁금해서 질문드립니다.
또 한가지는 api-gateway 서비스에서 JWT 토큰의 UserID를 검증하려면 DB에 접근해야 할텐데 api-gateway 서비스에서 DB에 접근하는 로직이 있어도 상관없는건지 궁금합니다. 사용은 해도 되지만 최대한 자제를 해야 한다거나 아니면 맘대로 사용해도 된다거나 궁금합니다.
답변 1
0
안녕하세요, 이도원입니다.
강의에서는 JWT에 토큰 정보와 USER-ID를 저장하였습니다. 사용자 아이디는 URI에 포함하여 전달할 수 있으며, RESTful API에서는 End point를 지정할 때 리소스의 이름(USER-ID와 같은)을 명시하도록 하여 작업하는 것을 추천하고 있습니다. 말씀하신 것처럼 USER-SERVICE의 목록이나 어떤 정보가 필요한면 URI에 사용자 아이디(USER-ID)를 전달하여 사용하시면 됩니다.
api-gateway에서 로그인 처리를 위한 인증을 할 숭 있습니다. 다만 이번 예제처럼 USER-SERVICE를 사용하는 것 보다는 별도의 인증 서비스나 OAuth를 이용하시는 걸 추천드립니다.
감사합니다.