From 8573ffdd7f2da009c9adad9f5eb9f50810c2f184 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期日, 25 六月 2023 22:19:27 +0800 Subject: [PATCH] update satoken 1.34.0 => 1.35.0.RC 优化过期配置 支持多端token自定义有效期 --- ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java | 61 ++++++++++-------------------- 1 files changed, 21 insertions(+), 40 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java index f46cbdc..51160aa 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java @@ -3,12 +3,9 @@ import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSON; -import cn.hutool.json.JSONUtil; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.constraints.NotBlank; import lombok.RequiredArgsConstructor; -import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthResponse; import me.zhyd.oauth.model.AuthUser; @@ -22,16 +19,13 @@ import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.social.config.SocialConfig; -import org.dromara.common.social.config.properties.ConfigProperties; +import org.dromara.common.social.config.properties.SocialLoginConfigProperties; import org.dromara.common.social.config.properties.SocialProperties; -import org.dromara.common.social.utils.AuthRedisStateCache; import org.dromara.common.social.utils.SocialUtils; import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.bo.SysTenantBo; import org.dromara.system.domain.vo.SysTenantVo; -import org.dromara.system.domain.vo.SysUserVo; -import org.dromara.system.service.ISocialUserService; +import org.dromara.system.service.ISysSocialService; import org.dromara.system.service.ISysConfigService; import org.dromara.system.service.ISysTenantService; import org.dromara.web.domain.vo.LoginTenantVo; @@ -42,10 +36,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.io.IOException; import java.net.URL; import java.util.List; -import java.util.Map; /** * 璁よ瘉 @@ -64,8 +56,7 @@ private final SysRegisterService registerService; private final ISysConfigService configService; private final ISysTenantService tenantService; - private final ISocialUserService socialUserService; - + private final ISysSocialService socialUserService; /** @@ -140,21 +131,14 @@ /** * 璁よ瘉鎺堟潈 - * @param source + * + * @param source 鐧诲綍鏉ユ簮 + * @return 缁撴灉 */ @GetMapping("/binding/{source}") - @ResponseBody - public R<LoginVo> authBinding(@PathVariable("source") String source, HttpServletRequest request){ - SysUserVo userLoding = new SysUserVo(); - if (ObjectUtil.isNull(userLoding)) { - return R.fail("鎺堟潈澶辫触锛岃鍏堢櫥褰曞啀缁戝畾"); - } - if (socialUserService.isExistByUserIdAndSource(userLoding.getUserId(),source)) - { - return R.fail(source + "骞冲彴璐﹀彿宸茬粡琚处鍙风粦瀹�"); - } - ConfigProperties obj = socialProperties.getType().get(source); - if (ObjectUtil.isNull(obj)){ + public R<String> authBinding(@PathVariable("source") String source) { + SocialLoginConfigProperties obj = socialProperties.getType().get(source); + if (ObjectUtil.isNull(obj)) { return R.fail(source + "骞冲彴璐﹀彿鏆備笉鏀寔"); } AuthRequest authRequest = SocialUtils.getAuthRequest(source, @@ -167,16 +151,16 @@ /** * 绗笁鏂圭櫥褰曞洖璋冧笟鍔″鐞� - * @param source - * @param callback - * @param request - * @return + * + * @param source 鐧诲綍鏉ユ簮 + * @param callback 鎺堟潈鍝嶅簲瀹炰綋 + * @return 缁撴灉 */ @SuppressWarnings("unchecked") - @GetMapping("/social-login/{source}") - public R<String> socialLogin(@PathVariable("source") String source, AuthCallback callback, HttpServletRequest request) throws IOException { - ConfigProperties obj = socialProperties.getType().get(source); - if (ObjectUtil.isNull(obj)){ + @GetMapping("/social-login") + public R<String> socialLogin(String source, AuthCallback callback) { + SocialLoginConfigProperties obj = socialProperties.getType().get(source); + if (ObjectUtil.isNull(obj)) { return R.fail(source + "骞冲彴璐﹀彿鏆備笉鏀寔"); } AuthRequest authRequest = SocialUtils.getAuthRequest(source, @@ -184,22 +168,19 @@ obj.getClientSecret(), obj.getRedirectUri()); AuthResponse<AuthUser> response = authRequest.login(callback); - return loginService.socialLogin(source, response, request); + return loginService.socialLogin(source, response); } /** * 鍙栨秷鎺堟潈 - * @param socialId + * + * @param socialId socialId */ @DeleteMapping(value = "/unlock/{socialId}") - public R<Void> unlockSocial(@PathVariable Long socialId) - { + public R<Void> unlockSocial(@PathVariable Long socialId) { Boolean rows = socialUserService.deleteWithValidById(socialId); return rows ? R.ok() : R.fail("鍙栨秷鎺堟潈澶辫触"); } - - - /** -- Gitblit v1.9.3