|
@@ -1,11 +1,8 @@
|
|
|
package com.kxs.common.security.component;
|
|
package com.kxs.common.security.component;
|
|
|
|
|
|
|
|
-import cn.hutool.extra.spring.SpringUtil;
|
|
|
|
|
import com.kxs.common.security.model.KxsUser;
|
|
import com.kxs.common.security.model.KxsUser;
|
|
|
-import com.kxs.common.security.service.KxsUserDetailsService;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.core.Ordered;
|
|
|
|
|
import org.springframework.security.core.Authentication;
|
|
import org.springframework.security.core.Authentication;
|
|
|
import org.springframework.security.core.authority.AuthorityUtils;
|
|
import org.springframework.security.core.authority.AuthorityUtils;
|
|
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
@@ -18,10 +15,7 @@ import org.springframework.security.oauth2.server.resource.InvalidBearerTokenExc
|
|
|
import org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector;
|
|
import org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector;
|
|
|
|
|
|
|
|
import java.security.Principal;
|
|
import java.security.Principal;
|
|
|
-import java.util.Comparator;
|
|
|
|
|
-import java.util.Map;
|
|
|
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
-import java.util.Optional;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @author 没秃顶的码农
|
|
* @author 没秃顶的码农
|
|
@@ -46,15 +40,6 @@ public class SkyCustomOpaqueTokenIntrospector implements OpaqueTokenIntrospector
|
|
|
AuthorityUtils.NO_AUTHORITIES, oldAuthorization.getPrincipalName());
|
|
AuthorityUtils.NO_AUTHORITIES, oldAuthorization.getPrincipalName());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- Map<String, KxsUserDetailsService> userDetailsServiceMap = SpringUtil
|
|
|
|
|
- .getBeansOfType(KxsUserDetailsService.class);
|
|
|
|
|
-
|
|
|
|
|
- Optional<KxsUserDetailsService> optional = userDetailsServiceMap.values()
|
|
|
|
|
- .stream()
|
|
|
|
|
- .filter(service -> service.support(Objects.requireNonNull(oldAuthorization).getRegisteredClientId(),
|
|
|
|
|
- oldAuthorization.getAuthorizationGrantType().getValue()))
|
|
|
|
|
- .max(Comparator.comparingInt(Ordered::getOrder));
|
|
|
|
|
-
|
|
|
|
|
try {
|
|
try {
|
|
|
|
|
|
|
|
// 获取用户信息
|
|
// 获取用户信息
|