From 17cf957052fd1affcb88ebf1abae8fcb76a5fef0 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期二, 14 十一月 2023 11:01:32 +0800 Subject: [PATCH] !447 发布 5.1.1 大量代码优化与bug修复 建议升级 Merge pull request !447 from 疯狂的狮子Li/dev --- ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java | 43 ++++++++++++++++++++----------------------- 1 files changed, 20 insertions(+), 23 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java index 2b055df..64a9e97 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java @@ -13,14 +13,14 @@ import me.zhyd.oauth.model.AuthResponse; import me.zhyd.oauth.model.AuthUser; import org.dromara.common.core.constant.Constants; -import org.dromara.common.core.domain.model.LoginBody; import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.domain.model.SocialLoginBody; import org.dromara.common.core.enums.UserStatus; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.user.UserException; import org.dromara.common.core.utils.MessageUtils; import org.dromara.common.core.utils.ValidatorUtils; -import org.dromara.common.core.validate.auth.SocialGroup; +import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.social.config.properties.SocialProperties; import org.dromara.common.social.utils.SocialUtils; @@ -51,22 +51,19 @@ private final SysUserMapper userMapper; private final SysLoginService loginService; - - @Override - public void validate(LoginBody loginBody) { - ValidatorUtils.validate(loginBody, SocialGroup.class); - } - /** * 鐧诲綍-绗笁鏂规巿鏉冪櫥褰� * - * @param clientId 瀹㈡埛绔痠d - * @param loginBody 鐧诲綍淇℃伅 - * @param client 瀹㈡埛绔俊鎭� + * @param body 鐧诲綍淇℃伅 + * @param client 瀹㈡埛绔俊鎭� */ @Override - public LoginVo login(String clientId, LoginBody loginBody, SysClient client) { - AuthResponse<AuthUser> response = SocialUtils.loginAuth(loginBody, socialProperties); + public LoginVo login(String body, SysClient client) { + SocialLoginBody loginBody = JsonUtils.parseObject(body, SocialLoginBody.class); + ValidatorUtils.validate(loginBody); + AuthResponse<AuthUser> response = SocialUtils.loginAuth( + loginBody.getSource(), loginBody.getSocialCode(), + loginBody.getSocialState(), socialProperties); if (!response.ok()) { throw new ServiceException(response.getMsg()); } @@ -74,11 +71,11 @@ if ("GITEE".equals(authUserData.getSource())) { // 濡傜敤鎴蜂娇鐢� gitee 鐧诲綍椤烘墜 star 缁欎綔鑰呬竴鐐规敮鎸� 鎷掔粷鐧藉珫 HttpUtil.createRequest(Method.PUT, "https://gitee.com/api/v5/user/starred/dromara/RuoYi-Vue-Plus") - .formStr(MapUtil.of("access_token", authUserData.getToken().getAccessToken())) - .executeAsync(); + .formStr(MapUtil.of("access_token", authUserData.getToken().getAccessToken())) + .executeAsync(); HttpUtil.createRequest(Method.PUT, "https://gitee.com/api/v5/user/starred/dromara/RuoYi-Cloud-Plus") - .formStr(MapUtil.of("access_token", authUserData.getToken().getAccessToken())) - .executeAsync(); + .formStr(MapUtil.of("access_token", authUserData.getToken().getAccessToken())) + .executeAsync(); } SysSocialVo social = sysSocialService.selectByAuthId(authUserData.getSource() + authUserData.getUuid()); @@ -88,7 +85,7 @@ // 楠岃瘉鎺堟潈琛ㄩ噷闈㈢殑绉熸埛id鏄惁鍖呭惈褰撳墠绉熸埛id String tenantId = social.getTenantId(); if (ObjectUtil.isNotNull(social) && StrUtil.isNotBlank(tenantId) - && !tenantId.contains(loginBody.getTenantId())) { + && !tenantId.contains(loginBody.getTenantId())) { throw new ServiceException("瀵逛笉璧凤紝浣犳病鏈夋潈闄愮櫥褰曞綋鍓嶇鎴凤紒"); } @@ -105,7 +102,7 @@ // 渚嬪: 鍚庡彴鐢ㄦ埛30鍒嗛挓杩囨湡 app鐢ㄦ埛1澶╄繃鏈� model.setTimeout(client.getTimeout()); model.setActiveTimeout(client.getActiveTimeout()); - model.setExtra(LoginHelper.CLIENT_KEY, clientId); + model.setExtra(LoginHelper.CLIENT_KEY, client.getClientId()); // 鐢熸垚token LoginHelper.login(loginUser, model); @@ -115,15 +112,15 @@ LoginVo loginVo = new LoginVo(); loginVo.setAccessToken(StpUtil.getTokenValue()); loginVo.setExpireIn(StpUtil.getTokenTimeout()); - loginVo.setClientId(clientId); + loginVo.setClientId(client.getClientId()); return loginVo; } private SysUserVo loadUser(String tenantId, Long userId) { SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() - .select(SysUser::getUserName, SysUser::getStatus) - .eq(TenantHelper.isEnable(), SysUser::getTenantId, tenantId) - .eq(SysUser::getUserId, userId)); + .select(SysUser::getUserName, SysUser::getStatus) + .eq(TenantHelper.isEnable(), SysUser::getTenantId, tenantId) + .eq(SysUser::getUserId, userId)); if (ObjectUtil.isNull(user)) { log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶅瓨鍦�.", ""); throw new UserException("user.not.exists", ""); -- Gitblit v1.9.3