분류 전체보기(191)
-
기존 회원가입,로그인 서비스에 소셜로그인 합치기
❎ 오늘의 진행상황 소셜 로그인용 dto 추가package sparta.nbcamp.wachu.domain.member.dtodata class SocialSignUpRequest( val nickname: String, // nickname을 넣은 이유는 동일한 소셜로그인으로 회원가입한 유저의 nickname이 기존 서비스 회원의 nickname과 중복됬을 경우를 고려했기 때문 val email: String,) service 추가fun socialLogin(request: OAuthResponse): TokenResponse { val loginMember = memberRepository.findByProviderAndProviderId(request.provider, reque..
2024.07.27 -
네이버 소셜 로그인 Error while extracting response for type 오류
❎ 문제발생 카카오에 이어 네이버 소셜 로그인 기능을 추가하여 시도하던 도중 오류 발생 json타입 에러가 발생하였다. 🆘 해결 과정 현재 네이버 소셜로그인을 통해 가져온 정보를 팀프로젝트의 dto로 가져오는 상황에서 문제가 발생한 것으로 보여 디버깅을 실시하였다. .let { naverOAuth2LoginClient.retrieveUserInfo(it) }부분까지는 실행이 잘 되지만.let { OAuthResponse( nickname = it.properties.nickname, providerId = it.id.toString(), profileImageUrl = it.properties.profileImageUrl, provider = ..
2024.07.26 -
소셜 로그인 오류 해결
🆘 해결 과정 화이트 라벨이 발생하니 경로를 확인해보자 @GetMapping("/oauth2/callback/kakao")fun callback( @RequestParam code: String): ResponseEntity { val accessToken: String = kakaoOAuth2LoginService.login(code) return ResponseEntity.ok(accessToken)}callback 함수의 경로를 "/oauth2/kakao/callback " 에서 "/oauth2/callback/kakao"로 수정 수정하고 실행을 해보니 새로운 에러 메시지를 확인하였다.해당 에러 메시지가 발생한 곳에 원인을 찾을수 있을 것으로 보인다.해당부분의 경로에 oauth가..
2024.07.25 -
소셜 로그인 Failed to fetch 오류
❎ 문제발생 와인 서비스 프로젝트에서 기존의 회원가입 로그인 기능에 소셜로그인 기능을 추가하기 위해서 OAuth 기능을 추가한 상황이다.소셜 로그인 기능을 사용하기 위해서 스웨거로 테스트를 했을때 해당 오류가 발생하였다. 🆘 해결 과정 지금 카카오 쪽의 api가 문제인지 아니면 나의 로직 상의 문제인지부터 확인을 해야했다. 디버깅으로 소셜로그인의 흐름을 살펴봤을때는 pageUrl에 값이 들어오긴 한 상황이다.해당 PageUrl은 제대로 된 값인지 확인을 해보았다.https://kauth.kakao.com/oauth/authorize?client_id=3215a3e64cedbd8258a05d024ab3ed66&redirect_url=http://localhost:8080/oauth2/callback/ka..
2024.07.24 -
pagedModel fetchJoin 적용후 redis Cache 적용시 발생하는 오류 해결
✔ 해결 PagedModel은 단순한 데이터 구조가 아닌, 페이지네이션 정보와 함께 리소스 링크 정보를 포함하고 있고 복잡한 구조를 가지고 있기 때문에 직렬화,역직렬화를 진행하는데 문제가 생긴다. 이를 해결하기 위해서는 Redis를 사용할 때 PagedModel을 직접 캐시하기보다는 JSON 형식으로 직렬화하여 저장하거나, 페이지별로 데이터를 캐시하고 페이지네이션을 처리하는 것 또한 하나의 방법이 될 수 있다.하지만 데이터만 캐시하고 후에 캐시된 데이터를 pagedModel 형태로 재조립 하는 과정은 결국에 캐시를 사용하려는 목적(서버의 성능 부하 개선)에는 부합하지 않는다고 판단하여 최종적으로 pagedModel을 사용하지 않고 page 객체를 사용하는 것으로 해결하였다. @Cacheable(value..
2024.07.23 -
pagedModel fetchJoin 적용후 redis Cache 적용시 발생하는 오류
❎ 문제발생 기존 프로젝트에서 pagedModel을 사용하라는 권고 표시가 나와서 pagedModel을 적용을 하였다. 진행하고자 하는 프로젝트에서 프로모션 관련한 api 기능은 많은 사람들이 조회할 수 밖에 없도록 설계되었기 때문에 Cache를 적용하여 성능향상에 도움이 될 수 있도록 Redis Cache를 적용하기로 하였다.@Cacheable(value = ["promotionCache"], key = "#page + '-' + #size + '-' + #sortBy + '-' + #direction")override fun getPromotionWineList( page: Int, size: Int, sortBy: String, direction: String): PagedMo..
2024.07.22