Merge remote-tracking branch 'origin/lei_dev' into leng_dev

This commit is contained in:
lbw committed 2023-02-24 17:36:42 +08:00
commit 32bfde0552
22 files changed
+47 -46

No files matched your search

@@ -19,9 +19,9 @@ package com.pig4cloud.pigx.auth.config;
import com.pig4cloud.pigx.auth.support.CustomeOAuth2AccessTokenGenerator;
import com.pig4cloud.pigx.auth.support.core.CustomeOAuth2TokenCustomizer;
import com.pig4cloud.pigx.auth.support.core.FormIdentityLoginConfigurer;
import com.pig4cloud.pigx.auth.support.core.PigDaoAuthenticationProvider;
import com.pig4cloud.pigx.auth.support.handler.PigAuthenticationFailureEventHandler;
import com.pig4cloud.pigx.auth.support.handler.PigAuthenticationSuccessEventHandler;
import com.pig4cloud.pigx.auth.support.core.PigxDaoAuthenticationProvider;
import com.pig4cloud.pigx.auth.support.handler.PigxAuthenticationFailureEventHandler;
import com.pig4cloud.pigx.auth.support.handler.PigxAuthenticationSuccessEventHandler;
import com.pig4cloud.pigx.auth.support.password.OAuth2ResourceOwnerPasswordAuthenticationConverter;
import com.pig4cloud.pigx.auth.support.password.OAuth2ResourceOwnerPasswordAuthenticationProvider;
import com.pig4cloud.pigx.auth.support.sms.OAuth2ResourceOwnerSmsAuthenticationConverter;
@@ -66,8 +66,8 @@ public class AuthorizationServerConfiguration {
@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
public SecurityFilterChain authorizationServerSecurityFilterChain(HttpSecurity http,
PigAuthenticationSuccessEventHandler successEventHandler,
PigAuthenticationFailureEventHandler failureEventHandler) throws Exception {
PigxAuthenticationSuccessEventHandler successEventHandler,
PigxAuthenticationFailureEventHandler failureEventHandler) throws Exception {
OAuth2AuthorizationServerConfigurer authorizationServerConfigurer = new OAuth2AuthorizationServerConfigurer();
http.apply(authorizationServerConfigurer.tokenEndpoint((tokenEndpoint) -> {// 个性化认证授权端点
@@ -149,7 +149,7 @@ public class AuthorizationServerConfiguration {
authenticationManager, authorizationService, oAuth2TokenGenerator());
// 处理 UsernamePasswordAuthenticationToken
http.authenticationProvider(new PigDaoAuthenticationProvider());
http.authenticationProvider(new PigxDaoAuthenticationProvider());
// 处理 OAuth2ResourceOwnerPasswordAuthenticationToken
http.authenticationProvider(resourceOwnerPasswordAuthenticationProvider);
// 处理 OAuth2ResourceOwnerSmsAuthenticationToken
@@ -26,7 +26,7 @@ import com.pig4cloud.pigx.admin.api.entity.SysTenant;
import com.pig4cloud.pigx.admin.api.feign.RemoteClientDetailsService;
import com.pig4cloud.pigx.admin.api.feign.RemoteTenantService;
import com.pig4cloud.pigx.admin.api.vo.TokenVo;
import com.pig4cloud.pigx.auth.support.handler.PigAuthenticationFailureEventHandler;
import com.pig4cloud.pigx.auth.support.handler.PigxAuthenticationFailureEventHandler;
import com.pig4cloud.pigx.common.core.constant.CacheConstants;
import com.pig4cloud.pigx.common.core.constant.CommonConstants;
import com.pig4cloud.pigx.common.core.constant.SecurityConstants;
@@ -76,9 +76,9 @@ import java.util.stream.Collectors;
@RestController
@RequiredArgsConstructor
@RequestMapping("/token")
public class PigTokenEndpoint {
public class PigxTokenEndpoint {
private final PigAuthenticationFailureEventHandler authenticationFailureHandler;
private final PigxAuthenticationFailureEventHandler authenticationFailureHandler;
private final OAuth2AuthorizationService authorizationService;
@@ -3,7 +3,7 @@ package com.pig4cloud.pigx.auth.support.base;
import cn.hutool.core.util.BooleanUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.pig4cloud.pigx.common.core.constant.CommonConstants;
import com.pig4cloud.pigx.common.security.service.PigRedisOAuth2AuthorizationService;
import com.pig4cloud.pigx.common.security.service.PigxRedisOAuth2AuthorizationService;
import com.pig4cloud.pigx.common.security.util.OAuth2ErrorCodesExpand;
import com.pig4cloud.pigx.common.security.util.ScopeException;
import lombok.extern.slf4j.Slf4j;
@@ -156,7 +156,7 @@ public abstract class OAuth2ResourceOwnerBaseAuthenticationProvider<T extends OA
}
// 不允许同时在线,删除原有username 关联的所有token
PigRedisOAuth2AuthorizationService redisOAuth2AuthorizationService = (PigRedisOAuth2AuthorizationService) this.authorizationService;
PigxRedisOAuth2AuthorizationService redisOAuth2AuthorizationService = (PigxRedisOAuth2AuthorizationService) this.authorizationService;
redisOAuth2AuthorizationService.removeByUsername(usernamePasswordAuthentication);
return generatAuthenticationToken(resouceOwnerBaseAuthentication, clientPrincipal, registeredClient,
@@ -31,7 +31,7 @@ import java.util.Optional;
* @author lengleng
* @date 2022-06-04
*/
public class PigDaoAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider {
public class PigxDaoAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider {
/**
* The plaintext password used to perform PasswordEncoder#matches(CharSequence,
@@ -55,7 +55,7 @@ public class PigDaoAuthenticationProvider extends AbstractUserDetailsAuthenticat
private UserDetailsPasswordService userDetailsPasswordService;
public PigDaoAuthenticationProvider() {
public PigxDaoAuthenticationProvider() {
setMessageSource(SpringUtil.getBean("securityMessageSource"));
setPasswordEncoder(PasswordEncoderFactories.createDelegatingPasswordEncoder());
}
@@ -56,7 +56,7 @@ import java.util.concurrent.TimeUnit;
@Slf4j
@Component
@RequiredArgsConstructor
public class PigAuthenticationFailureEventHandler implements AuthenticationFailureHandler {
public class PigxAuthenticationFailureEventHandler implements AuthenticationFailureHandler {
private static final MappingJackson2HttpMessageConverter errorHttpResponseConverter = new MappingJackson2HttpMessageConverter();
@@ -58,7 +58,7 @@ import java.util.Map;
@Slf4j
@Component
@RequiredArgsConstructor
public class PigAuthenticationSuccessEventHandler implements AuthenticationSuccessHandler {
public class PigxAuthenticationSuccessEventHandler implements AuthenticationSuccessHandler {
private static final HttpMessageConverter<OAuth2AccessTokenResponse> accessTokenHttpResponseConverter = new OAuth2AccessTokenResponseHttpMessageConverter();
@@ -35,7 +35,7 @@ import org.springframework.stereotype.Component;
*/
@Slf4j
@Component
public class PigLogoutSuccessEventHandler implements ApplicationListener<LogoutSuccessEvent> {
public class PigxLogoutSuccessEventHandler implements ApplicationListener<LogoutSuccessEvent> {
@Override
public void onApplicationEvent(LogoutSuccessEvent event) {
@@ -16,9 +16,9 @@
package com.pig4cloud.pigx.common.security.annotation;
import com.pig4cloud.pigx.common.security.component.PigResourceServerAutoConfiguration;
import com.pig4cloud.pigx.common.security.component.PigResourceServerConfiguration;
import com.pig4cloud.pigx.common.security.feign.PigFeignClientConfiguration;
import com.pig4cloud.pigx.common.security.component.PigxResourceServerAutoConfiguration;
import com.pig4cloud.pigx.common.security.component.PigxResourceServerConfiguration;
import com.pig4cloud.pigx.common.security.feign.PigxFeignClientConfiguration;
import org.springframework.context.annotation.Import;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
@@ -35,8 +35,8 @@ import java.lang.annotation.*;
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Import({ PigResourceServerAutoConfiguration.class, PigResourceServerConfiguration.class,
PigFeignClientConfiguration.class })
@Import({ PigxResourceServerAutoConfiguration.class, PigxResourceServerConfiguration.class,
PigxFeignClientConfiguration.class })
public @interface EnablePigxResourceServer {
}
@@ -34,7 +34,7 @@ import java.util.regex.Pattern;
* @author caiqy
* @date 2020.05.15
*/
public class PigBearerTokenExtractor implements BearerTokenResolver {
public class PigxBearerTokenExtractor implements BearerTokenResolver {
private static final Pattern authorizationPattern = Pattern.compile("^Bearer (?<token>[a-zA-Z0-9-:._~+/]+=*)$",
Pattern.CASE_INSENSITIVE);
@@ -49,10 +49,11 @@ public class PigBearerTokenExtractor implements BearerTokenResolver {
private final PermitAllUrlProperties urlProperties;
public PigBearerTokenExtractor(PermitAllUrlProperties urlProperties) {
public PigxBearerTokenExtractor(PermitAllUrlProperties urlProperties) {
this.urlProperties = urlProperties;
}
@Override
public String resolve(HttpServletRequest request) {
boolean match = urlProperties.getIgnoreUrls().stream()
@@ -14,7 +14,7 @@ import java.util.Map;
* credential 支持客户端模式的用户存储
*/
@RequiredArgsConstructor
public class PigClientCredentialsOAuth2AuthenticatedPrincipal implements OAuth2AuthenticatedPrincipal {
public class PigxClientCredentialsOAuth2AuthenticatedPrincipal implements OAuth2AuthenticatedPrincipal {
private final Map<String, Object> attributes;
@@ -30,7 +30,7 @@ import java.util.Optional;
*/
@Slf4j
@RequiredArgsConstructor
public class PigCustomOpaqueTokenIntrospector implements OpaqueTokenIntrospector {
public class PigxCustomOpaqueTokenIntrospector implements OpaqueTokenIntrospector {
private final OAuth2AuthorizationService authorizationService;
@@ -43,7 +43,7 @@ public class PigCustomOpaqueTokenIntrospector implements OpaqueTokenIntrospector
// 客户端模式默认返回
if (AuthorizationGrantType.CLIENT_CREDENTIALS.equals(oldAuthorization.getAuthorizationGrantType())) {
return new PigClientCredentialsOAuth2AuthenticatedPrincipal(oldAuthorization.getAttributes(),
return new PigxClientCredentialsOAuth2AuthenticatedPrincipal(oldAuthorization.getAttributes(),
AuthorityUtils.NO_AUTHORITIES, oldAuthorization.getPrincipalName());
}
@@ -30,7 +30,7 @@ import org.springframework.security.oauth2.server.resource.introspection.OpaqueT
*/
@RequiredArgsConstructor
@EnableConfigurationProperties(PermitAllUrlProperties.class)
public class PigResourceServerAutoConfiguration {
public class PigxResourceServerAutoConfiguration {
/**
* 鉴权具体的实现逻辑
@@ -47,8 +47,8 @@ public class PigResourceServerAutoConfiguration {
* @return BearerTokenExtractor
*/
@Bean
public PigBearerTokenExtractor pigBearerTokenExtractor(PermitAllUrlProperties urlProperties) {
return new PigBearerTokenExtractor(urlProperties);
public PigxBearerTokenExtractor pigBearerTokenExtractor(PermitAllUrlProperties urlProperties) {
return new PigxBearerTokenExtractor(urlProperties);
}
/**
@@ -70,7 +70,7 @@ public class PigResourceServerAutoConfiguration {
*/
@Bean
public OpaqueTokenIntrospector opaqueTokenIntrospector(OAuth2AuthorizationService authorizationService) {
return new PigCustomOpaqueTokenIntrospector(authorizationService);
return new PigxCustomOpaqueTokenIntrospector(authorizationService);
}
}
@@ -36,13 +36,13 @@ import org.springframework.security.web.SecurityFilterChain;
@Slf4j
@EnableWebSecurity
@RequiredArgsConstructor
public class PigResourceServerConfiguration {
public class PigxResourceServerConfiguration {
protected final ResourceAuthExceptionEntryPoint resourceAuthExceptionEntryPoint;
private final PermitAllUrlProperties permitAllUrl;
private final PigBearerTokenExtractor pigBearerTokenExtractor;
private final PigxBearerTokenExtractor pigxBearerTokenExtractor;
private final OpaqueTokenIntrospector customOpaqueTokenIntrospector;
@@ -56,7 +56,7 @@ public class PigResourceServerConfiguration {
.oauth2ResourceServer(
oauth2 -> oauth2.opaqueToken(token -> token.introspector(customOpaqueTokenIntrospector))
.authenticationEntryPoint(resourceAuthExceptionEntryPoint)
.bearerTokenResolver(pigBearerTokenExtractor))
.bearerTokenResolver(pigxBearerTokenExtractor))
.headers().frameOptions().disable().and().csrf().disable();
return http.build();
@@ -40,7 +40,7 @@ import javax.servlet.http.HttpServletRequest;
@Slf4j
@Aspect
@RequiredArgsConstructor
public class PigSecurityInnerAspect implements Ordered {
public class PigxSecurityInnerAspect implements Ordered {
private final HttpServletRequest request;
@@ -33,7 +33,7 @@ import static org.springframework.boot.autoconfigure.condition.ConditionalOnWebA
* 注入自定义错误处理,覆盖 org/springframework/security/messages 内置异常
*/
@ConditionalOnWebApplication(type = SERVLET)
public class PigSecurityMessageSourceConfiguration implements WebMvcConfigurer {
public class PigxSecurityMessageSourceConfiguration implements WebMvcConfigurer {
@Bean
public MessageSource securityMessageSource() {
@@ -20,7 +20,7 @@ import feign.RequestInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.security.oauth2.server.resource.web.BearerTokenResolver;
public class PigFeignClientConfiguration {
public class PigxFeignClientConfiguration {
/**
* 注入 oauth2 feign token 增强
@@ -29,7 +29,7 @@ public class PigFeignClientConfiguration {
*/
@Bean
public RequestInterceptor oauthRequestInterceptor(BearerTokenResolver tokenResolver) {
return new PigOAuthRequestInterceptor(tokenResolver);
return new PigxOAuthRequestInterceptor(tokenResolver);
}
}
@@ -25,7 +25,7 @@ import java.util.Collection;
*/
@Slf4j
@RequiredArgsConstructor
public class PigOAuthRequestInterceptor implements RequestInterceptor {
public class PigxOAuthRequestInterceptor implements RequestInterceptor {
private final BearerTokenResolver tokenResolver;
@@ -9,7 +9,7 @@ import org.springframework.util.Assert;
import java.util.concurrent.TimeUnit;
@RequiredArgsConstructor
public class PigRedisOAuth2AuthorizationConsentService implements OAuth2AuthorizationConsentService {
public class PigxRedisOAuth2AuthorizationConsentService implements OAuth2AuthorizationConsentService {
private final RedisTemplate<String, Object> redisTemplate;
@@ -29,7 +29,7 @@ import java.util.concurrent.TimeUnit;
* @date 2022/5/27
*/
@RequiredArgsConstructor
public class PigRedisOAuth2AuthorizationService implements OAuth2AuthorizationService {
public class PigxRedisOAuth2AuthorizationService implements OAuth2AuthorizationService {
private final static Long TIMEOUT = 10L;
@@ -33,7 +33,7 @@ import java.util.Optional;
* @date 2022/5/29
*/
@RequiredArgsConstructor
public class PigRemoteRegisteredClientRepository implements RegisteredClientRepository {
public class PigxRemoteRegisteredClientRepository implements RegisteredClientRepository {
/**
* 刷新令牌有效期默认 30 天
@@ -2,8 +2,8 @@ com.pig4cloud.pigx.common.security.service.PigxDefaultUserDetailsServiceImpl
com.pig4cloud.pigx.common.security.service.PigxTocDefaultUserDetailsServiceImpl
com.pig4cloud.pigx.common.security.service.PigxMobileUserDetailServiceImpl
com.pig4cloud.pigx.common.security.service.PigxTocMobileUserDetailsServiceImpl
com.pig4cloud.pigx.common.security.service.PigRedisOAuth2AuthorizationService
com.pig4cloud.pigx.common.security.service.PigRedisOAuth2AuthorizationConsentService
com.pig4cloud.pigx.common.security.component.PigSecurityInnerAspect
com.pig4cloud.pigx.common.security.component.PigSecurityMessageSourceConfiguration
com.pig4cloud.pigx.common.security.service.PigRemoteRegisteredClientRepository
com.pig4cloud.pigx.common.security.service.PigxRedisOAuth2AuthorizationService
com.pig4cloud.pigx.common.security.service.PigxRedisOAuth2AuthorizationConsentService
com.pig4cloud.pigx.common.security.component.PigxSecurityInnerAspect
com.pig4cloud.pigx.common.security.component.PigxSecurityMessageSourceConfiguration
com.pig4cloud.pigx.common.security.service.PigxRemoteRegisteredClientRepository