diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/eoss/SSOPluginLogin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/eoss/SSOPluginLogin.java index d1fdfc9..e1a8451 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/eoss/SSOPluginLogin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/eoss/SSOPluginLogin.java @@ -43,7 +43,14 @@ public class SSOPluginLogin implements ThirdSSOAuthHandler { String secret; String queryUrlOld = httpServletRequest.getQueryString(); //有code无需再次获取code,直接结束 - if (queryUrlOld.contains("code")) { + if (queryUrlOld.contains("code") && queryUrlOld.contains("sessionId") ) { + String replace = queryUrlOld.replace("sessionId", "eossSessionId"); + try { + httpServletResponse.sendRedirect(httpServletRequest.getRequestURI()+"?"+replace); + logger.info(String.format("callTrdSSOLogin→sendRedirect:%s", httpServletRequest.getRequestURI()+"?"+replace)); + } catch (IOException e) { + throw new RuntimeException(e); + } return; } String redirect; @@ -63,9 +70,7 @@ public class SSOPluginLogin implements ThirdSSOAuthHandler { } logger.info(String.format("eoss_ip:%s,client_id:%s,client_secret:%s,重定向地址:%s", ip, client, secret, s)); logger.info(String.format("callTrdSSOLogin→redirect:%s", redirect)); - String ssoUrl; - try { //退出系统 if (httpServletRequest.getRequestURI().contains("/auth/logout.do")) { @@ -83,9 +88,10 @@ public class SSOPluginLogin implements ThirdSSOAuthHandler { ssoUrl = String.format("%s/sso2/authCenter/authorize?client_id=%s&response_type=code&sessionKeep=true&authType=0&redirect_uri=%s", ip, client, redirect); } - logger.info(String.format("callTrdSSOLogin→→sendRedirect:%s", ssoUrl)); httpServletResponse.sendRedirect(ssoUrl); + logger.info(String.format("callTrdSSOLogin→sendRedirect:%s", ssoUrl)); } catch (IOException e) { + logger.info(String.format("callTrdSSOLogin→sendRedirect异常:%s", e)); throw new RuntimeException(e); } }