240112 최종 프로젝트 TIL

yujin·2024년 1월 12일
0

TIL

목록 보기
27/48
post-thumbnail
post-custom-banner

2024-01-12

오늘의 작업 내용

  • 디스코드 OAuth2 인증을 처리하기 위한 컨트롤러 구현
  • 인증 후 사용자 정보를 가져오고, 해당 사용자를 서버에 추가하는 로직을 서비스에 추가.
  • 디스코드 API의 데이터 구조를 반영하는 TypeScript 인터페이스를 정의하고 적용.

진행 상황

  • 사용자 인증 부분인 디스코드를 통한 로그인 구현 및 테스트 완료.
  • 인증을 마친 사용자를 디스코드 내 특정 서버에 추가하는 로직 구현 및 테스트 완료.
  • 세션에 엑세스 토큰 및 유저의 고유 디스코드 ID를 저장하는 로직 구현 및 테스트 완료.

겪은 문제 및 해결책

1. 디스코드 OAuth2에서 리다이렉션 URL이 잘못되었다는 문제.

  • 서버의 포트가 3000인 줄 알았으나, 5001이어서 발생했던 문제.

2. 디스코드 사용자 ID를 세션에 저장하는 과정에서 타입 불일치 문제.

  • DiscordUser 인터페이스와 User 엔티티 간에 일치하지 않는 필드 이름을 조정하여 문제 해결.

3. swagger에서 디스코드 인증 관련 API가 작동하지 않는 문제.

  • 웹사이트에선 작동하나, swagger를 통한 테스트만 CORS 에러가 발생함.
  • 디스코드 API 정책의 문제인거 같아 마땅한 해결 방안을 찾지 못하고, 임시로 html을 구현하여 테스트를 진행함.

내일의 계획

  • 디스코드 봇 생성 관련 로직들 찾아보기.
  • 주말동안 잘 쉬기.

회고

  • 외부 API를 가져와서 쓰는 건 매번 온갖 에러를 동반했는데, 이제 슬슬 적응을 한 건지 아니면 디스코드 API가 친절한건지 에러가 별로 안 떠서 좋았음.

참고 자료

profile
고통 받는 코딩일기
post-custom-banner

0개의 댓글