From d28cdcd0e1ca349f55dbac5af95e7e6f260fe999 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 18 Jun 2024 19:14:22 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E7=99=BB=E5=BD=95=E4=B8=8D=E5=90=8C=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=B8=8D=E5=88=B0=E7=A7=9F=E6=88=B7id?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/auth/controller/TokenController.java | 15 ++++++++++++--- .../java/org/dromara/auth/domain/vo/LoginVo.java | 5 +++++ .../org/dromara/auth/service/SysLoginService.java | 11 ++++++----- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java index f4ae3941..40ce650e 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java @@ -91,9 +91,12 @@ public class TokenController { return R.fail(MessageUtils.message("auth.grant.type.blocked")); } // 校验租户 - sysLoginService.checkTenant(loginBody.getTenantId()); + RemoteTenantVo tenant = sysLoginService.checkTenant(loginBody.getTenantId()); // 登录 LoginVo loginVo = IAuthStrategy.login(body, clientVo, grantType); + if (StringUtils.isNotBlank(tenant.getTenantId())) { + loginVo.setDomain(tenant.getDomain()); + } Long userId = LoginHelper.getUserId(); scheduledExecutorService.schedule(() -> { @@ -126,7 +129,7 @@ public class TokenController { * @return 结果 */ @PostMapping("/social/callback") - public R socialCallback(@RequestBody SocialLoginBody loginBody) { + public R socialCallback(@RequestBody SocialLoginBody loginBody) { // 获取第三方登录信息 AuthResponse response = SocialUtils.loginAuth( loginBody.getSource(), loginBody.getSocialCode(), @@ -137,7 +140,13 @@ public class TokenController { return R.fail(response.getMsg()); } sysLoginService.socialRegister(authUserData); - return R.ok(); + + LoginVo loginVo = new LoginVo(); + RemoteTenantVo tenant = sysLoginService.checkTenant(LoginHelper.getTenantId()); + if (StringUtils.isNotBlank(tenant.getTenantId())) { + loginVo.setDomain(tenant.getDomain()); + } + return R.ok(loginVo); } diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/LoginVo.java b/ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/LoginVo.java index e4bea143..12e580af 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/LoginVo.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/LoginVo.java @@ -51,4 +51,9 @@ public class LoginVo { */ private String openid; + /** + * 域名 + */ + private String domain; + } diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java index eacdc01b..dff38c83 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java @@ -242,17 +242,17 @@ public class SysLoginService { * * @param tenantId 租户ID */ - public void checkTenant(String tenantId) { + public RemoteTenantVo checkTenant(String tenantId) { if (!TenantHelper.isEnable()) { - return; - } - if (TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) { - return; + return null; } if (StringUtils.isBlank(tenantId)) { throw new TenantException("tenant.number.not.blank"); } RemoteTenantVo tenant = remoteTenantService.queryByTenantId(tenantId); + if (TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) { + return tenant; + } if (ObjectUtil.isNull(tenant)) { log.info("登录租户:{} 不存在.", tenantId); throw new TenantException("tenant.not.exists"); @@ -264,5 +264,6 @@ public class SysLoginService { log.info("登录租户:{} 已超过有效期.", tenantId); throw new TenantException("tenant.expired"); } + return tenant; } }