From 28401512f256e13058f36519369b7f88aeabda37 Mon Sep 17 00:00:00 2001 From: JSYOO Date: Tue, 9 Nov 2021 16:52:11 +0900 Subject: [PATCH] =?UTF-8?q?sns=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ext/oauth/service/OAuthLogin.java | 4 ++-- .../com/ext/oauth/service/OAuthVO.java | 11 +++++++++- .../java/nlib/user/web/LoginController.java | 20 +++++++++---------- .../egovframework/spring/context-oauth.xml | 6 +++--- .../WEB-INF/jsp/nlib/login/loginForm.jsp | 4 ++-- .../WEB-INF/jsp/nlib/login/loginFormPopup.jsp | 4 ++-- .../WEB-INF/jsp/nlib/login/memberSnsForm.jsp | 4 ++-- 7 files changed, 30 insertions(+), 23 deletions(-) diff --git a/src/main/java/egovframework/com/ext/oauth/service/OAuthLogin.java b/src/main/java/egovframework/com/ext/oauth/service/OAuthLogin.java index a3eeeb99..c2650af1 100644 --- a/src/main/java/egovframework/com/ext/oauth/service/OAuthLogin.java +++ b/src/main/java/egovframework/com/ext/oauth/service/OAuthLogin.java @@ -77,8 +77,8 @@ public class OAuthLogin { this.oauthVO = oauthVO; } - public String getOAuthURL() { - return this.oauthService.getAuthorizationUrl(); + public String getOAuthURL(String state) { + return this.oauthService.getAuthorizationUrl(state); } public OAuthUniversalUser getUserProfile(String code) throws Exception { diff --git a/src/main/java/egovframework/com/ext/oauth/service/OAuthVO.java b/src/main/java/egovframework/com/ext/oauth/service/OAuthVO.java index 42b697cd..25010259 100644 --- a/src/main/java/egovframework/com/ext/oauth/service/OAuthVO.java +++ b/src/main/java/egovframework/com/ext/oauth/service/OAuthVO.java @@ -12,6 +12,7 @@ public class OAuthVO implements OAuthConfig { private String clientId; private String clientSecret; private String redirectUrl; + private String state; private DefaultApi20 api20Instance; private String profileUrl; @@ -24,7 +25,7 @@ public class OAuthVO implements OAuthConfig { this.clientId = clientId; this.clientSecret = clientSecret; this.redirectUrl = redirectUrl; - + this.state = state; this.isGoogle = StringUtil.equalsIgnoreCase(GOOGLE_SERVICE_NAME, serviceName); this.isNaver = StringUtil.equalsIgnoreCase(NAVER_SERVICE_NAME, serviceName); this.isKakao = StringUtil.equalsIgnoreCase(KAKAO_SERVICE_NAME, serviceName); @@ -117,5 +118,13 @@ public class OAuthVO implements OAuthConfig { public void setKakao(boolean isKakao) { this.isKakao = isKakao; } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } } diff --git a/src/main/java/nlib/user/web/LoginController.java b/src/main/java/nlib/user/web/LoginController.java index 1b2db72c..dab13260 100644 --- a/src/main/java/nlib/user/web/LoginController.java +++ b/src/main/java/nlib/user/web/LoginController.java @@ -264,17 +264,18 @@ public class LoginController extends NlibCommonController { //---------------------------------------------- // SNS 연동 URL 생성 //---------------------------------------------- + String encCouncilJsessionId = AriaCrypto.encode(councilJsessionId); OAuthLogin naverLogin = new OAuthLogin(naverAuthVO, callType, councilJsessionId); - log.debug("naverLogin.getOAuthURL() = "+naverLogin.getOAuthURL()); - model.addAttribute("naverUrl", naverLogin.getOAuthURL()); + log.debug("naverLogin.getOAuthURL() = "+naverLogin.getOAuthURL(encCouncilJsessionId)); + model.addAttribute("naverUrl", naverLogin.getOAuthURL(encCouncilJsessionId)); OAuthLogin googleLogin = new OAuthLogin(googleAuthVO, callType, councilJsessionId); - log.debug("googleLogin.getOAuthURL() = "+googleLogin.getOAuthURL()); - model.addAttribute("googleUrl", googleLogin.getOAuthURL()); + log.debug("googleLogin.getOAuthURL() = "+googleLogin.getOAuthURL(encCouncilJsessionId)); + model.addAttribute("googleUrl", googleLogin.getOAuthURL(encCouncilJsessionId)); OAuthLogin kakaoLogin = new OAuthLogin(kakaoAuthVO, OAuthLogin.CALL_TYPE_LOGIN, councilJsessionId); - log.debug("kakaoLogin.getOAuthURL() = "+kakaoLogin.getOAuthURL()); - model.addAttribute("kakaoUrl", kakaoLogin.getOAuthURL()); + log.debug("kakaoLogin.getOAuthURL() = "+kakaoLogin.getOAuthURL(encCouncilJsessionId)); + model.addAttribute("kakaoUrl", kakaoLogin.getOAuthURL(encCouncilJsessionId)); model.addAttribute("error", error); model.addAttribute("message", message); @@ -316,14 +317,12 @@ public class LoginController extends NlibCommonController { HttpServletRequest req, @PathVariable String callType, @PathVariable String oauthServiceName, - @RequestParam(required = false) String councilJsessionId, - @RequestParam(required = false) String code, + @RequestParam(required = false) String code, + @RequestParam(name = "state" , required = false) String councilJsessionId, @RequestParam(required = false) String error, Model model, HttpSession session) throws Exception { - String redirectUrl = NlibProperty.getString("home.uri"); // "/index.do"; - if(StringUtil.isEmpty(councilJsessionId)) { model.addAttribute("message", "잘못된 접근입니다. (접속문화원 세션정보 오류)"); model.addAttribute("loginBtnYn", "Y"); @@ -331,7 +330,6 @@ public class LoginController extends NlibCommonController { return "nlib/login/loginMessage"; } councilJsessionId = AriaCrypto.decode(councilJsessionId); - OAuthUniversalUser tmpUser = SessionConfig.getLoginInfo(councilJsessionId); if(tmpUser == null || StringUtil.isEmpty(tmpUser.getCouncilHomeUrl())) { model.addAttribute("message", "잘못된 접근입니다. (접속문화원 정보 오류)"); diff --git a/src/main/resources/egovframework/spring/context-oauth.xml b/src/main/resources/egovframework/spring/context-oauth.xml index fe564a68..3dc598f8 100644 --- a/src/main/resources/egovframework/spring/context-oauth.xml +++ b/src/main/resources/egovframework/spring/context-oauth.xml @@ -8,7 +8,7 @@ - + @@ -16,7 +16,7 @@ - + @@ -24,7 +24,7 @@ - + diff --git a/src/main/webapp/WEB-INF/jsp/nlib/login/loginForm.jsp b/src/main/webapp/WEB-INF/jsp/nlib/login/loginForm.jsp index 33719e7c..00b13a7c 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/login/loginForm.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/login/loginForm.jsp @@ -57,8 +57,8 @@

로그인할 때 이용할 SNS를 선택하세요!

diff --git a/src/main/webapp/WEB-INF/jsp/nlib/login/loginFormPopup.jsp b/src/main/webapp/WEB-INF/jsp/nlib/login/loginFormPopup.jsp index d098eaaf..b015c6a0 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/login/loginFormPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/login/loginFormPopup.jsp @@ -46,8 +46,8 @@
-
-
+
+

회원가입하고 대출/열람 서비스를 이용해보세요!

diff --git a/src/main/webapp/WEB-INF/jsp/nlib/login/memberSnsForm.jsp b/src/main/webapp/WEB-INF/jsp/nlib/login/memberSnsForm.jsp index d07e094d..98f8c6cf 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/login/memberSnsForm.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/login/memberSnsForm.jsp @@ -63,8 +63,8 @@