Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix] 로컬/카카오 로그인 API response에 이미지 Url 추가 #72

Merged
merged 1 commit into from
Oct 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
8 changes: 4 additions & 4 deletions src/main/java/com/ku/covigator/service/AuthService.java
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}

// 로컬 회원가입
Expand Down Expand Up @@ -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());
}

// 카카오 회원가입
Expand All @@ -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());
}

// 신규 닉네임 생성
Expand All @@ -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());

}

Expand Down
20 changes: 12 additions & 8 deletions src/test/java/com/ku/covigator/controller/AuthControllerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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("회원 가입한다.")
Expand All @@ -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);

Expand All @@ -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
Expand All @@ -122,15 +124,16 @@ 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")
);
}

@DisplayName("기존 회원에 대한 카카오 로그인을 요청한다.")
@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
Expand All @@ -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")
);
}

Expand Down
Loading