Browse Source

预留登出接口

test
smallchill 5 years ago
parent
commit
3239e9a66e
  1. 1
      blade-auth/src/main/java/org/springblade/auth/config/BladeResourceServerConfiguration.java
  2. 8
      blade-auth/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java
  3. 9
      blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java

1
blade-auth/src/main/java/org/springblade/auth/config/BladeResourceServerConfiguration.java

@ -51,6 +51,7 @@ public class BladeResourceServerConfiguration extends ResourceServerConfigurerAd
"/actuator/**",
"/token/**",
"/oauth/captcha",
"/oauth/logout",
"/mobile/**",
"/v2/api-docs",
"/v2/api-docs-ext").permitAll()

8
blade-auth/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java

@ -21,6 +21,8 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.cache.CacheNames;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.StringUtil;
@ -58,4 +60,10 @@ public class BladeTokenEndPoint {
return Kv.create().set("key", key).set("image", specCaptcha.toBase64());
}
@GetMapping("/oauth/logout")
public Kv logout() {
BladeUser user = AuthUtil.getUser();
return Kv.create().set("success", "true").set("account", user.getAccount());
}
}

9
blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java

@ -18,11 +18,8 @@ package org.springblade.auth.utils;
import lombok.SneakyThrows;
import org.springblade.core.launch.constant.TokenConstant;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.Charsets;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.core.tool.utils.WebUtil;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.utils.*;
import org.springblade.system.entity.Tenant;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.oauth2.common.exceptions.UnapprovedClientAuthenticationException;
@ -140,7 +137,7 @@ public class TokenUtil {
if (tenant == null) {
throw new UserDeniedAuthorizationException(TokenUtil.USER_HAS_NO_TENANT);
}
if (AuthUtil.isAdministrator()) {
if (StringUtil.equalsIgnoreCase(tenant.getTenantId(), BladeConstant.ADMIN_TENANT_ID)) {
return false;
}
Date expireTime = tenant.getExpireTime();

Loading…
Cancel
Save