Skip to content

Conversation

@nayonsoso
Copy link
Collaborator

@nayonsoso nayonsoso commented Feb 6, 2025

관련 이슈

작업 내용

  • Apple OAuth 를 구현했습니다.
  • 공통된 로직을 추상화로 재사용하기 위해 기존 카카오 OAuth 구조를 리팩토링했습니다.
  • 회원가입 토큰 Provider 를 구현하고, 회원가입 토큰 유효성 검사를 추가했습니다.

특이 사항

❗️api 에서 변경되는 부분은 다음과 같습니다❗️

  • 애플 인증 엔드포인트 추가됨 : /auth/apple 이 POST 로 code 를 받게 했습니다.
  • 회원가입 시 전달했던 kakaoOauthTokensignUpToken으로 바뀌었습니다. (회의에서 논의된 내용)

참고 : https://dev.to/varsilias/complete-guide-to-implementing-apple-oauth-20sign-in-with-apple-authentication-in-a-nodeexpress-application-4hf

리뷰 요구사항 (선택)

더 좋은 구조가 있을지 리뷰해주세요~

@nayonsoso nayonsoso changed the title Feat/141 add apple oauth feat: 애플 인증 구현 Feb 6, 2025
@nayonsoso nayonsoso requested review from Gyuhyeok99 and wibaek and removed request for Gyuhyeok99 February 6, 2025 07:57
@nayonsoso nayonsoso self-assigned this Feb 6, 2025
Copy link
Contributor

@Gyuhyeok99 Gyuhyeok99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OAuthService를 추상 클래스로 정의하여 OAuth 처리의 공통 흐름을 잘 캡슐화하신 거 같습니다! 👍

특히 protected abstract 메서드를 통해 OAuth 제공자별 차이점이 명확하게 구분해놓으신 게 정말 좋네요! 이런 방식으로 구조화하면 새로운 OAuth 제공자를 추가할 때도 기존 코드를 수정하지 않고 확장할 수 있을 거 같아요. 고생하셨습니다!! ☺️

추가로 더 나은 구조에 대해 여쭤보셔서 제 개인적인 생각만 코멘트에 남겨놨습니다!

@nayonsoso
Copy link
Collaborator Author

nayonsoso commented Feb 6, 2025

✍️ 추가 커밋 설명

사실 클라이언트에서 id_token 를 받아오는게 아니라,
애플 서버와 직접 통신해서 id_token 을 받아오는거라 검증을 하지 않았었는데요😅
애플 공식키로 검증하는게 권장되는 것 같아 추가로 구현했습니다!
캐싱을 적용하여 응답 시간을 최적화해봤습니다.

이 PR 이 머지되면 아래 두 PR 도 머지하겠습니다!

@nayonsoso
Copy link
Collaborator Author

선 구현 후 리팩터링 🏃‍♀️🏃‍♀️🏃‍♀️
일단 머지하겠습니다
개선할 부분 있으면 코멘트 남겨주시고 슬랙으로 멘션 주세요! @wibaek

@nayonsoso nayonsoso merged commit b9a4af8 into solid-connection:main Feb 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

애플 로그인 추가

2 participants