diff --git a/maku-framework/src/main/java/net/maku/framework/security/config/SecurityConfig.java b/maku-framework/src/main/java/net/maku/framework/security/config/SecurityConfig.java index 86c9c22..2fe82dc 100644 --- a/maku-framework/src/main/java/net/maku/framework/security/config/SecurityConfig.java +++ b/maku-framework/src/main/java/net/maku/framework/security/config/SecurityConfig.java @@ -5,6 +5,9 @@ import net.maku.framework.security.exception.SecurityAuthenticationEntryPoint; import net.maku.framework.security.mobile.MobileAuthenticationProvider; import net.maku.framework.security.mobile.MobileUserDetailsService; import net.maku.framework.security.mobile.MobileVerifyCodeService; +import net.maku.framework.security.third.ThirdAuthenticationProvider; +import net.maku.framework.security.third.ThirdOpenIdService; +import net.maku.framework.security.third.ThirdUserDetailsService; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -45,6 +48,8 @@ public class SecurityConfig { private final UserDetailsService userDetailsService; private final MobileUserDetailsService mobileUserDetailsService; private final MobileVerifyCodeService mobileVerifyCodeService; + private final ThirdUserDetailsService thirdUserDetailsService; + private final ThirdOpenIdService thirdOpenIdService; private final PasswordEncoder passwordEncoder; private final ApplicationEventPublisher applicationEventPublisher; @@ -63,10 +68,16 @@ public class SecurityConfig { } @Bean + ThirdAuthenticationProvider thirdAuthenticationProvider() { + return new ThirdAuthenticationProvider(thirdUserDetailsService, thirdOpenIdService); + } + + @Bean public AuthenticationManager authenticationManager() { List providerList = new ArrayList<>(); providerList.add(daoAuthenticationProvider()); providerList.add(mobileAuthenticationProvider()); + providerList.add(thirdAuthenticationProvider()); ProviderManager providerManager = new ProviderManager(providerList); providerManager.setAuthenticationEventPublisher(new DefaultAuthenticationEventPublisher(applicationEventPublisher)); @@ -92,7 +103,7 @@ public class SecurityConfig { .headers(headers -> headers.frameOptions(HeadersConfigurer.FrameOptionsConfig::disable)) .csrf(AbstractHttpConfigurer::disable) ; - + return http.build(); } }