update 优化 三方登录不同域名获取不到租户id问题

This commit is contained in:
疯狂的狮子Li
2024-06-18 19:14:22 +08:00
parent 0b8fd7da3b
commit d28cdcd0e1
3 changed files with 23 additions and 8 deletions

View File

@@ -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<Void> socialCallback(@RequestBody SocialLoginBody loginBody) {
public R<LoginVo> socialCallback(@RequestBody SocialLoginBody loginBody) {
// 获取第三方登录信息
AuthResponse<AuthUser> 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);
}