인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

vividjtj7313's profile image
vividjtj7313

asked

Microservices Application (MSA) Developed with Spring Cloud

Orders Microservice - Function Implementation ②

localhost:0/order-service/{user_id}/orders, user_id 관련 질문

Written on

·

360

0

1. API주소에서 "{user_id}"는 서버에서 디비에 저장된 값을 클라이언트에 주고 그 이후에 클라이언트로부터 받는건가요?

2. 클라이언트로부터 받는거라면은, 클라이언트쪽에선 어디에 저장 해놓나요? 쿠키인가요? 로컬스토리지 인가요?

spring-bootarchitectureJPAspring-cloudmsaKafka

Answer 1

0

kenneth님의 프로필 이미지
kenneth
Instructor

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

user_id는 회원 가입시 자동으로 생성되도록 UserServiceImple 클래스의 createUser 메소드에 구현되었습니다. 회원가입이 완료되고 클라이언트에게 가입완료에 대한 Response를 전달할 때 201 Status Code, Token과 함꼐 Header에 추가되어 전달되었습니다. 그 후 클라이언트가 order 등의 서비스를 사용할 때, Response Header에 있는 user-id를 사용하시면 됩니다. 강의에서는 Frontend 부분을 작업하지 않았기 때문에, Response Header에 저장된 값을 어떤 형태로 저장하는지에 대해서는 설명드리지 못했지만, 브라우저의 로컬 스토리지 또는 세션 스토리지 등에 저장하여 사용하실 수 있습니다. 

감사합니다. 

vividjtj7313님의 프로필 이미지
vividjtj7313
Questioner

안녕하세요 강사님 답변 감사합니다.

그렇다면, 

로그인시 {user_id}는 클라이언트에서 로컬 스토리지 또는 세션 스토리지에 저장하고,

JWT토큰은 클라이언트에서 쿠키에 저장 했다가 Request 할 때마다 쿠키에 실어서 보내는 건가요?

정답은 없지만, 가장 보편적으로 사용 방법이 뭔지 궁금합니다.

그리고 백엔드에서 httpOnly로 클라이언트에 토큰을 보내는건가요?

 

요약 하자면,

1. 백엔드에서 jwt토큰을 httpOnly로 클라이언트쪽으로 토큰을 보내는건가요?

2. 위 1번에서 보낸 토큰을 클라이언트쪽에서 쿠키에 저장 했다가 Request할 때마다 쿠키에 실어서 보내나요?

3. 그렇다면 전체적으로 보았을 때, 클라이언트에서는 세션 스토리지 (또는 로컬 스토리지)에 user_id와 쿠키에 jwt토큰을 가지고 있는건가요?

vividjtj7313's profile image
vividjtj7313

asked

Ask a question