两套单点登录+两套系统待办跳转bug修复6
This commit is contained in:
		
							parent
							
								
									2de9dc5c09
								
							
						
					
					
						commit
						e2b61901db
					
				| 
						 | 
				
			
			@ -42,29 +42,31 @@ public class SSOPluginLogin implements ThirdSSOAuthHandler {
 | 
			
		|||
        String client;
 | 
			
		||||
        String secret;
 | 
			
		||||
        String queryUrlOld = httpServletRequest.getQueryString();
 | 
			
		||||
        if (queryUrlOld.contains("isNew")) {
 | 
			
		||||
        //有code无需再次获取code,直接结束
 | 
			
		||||
        if (queryUrlOld.contains("code")) {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        String redirect;
 | 
			
		||||
        //携带参数加密,无参数直接跳转到首页
 | 
			
		||||
        if (StringUtils.isNotEmpty(queryUrlOld) && queryUrlOld.contains("isNew")) {
 | 
			
		||||
            ip = EOSS_IP2;
 | 
			
		||||
            client = CLIENT_ID2;
 | 
			
		||||
            secret = CLIENT_SECRET2;
 | 
			
		||||
            logger.info(String.format("callTrdSSOLogin→queryUrlOld:%s", queryUrlOld));
 | 
			
		||||
            String queryUrlNew = Base64.getEncoder().encodeToString(queryUrlOld.getBytes(StandardCharsets.UTF_8));
 | 
			
		||||
            redirect = skIP + "/index.html?param=" + queryUrlNew;
 | 
			
		||||
        } else {
 | 
			
		||||
            ip = EOSS_IP;
 | 
			
		||||
            client = CLIENT_ID;
 | 
			
		||||
            secret = CLIENT_SECRET;
 | 
			
		||||
            redirect = s;
 | 
			
		||||
        }
 | 
			
		||||
        logger.info(String.format("callTrdSSOLogin→queryUrlOld:%s", queryUrlOld));
 | 
			
		||||
        logger.info(String.format("eoss_ip:%s,client_id:%s,client_secret:%s,重定向地址:%s", ip, client, secret, s));
 | 
			
		||||
        String queryUrlNew = Base64.getEncoder().encodeToString(queryUrlOld.getBytes(StandardCharsets.UTF_8));
 | 
			
		||||
        String redirect = skIP + "/index.html?param=" + queryUrlNew;
 | 
			
		||||
//        String redirect = "http://127.0.0.1:8881/ierp" + "/index.html?param=" + queryUrlNew;
 | 
			
		||||
 | 
			
		||||
        logger.info(String.format("callTrdSSOLogin→redirect:%s", redirect));
 | 
			
		||||
        if (queryUrlOld.contains("code")) {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        String ssoUrl;
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            logger.info(String.format("callTrdSSOLogin→true/false:%s", queryUrlOld.contains("wf_approvalpage")));
 | 
			
		||||
            //退出系统
 | 
			
		||||
            if (httpServletRequest.getRequestURI().contains("/auth/logout.do")) {
 | 
			
		||||
                String userName = UserServiceHelper.getCurrentUser("name").getString("name");
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +101,7 @@ public class SSOPluginLogin implements ThirdSSOAuthHandler {
 | 
			
		|||
        String secret;
 | 
			
		||||
        String queryUrlOld = httpServletRequest.getQueryString();
 | 
			
		||||
        logger.info(String.format("getTrdSSOAuth→queryUrlOld:%s", queryUrlOld));
 | 
			
		||||
        if (queryUrlOld.contains("isNew")) {
 | 
			
		||||
        if (StringUtils.isNotEmpty(queryUrlOld) && queryUrlOld.contains("isNew")) {
 | 
			
		||||
            ip = EOSS_IP2;
 | 
			
		||||
            client = CLIENT_ID2;
 | 
			
		||||
            secret = CLIENT_SECRET2;
 | 
			
		||||
| 
						 | 
				
			
			@ -120,6 +122,7 @@ public class SSOPluginLogin implements ThirdSSOAuthHandler {
 | 
			
		|||
        String param = httpServletRequest.getParameter("param");
 | 
			
		||||
        //获取返回的 sessionId
 | 
			
		||||
        String sessionId = httpServletRequest.getParameter("sessionId");
 | 
			
		||||
 | 
			
		||||
        String requestURI = httpServletRequest.getRequestURI();
 | 
			
		||||
        logger.info(String.format("getTrdSSOAuth→sessionId:%s", sessionId));
 | 
			
		||||
        try {
 | 
			
		||||
| 
						 | 
				
			
			@ -141,7 +144,7 @@ public class SSOPluginLogin implements ThirdSSOAuthHandler {
 | 
			
		|||
            logger.info(String.format("getTrdSSOAuth→sendRedirect异常:%s", e));
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        //二次重定向进入
 | 
			
		||||
        //二次重定向进入才进行用户认证
 | 
			
		||||
        if (StringUtils.isNotEmpty(code) && StringUtils.isEmpty(sessionId)) {
 | 
			
		||||
            //调用EOSS获取token接口
 | 
			
		||||
            String access_token = AuthService.accessToken(code, ip, client, secret);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue