Houjie
6 天以前 bb839b724afdaf9b4ea8a80c2d8963d2b9c2934c
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
@@ -9,7 +9,6 @@
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;
@@ -17,7 +16,6 @@
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;
@@ -66,6 +64,9 @@
   @Autowired
   private ThirdAppDingtalkServiceImpl thirdAppDingtalkService;
   /**token有效时间,目前现场要求企业微信有效时间*/
   public static final long EXPIRE_TIME = 30L * 24 * 60 * 60 * 1000;
   @RequestMapping("/render/{source}")
    public void render(@PathVariable("source") String source, HttpServletResponse response) throws IOException {
        log.info("第三方登录进入render:" + source);
@@ -110,9 +111,6 @@
            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);
@@ -308,15 +306,17 @@
         // 企业的CorpID
         builder.append("?appid=").append(config.getClientId());
         // 授权后重定向的回调链接地址,请使用urlencode对链接进行处理
         String redirectUri ="http://houjie.xalxzn.com:8866/jeecg-boot/sys/thirdLogin/oauth2/wechat_enterprise/callback";
         String redirectUri = "https://fastwoke.cn:8087/jeecg-boot/sys/thirdLogin/oauth2/wechat_enterprise/callback";
         builder.append("&redirect_uri=").append(URLEncoder.encode(redirectUri, "UTF-8"));
         // 返回类型,此时固定为:code
         builder.append("&response_type=code");
         // 应用授权作用域。
         // snsapi_base:静默授权,可获取成员的的基础信息(UserId与DeviceId);
         builder.append("&scope=snsapi_base");
//         builder.append("&scope=snsapi_base");
         builder.append("&scope=snsapi_privateinfo"); // 手动授权作用域
         // 重定向后会带上state参数,长度不可超过128个字节
         builder.append("&state=").append(state);
         builder.append("&agentid=").append(config.getAgentId()); // 补充AgentID
         // 终端使用此参数判断是否需要带上身份信息
         builder.append("#wechat_redirect");
         url = builder.toString();
@@ -399,9 +399,6 @@
         }
         String token = saveToken(loginUser);
         // ============ 新增 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;