따라서 사용자 정보를 조회할 때 Google 사용자의 nickname 필드의 값이 null인 경우 default 값으로 Guest 값을 할당하기로 하였다.
🛠 Features
[ ] 로그인 과정에서 SocialUserInfo 객체의 nickname 필드의 값이 null일 경우 Guest String 값 대입
혹시 유저가 닉네임을 변경해서 null -> guest였던 닉네임이 다른 닉네임으로 변경되어도 로그인이 잘 처리되는지 궁금합니다.
해당 이슈를 검증하기 위해 소셜미디어에서 사용자 정보를 조회한 후 변경된 값을 update해주는 로직의 테스트 코드를 작성하였고 닉네임의 변경이 발생하여도 데이터베이스에서 올바르게 update가 발생하는 것을 확인할 수 있습니다!
Test Code
@Test
public void saveOrUpdateTest() throws Exception {
// nickname is null
SocialUserInfo kakaoSocialUserInfo1 = SocialUserInfo.create("KAKAO", "kakao_id", "Guest", "kakak0_imageUrl");
oAuthService.saveOrUpdate(kakaoSocialUserInfo1);
User beforeFindUser = userRepository.findBySocialId("KAKAO_kakao_id")
.orElseThrow(() -> new CustomApiException("Could not find user information by social id"));
assertThat(beforeFindUser.getNickname()).isEqualTo("Guest");
// nickname is not null
SocialUserInfo kakaoSocialUserInfo2 = SocialUserInfo.create("KAKAO", "kakao_id", "kakao_nickname", "kakak0_imageUrl");
oAuthService.saveOrUpdate(kakaoSocialUserInfo2);
User afterFindUser = userRepository.findBySocialId("KAKAO_kakao_id")
.orElseThrow(() -> new CustomApiException("Could not find user information by social id"));
assertThat(afterFindUser.getNickname()).isEqualTo("kakao_nickname");
}
✏️ Description
Google에 소셜 로그인 과정 중 사용자 정보를 조회 과정에서 Google 사용자의
nickname
필드의 값이 null인 경우가 있을 수 있다.nickname
필드 값을 null인 채로 방치한다면 서비스 제공 과정에서 오류가 발생할 수 있다.따라서 사용자 정보를 조회할 때 Google 사용자의
nickname
필드의 값이 null인 경우 default 값으로Guest
값을 할당하기로 하였다.🛠 Features
SocialUserInfo
객체의nickname
필드의 값이 null일 경우Guest
String 값 대입해당 이슈를 검증하기 위해 소셜미디어에서 사용자 정보를 조회한 후 변경된 값을 update해주는 로직의 테스트 코드를 작성하였고 닉네임의 변경이 발생하여도 데이터베이스에서 올바르게 update가 발생하는 것을 확인할 수 있습니다!
Test Code
Result