Closed BGuga closed 6 months ago
228 files 228 suites 27s :stopwatch: 761 tests 761 :white_check_mark: 0 :zzz: 0 :x: 780 runs 780 :white_check_mark: 0 :zzz: 0 :x:
Results for commit 45323c8b.
:recycle: This comment has been updated with latest results.
일요일까지 처리했어야 하는 기능이므로, 리뷰 반영 없이 우선 머지 처리 하도록 하겠습니다! 리뷰에 답글은 닫힌 PR에 달아주시고, 새로운 이슈로 파서 PR 재요청 부탁드립니다!
📌 관련 이슈
✨ PR 세부 내용
구조나 테스트 부분에서 KakaoOpenIdClient 를 참고하여 구현하였습니다. 넘어온 OpenId 이 정상적인 값인지 확인하기 위해서는 다음 단계가 필요합니다. [출처]
1번은 기존에 있던 KakaoOpenIdPublicKeyLocator 와 동일한 구조를 가진 AppleOpenIdPublicKeyLocator 를 정의해였습니다. 2번은 생략하였습니다. 3,5 번은 JwtParser 를 통해 검증합니다. 4번은 저희의 client-Id와 같은지 validateAudience 메서드를 통해 직접 비교하였습니다.
OpenId의 payload는 다음과 같은 값들이 들어있습니다.
주목할 점은 UserInfo를 만들기 위한 nickname과 profile을 가지고 있지 않습니다. 따라서 UserInfo를 통해 Member를 만드는 과정에서 nickname이 지정되지 않은 상황에 대한 처리가 필요했는데 이는 profile과 동일하게 Member 도메인 내에서 기본 nickname을 생성하게 하였습니다.
infrastructure 내에 class 가 너무 많은 것 같아서 oauth2 와 openid 패키지를 나눠 구분하였습니다. UploadFile의 getUploadUri 가 "https://festago.com2077-06-30/aff16d97-089f-4558-b999-9e5fba54ed8b.png" 처럼 "https://festago.com" 뒤에 "/"가 추가 되지 않아 테스트가 실패하여 추가해주었습니다.