cuilei
2025-07-10 9409af9904900457621900f8e1178f317dc93913
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
@@ -9,6 +9,7 @@
import me.zhyd.oauth.model.AuthResponse;
import me.zhyd.oauth.request.AuthRequest;
import me.zhyd.oauth.utils.AuthStateUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.util.JwtUtil;
@@ -16,6 +17,7 @@
import org.jeecg.common.util.RedisUtil;
import org.jeecg.common.util.RestUtil;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.config.shiro.JwtToken;
import org.jeecg.config.thirdapp.ThirdAppConfig;
import org.jeecg.config.thirdapp.ThirdAppTypeItemVo;
import org.jeecg.modules.base.service.BaseCommonService;
@@ -108,6 +110,9 @@
            String sysUserId = user.getSysUserId();
            SysUser sysUser = sysUserService.getById(sysUserId);
            String token = saveToken(sysUser);
            // 使用token进行Shiro登录
            JwtToken jwtToken = new JwtToken(token);
            SecurityUtils.getSubject().login(jwtToken); // 此行代码会触发Realm的认证方法,将用户信息存入Shiro的会话
             modelMap.addAttribute("token", token);
         }else{
            modelMap.addAttribute("token", "绑定手机号,"+""+uuid);
@@ -303,7 +308,7 @@
         // 企业的CorpID
         builder.append("?appid=").append(config.getClientId());
         // 授权后重定向的回调链接地址,请使用urlencode对链接进行处理
         String redirectUri = RestUtil.getBaseUrl() + "/sys/thirdLogin/oauth2/wechat_enterprise/callback";
         String redirectUri ="http://houjie.xalxzn.com:8866/jeecg-boot/sys/thirdLogin/oauth2/wechat_enterprise/callback";
         builder.append("&redirect_uri=").append(URLEncoder.encode(redirectUri, "UTF-8"));
         // 返回类型,此时固定为:code
         builder.append("&response_type=code");
@@ -394,12 +399,15 @@
         }
         String token = saveToken(loginUser);
         state += "/oauth2-app/login?oauth2LoginToken=" + URLEncoder.encode(token, "UTF-8");
         // ============ 新增 Shiro 登录逻辑 ============
         JwtToken jwtToken = new JwtToken(token);
         SecurityUtils.getSubject().login(jwtToken);
         state += "/h5/oauth2-app/login?oauth2LoginToken=" + URLEncoder.encode(token, "UTF-8");
         //update-begin---author:wangshuai ---date:20220613  for:[issues/I5BOUF]oauth2 钉钉无法登录------------
         state += "&thirdType=" + source;
         //state += "&thirdType=" + "wechat_enterprise";
         if (redirect != null && redirect.length() > 0) {
            state += "&redirect=" + redirect;
            state += "&" + redirect;
         }
         //update-end-author:taoyan date:2022-6-30 for: 工作流发送消息 点击消息链接跳转办理页面