오늘 할 것


EC2 수정 배포

연동 잘 되는지 확인

안건


  1. API 요청을 보냈으나 Access Token이 만료되어서 Refresh Token으로 갱신되었을 때

  2. 질문 | 패널 로직

  3. 토큰 발급 로직

    1. 서버는 클라이언트에게 토큰을 다음과 같이 발급한다.
      • accessToken: payload
      • refreshToken: HTTP only Cookie
    2. 클라이언트는 발급받은 토큰을 인메모리에 저장한다.
    3. 클라이언트는 서버에게 요청을 보낼 때 베어러 토큰에 보낸다.

    기존의 API 로직에서는 cookie를 통해서 accessToken과 refreshToken을 주고받기로 했었는데 패널 페이지에서 toquizToken도 cookie를 통해서만 주고받자니 ws에서는 cookie를 사용할 수 가 없고 사용자가 쿠키를 지워버리면 다시 toquizToken을 발급 해줘야 되는데 클라이언트에서

    <aside> 👀 API 서버와 Socket 서버 통신 어떻게..?

    일반적으로, 클라이언트가 직접 API 서버에 요청을 보내는 것이 좋습니다. 이는 API 서버가 직접 클라이언트와 통신하기 때문에 보안상의 이점이 있을 뿐만 아니라, 중간 서버가 존재하는 경우 네트워크 대역폭이 더 많이 사용될 수 있기 때문입니다.

    따라서, socket 서버에서 API 서버에 직접 요청을 보내는 것보다, 클라이언트가 직접 API 서버에 요청을 보내는 것이 더 효율적입니다. 이 경우, socket 서버는 클라이언트와의 실시간 통신을 담당하고, 필요한 경우 클라이언트로부터 받은 요청을 API 서버로 전달하거나, API 서버로부터 받은 응답을 클라이언트에 전달하는 역할을 수행합니다.

    또한, API 서버와 socket 서버가 서로 분리되어 있는 경우, socket 서버는 일반적으로 클라이언트와 더 가깝게 위치하고 있으므로, 클라이언트가 socket 서버에 직접 요청을 보내는 것이 더 빠를 수 있습니다. 이 경우, socket 서버는 API 서버와의 통신을 처리하는 부분을 클라이언트에게 숨기고, 필요한 경우 API 서버에 요청을 보내서 클라이언트에게 필요한 데이터를 반환하는 역할을 수행할 수 있습니다.

    따라서, 클라이언트가 API 서버에 직접 요청을 보내는 것이 가장 일반적인 방법이지만, 상황에 따라 socket 서버에서 API 서버로 요청을 보내는 것이 더 적절할 수 있습니다.

    </aside>