diff --git a/src/main/java/com/ku/covigator/dto/response/KakaoSignInResponse.java b/src/main/java/com/ku/covigator/dto/response/KakaoSignInResponse.java index 1934dcc..7531c7f 100644 --- a/src/main/java/com/ku/covigator/dto/response/KakaoSignInResponse.java +++ b/src/main/java/com/ku/covigator/dto/response/KakaoSignInResponse.java @@ -4,14 +4,14 @@ import com.fasterxml.jackson.databind.annotation.JsonNaming; @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) -public record KakaoSignInResponse(String accessToken, String isNew, String refreshToken, String nickname, String email) { +public record KakaoSignInResponse(String accessToken, String isNew, String refreshToken, String nickname, String email, String imageUrl) { - public static KakaoSignInResponse fromNewMember(String accessToken, String refreshToken, String nickname, String email) { - return new KakaoSignInResponse(accessToken, "True", refreshToken, nickname, email); + public static KakaoSignInResponse fromNewMember(String accessToken, String refreshToken, String nickname, String email, String imageUrl) { + return new KakaoSignInResponse(accessToken, "True", refreshToken, nickname, email, imageUrl); } - public static KakaoSignInResponse fromOldMember(String accessToken, String refreshToken, String nickname, String email) { - return new KakaoSignInResponse(accessToken, "False", refreshToken, nickname, email); + public static KakaoSignInResponse fromOldMember(String accessToken, String refreshToken, String nickname, String email, String imageUrl) { + return new KakaoSignInResponse(accessToken, "False", refreshToken, nickname, email, imageUrl); } } diff --git a/src/main/java/com/ku/covigator/dto/response/TokenResponse.java b/src/main/java/com/ku/covigator/dto/response/TokenResponse.java index 8b7e042..3e5e975 100644 --- a/src/main/java/com/ku/covigator/dto/response/TokenResponse.java +++ b/src/main/java/com/ku/covigator/dto/response/TokenResponse.java @@ -4,9 +4,9 @@ import com.fasterxml.jackson.databind.annotation.JsonNaming; @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) -public record TokenResponse(String accessToken, String refreshToken, String nickname, String email) { +public record TokenResponse(String accessToken, String refreshToken, String nickname, String email, String imageUrl) { - public static TokenResponse from(final String accessToken, final String refreshToken, final String nickname, final String email) { - return new TokenResponse(accessToken, refreshToken, nickname, email); + public static TokenResponse from(final String accessToken, final String refreshToken, final String nickname, final String email, final String imageUrl) { + return new TokenResponse(accessToken, refreshToken, nickname, email, imageUrl); } } diff --git a/src/main/java/com/ku/covigator/service/AuthService.java b/src/main/java/com/ku/covigator/service/AuthService.java index 0a77d5a..5dcbe70 100644 --- a/src/main/java/com/ku/covigator/service/AuthService.java +++ b/src/main/java/com/ku/covigator/service/AuthService.java @@ -61,7 +61,7 @@ public TokenResponse signIn(String email, String password) { String refreshToken = createRefreshToken(); redisUtil.setDataExpire(refreshToken, String.valueOf(member.getId()), rtrProperties.getExpirationLength()); - return TokenResponse.from(accessToken, refreshToken, member.getNickname(), member.getEmail()); + return TokenResponse.from(accessToken, refreshToken, member.getNickname(), member.getEmail(), member.getImageUrl()); } // 로컬 회원가입 @@ -91,7 +91,7 @@ public TokenResponse signUp(Member member, MultipartFile image) { String refreshToken = createRefreshToken(); redisUtil.setDataExpire(refreshToken, String.valueOf(member.getId()), rtrProperties.getExpirationLength()); - return TokenResponse.from(accessToken, refreshToken, savedMember.getNickname(), savedMember.getEmail()); + return TokenResponse.from(accessToken, refreshToken, savedMember.getNickname(), savedMember.getEmail(), savedMember.getImageUrl()); } // 카카오 회원가입 @@ -112,7 +112,7 @@ public KakaoSignInResponse signInKakao(String code) { String accessToken = jwtProvider.createToken(savedMember.get().getId().toString()); String refreshToken = createRefreshToken(); redisUtil.setDataExpire(refreshToken, String.valueOf(savedMember.get().getId()), rtrProperties.getExpirationLength()); - return KakaoSignInResponse.fromOldMember(accessToken, refreshToken, savedMember.get().getNickname(), savedMember.get().getEmail()); + return KakaoSignInResponse.fromOldMember(accessToken, refreshToken, savedMember.get().getNickname(), savedMember.get().getEmail(), savedMember.get().getImageUrl()); } // 신규 닉네임 생성 @@ -125,7 +125,7 @@ public KakaoSignInResponse signInKakao(String code) { String accessToken = jwtProvider.createToken(newMember.getId().toString()); String refreshToken = createRefreshToken(); redisUtil.setDataExpire(refreshToken, String.valueOf(newMember.getId()), rtrProperties.getExpirationLength()); - return KakaoSignInResponse.fromNewMember(accessToken, refreshToken, newMember.getNickname(), newMember.getEmail()); + return KakaoSignInResponse.fromNewMember(accessToken, refreshToken, newMember.getNickname(), newMember.getEmail(), newMember.getImageUrl()); } diff --git a/src/test/java/com/ku/covigator/controller/AuthControllerTest.java b/src/test/java/com/ku/covigator/controller/AuthControllerTest.java index 5735a9e..a1278eb 100644 --- a/src/test/java/com/ku/covigator/controller/AuthControllerTest.java +++ b/src/test/java/com/ku/covigator/controller/AuthControllerTest.java @@ -49,7 +49,7 @@ void signIn() throws Exception { //given String email = "covi@naver.com"; String password = "covigator123"; - TokenResponse response = new TokenResponse("access-token", "refresh-token","김코비", email); + TokenResponse response = new TokenResponse("access-token", "refresh-token","김코비", email, "www.image.com"); PostSignInRequest request = new PostSignInRequest("covi@naver.com", "covigator123"); given(authService.signIn(email, password)).willReturn(response); @@ -63,7 +63,8 @@ void signIn() throws Exception { .andExpect(jsonPath("$.access_token").value(response.accessToken())) .andExpect(jsonPath("$.refresh_token").value(response.refreshToken())) .andExpect(jsonPath("$.nickname").value(response.nickname())) - .andExpect(jsonPath("$.email").value(response.email())); + .andExpect(jsonPath("$.email").value(response.email())) + .andExpect(jsonPath("$.image_url").value(response.imageUrl())); } @DisplayName("회원 가입한다.") @@ -87,7 +88,7 @@ void signUp() throws Exception { objectMapper.writeValueAsBytes(request) ); - TokenResponse response = new TokenResponse("access-token", "refresh-token", "covi", "covi123@naver.com"); + TokenResponse response = new TokenResponse("access-token", "refresh-token", "covi", "covi123@naver.com", "www.image.com"); given(authService.signUp(any(), any())).willReturn(response); @@ -102,14 +103,15 @@ void signUp() throws Exception { .andExpect(jsonPath("$.access_token").value(response.accessToken())) .andExpect(jsonPath("$.refresh_token").value(response.refreshToken())) .andExpect(jsonPath("$.nickname").value(response.nickname())) - .andExpect(jsonPath("$.email").value(response.email())); + .andExpect(jsonPath("$.email").value(response.email())) + .andExpect(jsonPath("$.image_url").value(response.imageUrl())); } @DisplayName("신규 회원에 대한 카카오 로그인을 요청한다.") @Test void signInKakaoNewMember() throws Exception { //given - KakaoSignInResponse response = KakaoSignInResponse.fromNewMember("access-token", "refresh-token", "covi", "covigator@naver.com"); + KakaoSignInResponse response = KakaoSignInResponse.fromNewMember("access-token", "refresh-token", "covi", "covigator@naver.com", "www.image.com"); given(authService.signInKakao("code")).willReturn(response); //when //then @@ -122,7 +124,8 @@ void signInKakaoNewMember() throws Exception { jsonPath("$.refresh_token").value("refresh-token"), jsonPath("$.is_new").value("True"), jsonPath("$.nickname").value("covi"), - jsonPath("$.email").value("covigator@naver.com") + jsonPath("$.email").value("covigator@naver.com"), + jsonPath("$.image_url").value("www.image.com") ); } @@ -130,7 +133,7 @@ void signInKakaoNewMember() throws Exception { @Test void signInKakaoOldMember() throws Exception { //given - KakaoSignInResponse response = KakaoSignInResponse.fromOldMember("access-token", "refresh-token", "covi", "covigator@naver.com"); + KakaoSignInResponse response = KakaoSignInResponse.fromOldMember("access-token", "refresh-token", "covi", "covigator@naver.com", "www.image.com"); given(authService.signInKakao("code")).willReturn(response); //when //then @@ -143,7 +146,8 @@ void signInKakaoOldMember() throws Exception { jsonPath("$.refresh_token").value("refresh-token"), jsonPath("$.is_new").value("False"), jsonPath("$.nickname").value("covi"), - jsonPath("$.email").value("covigator@naver.com") + jsonPath("$.email").value("covigator@naver.com"), + jsonPath("$.image_url").value("www.image.com") ); }