실전 프로젝트 [눈치, 코치, 캐치!] 진행 상황
API 명세 작성하기
어제 백엔드 팀원들과 작성했던 ERD를 토대로
프론트엔드 팀원들까지 전체 팀원이 모여 API 명세서를 작성했다.
아무래도 리얼타임 게임 서비스이다 보니 WebSocket에 관련된 부분은 명세를 작성하기가 어려웠다😭
일단은 데이터의 흐름만 참고하는 느낌으로 작성해 보았는데
중간에 많은 수정과, 많은 소통이 있을 예정..^^
kakao 소셜 로그인
제일 먼저 완성한 카카오 소셜 로그인 기능을 클라이언트와 맞춰 보았다.
역시나 한 번에 되는 법이 없지!
1) Redirect URI mismatch
처음에 잘못 설정해 주었던 부분은 Redirect URI 부분이었다.
최초 인증 요청 시 요청한 Redirect URI와 토큰 요청의 Redirect URI가 같아야 한다!
📚 참고 자료
2) authorization code not found
"{"error_description":"authorization code not found for code=c75W-8yd0CcTzL8iVQisQXli60iQMNnKomz8oO4b09IjVAoqJQ8AAAGFdoX1cw","error_code":"KOE320"}”
인가 코드에 관한 에러였다.
같은 인가 코드를 2번 받아 와서 생기는 문제였고, 인가 코드를 새롭게 발급받아 해결하였다.
카카오 소셜 로그인은 아무래도 내가 구현한 부분이 아니다 보니
에러해결에 있어 도움을 드리기가 쉽지 않았지만
우리 팀의 첫 협업이었기에 모두가 달려들어 결국 해냈다!
WebSocket(STOMP)
저번 WebRTC 연결 성공에 이어, STOMP까지 올린 WebSocket 텍스트 채팅 기능을 테스트 중이다.
일단 작은 기능부터 구현하면서 어떤 방식으로 통신하는지 감을 익히고 있다.
지금은 연결 자체가 안 되는 것 같지만.. 계속해서 시도해 봐야겠다.
다음은 STOMP에 대해 공부한 내용들!
- 클라이언트는 메시지를 보내기 위해 SEND 명령을 사용하거나 수신 메시지에 관심을 표현하기 위해 SUBSCRIBE 명령을 사용할 수 있다.
- SEND, SUBSCRIBE 같은 명령을 사용하려면 destination이라는 헤더를 필요로 하는데 destination 헤더는 어디에 메시지를 전송할지 그리고 어디에서 메시지를 구독할지를 알려주는 헤더이다.
- 클라이언트가 SUBSCRIBE 메소드를 사용하면 destination이라는 헤더로 어디로 메시지를 보낼지 명시해서 보내야 한다는 것을 알 수 있다.
- "topic/.../.../" 주소는 publish-subscribe 방식의 one to many 일 때 사용하고,
- "queue/.../"은 point to point 방식의 one to one 일 때 사용된다.
- @MessageMapping으로 요청이 들어오면 @SendTo로 들어온 요청(메시지)을 전부 브로드캐스팅 하게 된다. 이때 프론트에서 동일 방 인원들에 대해 Subscribe를 걸어놓는다.
- 서버에서는 브로드캐스팅 하기 전에 필요한 로직을 중간에 수행하면 된다.
'📝 TIL' 카테고리의 다른 글
[TIL] 9주차 실전 프로젝트ㅣ WebRTC로 게임 준비 로직 구현 (0) | 2023.01.13 |
---|---|
[TIL] 8주차 실전 프로젝트ㅣ소소한 의사 결정과 WebRTC 시작 (0) | 2023.01.02 |
[TIL] 7주차 실전 프로젝트ㅣ게임 기획에 살 붙이기 (0) | 2022.12.31 |
[TIL] 7주차 실전 프로젝트ㅣ주간 시작과 기획 회의 (0) | 2022.12.30 |
[TIL] 7주차 클론 코딩ㅣairbnb 클론 코딩 발표 (0) | 2022.12.30 |