From 6fe11b1f193ffe3063dd27e5cce8c9502e585a80 Mon Sep 17 00:00:00 2001 From: mcodnjs Date: Tue, 26 Dec 2023 21:24:04 +0900 Subject: [PATCH 1/5] =?UTF-8?q?refactor:=20secure=20resources=20=EC=BF=BC?= =?UTF-8?q?=EB=A6=AC=20=ED=8C=8C=EB=9D=BC=EB=AF=B8=ED=84=B0=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oauthprovider/KakaoOauthProvider.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java b/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java index aec5f80d7..496eb9537 100644 --- a/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java +++ b/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java @@ -2,12 +2,15 @@ import static hanglog.global.exception.ExceptionCode.INVALID_AUTHORIZATION_CODE; import static hanglog.global.exception.ExceptionCode.NOT_SUPPORTED_OAUTH_SERVICE; +import static java.lang.Boolean.TRUE; import hanglog.global.exception.AuthException; import hanglog.login.domain.OauthAccessToken; import hanglog.login.domain.OauthProvider; import hanglog.login.domain.OauthUserInfo; import hanglog.login.infrastructure.oauthuserinfo.KakaoUserInfo; +import java.util.HashMap; +import java.util.Map; import java.util.Optional; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; @@ -24,6 +27,7 @@ public class KakaoOauthProvider implements OauthProvider { private static final String PROPERTIES_PATH = "${oauth2.provider.kakao."; private static final String PROVIDER_NAME = "kakao"; + private static final String SECURE_RESOURCE = "secure_resource"; protected final String clientId; protected final String clientSecret; @@ -57,11 +61,15 @@ public OauthUserInfo getUserInfo(final String code) { headers.setBearerAuth(accessToken); final HttpEntity> userInfoRequestEntity = new HttpEntity<>(headers); + final Map queryParam = new HashMap<>(); + queryParam.put(SECURE_RESOURCE, TRUE); + final ResponseEntity response = restTemplate.exchange( userUri, HttpMethod.GET, userInfoRequestEntity, - KakaoUserInfo.class + KakaoUserInfo.class, + queryParam ); if (response.getStatusCode().is2xxSuccessful()) { From 40721c9927d9d41398fd52f4049cd8a6a72e3478 Mon Sep 17 00:00:00 2001 From: mcodnjs Date: Tue, 26 Dec 2023 21:24:52 +0900 Subject: [PATCH 2/5] =?UTF-8?q?refactor:=20=EC=B9=B4=EC=B9=B4=EC=98=A4=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90=20=EC=A0=95=EB=B3=B4=20=EA=B0=80?= =?UTF-8?q?=EC=A0=B8=EC=98=A4=EA=B8=B0=20=EC=9D=91=EB=8B=B5=EA=B0=92=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oauthuserinfo/KakaoUserInfo.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/backend/src/main/java/hanglog/login/infrastructure/oauthuserinfo/KakaoUserInfo.java b/backend/src/main/java/hanglog/login/infrastructure/oauthuserinfo/KakaoUserInfo.java index 66dc88bca..b2dafa3f0 100644 --- a/backend/src/main/java/hanglog/login/infrastructure/oauthuserinfo/KakaoUserInfo.java +++ b/backend/src/main/java/hanglog/login/infrastructure/oauthuserinfo/KakaoUserInfo.java @@ -13,8 +13,8 @@ public class KakaoUserInfo implements OauthUserInfo { @JsonProperty("id") private String socialLoginId; - @JsonProperty("properties") - private Properties properties; + @JsonProperty("kakao_account") + private KakaoAccount kakaoAccount; @Override public String getSocialLoginId() { @@ -23,20 +23,20 @@ public String getSocialLoginId() { @Override public String getNickname() { - return properties.name; + return kakaoAccount.nickname; } @Override public String getImageUrl() { - return properties.image; + return kakaoAccount.image; } @NoArgsConstructor(access = PRIVATE) - private static class Properties { + private static class KakaoAccount { - @JsonProperty("nickname") - private String name; - @JsonProperty("profile_image") + @JsonProperty("profile.nickname") + private String nickname; + @JsonProperty("profile.profile_image_url") private String image; } } From 40374e92b6ba0a6ceaf8fc55be2a31a6f869b944 Mon Sep 17 00:00:00 2001 From: mcodnjs Date: Tue, 2 Jan 2024 20:52:23 +0900 Subject: [PATCH 3/5] =?UTF-8?q?refactor:=20KakaoProfile=20=EB=82=B4?= =?UTF-8?q?=EB=B6=80=20=ED=81=B4=EB=9E=98=EC=8A=A4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oauthuserinfo/KakaoUserInfo.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/hanglog/login/infrastructure/oauthuserinfo/KakaoUserInfo.java b/backend/src/main/java/hanglog/login/infrastructure/oauthuserinfo/KakaoUserInfo.java index b2dafa3f0..ed2f385fd 100644 --- a/backend/src/main/java/hanglog/login/infrastructure/oauthuserinfo/KakaoUserInfo.java +++ b/backend/src/main/java/hanglog/login/infrastructure/oauthuserinfo/KakaoUserInfo.java @@ -23,20 +23,28 @@ public String getSocialLoginId() { @Override public String getNickname() { - return kakaoAccount.nickname; + return kakaoAccount.kakaoProfile.nickname; } @Override public String getImageUrl() { - return kakaoAccount.image; + return kakaoAccount.kakaoProfile.image; } @NoArgsConstructor(access = PRIVATE) private static class KakaoAccount { - @JsonProperty("profile.nickname") + @JsonProperty("profile") + private KakaoProfile kakaoProfile; + } + + @NoArgsConstructor(access = PRIVATE) + private static class KakaoProfile { + + @JsonProperty("nickname") private String nickname; - @JsonProperty("profile.profile_image_url") + + @JsonProperty("profile_image_url") private String image; } } From 4d822b457640b44fa439d04f2bdd88b0ad9fe998 Mon Sep 17 00:00:00 2001 From: mcodnjs Date: Tue, 2 Jan 2024 21:22:19 +0900 Subject: [PATCH 4/5] =?UTF-8?q?refactor:=20=EC=BF=BC=EB=A6=AC=20=ED=8C=8C?= =?UTF-8?q?=EB=9D=BC=EB=AF=B8=ED=84=B0=20=EA=B0=92=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../infrastructure/oauthprovider/KakaoOauthProvider.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java b/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java index 496eb9537..dab38cd3c 100644 --- a/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java +++ b/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java @@ -2,7 +2,6 @@ import static hanglog.global.exception.ExceptionCode.INVALID_AUTHORIZATION_CODE; import static hanglog.global.exception.ExceptionCode.NOT_SUPPORTED_OAUTH_SERVICE; -import static java.lang.Boolean.TRUE; import hanglog.global.exception.AuthException; import hanglog.login.domain.OauthAccessToken; @@ -61,8 +60,8 @@ public OauthUserInfo getUserInfo(final String code) { headers.setBearerAuth(accessToken); final HttpEntity> userInfoRequestEntity = new HttpEntity<>(headers); - final Map queryParam = new HashMap<>(); - queryParam.put(SECURE_RESOURCE, TRUE); + final Map queryParam = new HashMap<>(); + queryParam.put(SECURE_RESOURCE, "true"); final ResponseEntity response = restTemplate.exchange( userUri, From 9893238c887b0cf456ccbad8adbb4b21d705d267 Mon Sep 17 00:00:00 2001 From: mcodnjs Date: Tue, 2 Jan 2024 21:27:45 +0900 Subject: [PATCH 5/5] =?UTF-8?q?refactor:=20=EC=BF=BC=EB=A6=AC=20=ED=8C=8C?= =?UTF-8?q?=EB=9D=BC=EB=AF=B8=ED=84=B0=20=EA=B0=92=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../infrastructure/oauthprovider/KakaoOauthProvider.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java b/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java index dab38cd3c..496eb9537 100644 --- a/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java +++ b/backend/src/main/java/hanglog/login/infrastructure/oauthprovider/KakaoOauthProvider.java @@ -2,6 +2,7 @@ import static hanglog.global.exception.ExceptionCode.INVALID_AUTHORIZATION_CODE; import static hanglog.global.exception.ExceptionCode.NOT_SUPPORTED_OAUTH_SERVICE; +import static java.lang.Boolean.TRUE; import hanglog.global.exception.AuthException; import hanglog.login.domain.OauthAccessToken; @@ -60,8 +61,8 @@ public OauthUserInfo getUserInfo(final String code) { headers.setBearerAuth(accessToken); final HttpEntity> userInfoRequestEntity = new HttpEntity<>(headers); - final Map queryParam = new HashMap<>(); - queryParam.put(SECURE_RESOURCE, "true"); + final Map queryParam = new HashMap<>(); + queryParam.put(SECURE_RESOURCE, TRUE); final ResponseEntity response = restTemplate.exchange( userUri,