第三方登录配置

This commit is contained in:
阿沐 2024-02-24 12:20:57 +08:00
parent 157ff131c9
commit 6c8966622f

View File

@ -5,6 +5,9 @@ import net.maku.framework.security.exception.SecurityAuthenticationEntryPoint;
import net.maku.framework.security.mobile.MobileAuthenticationProvider; import net.maku.framework.security.mobile.MobileAuthenticationProvider;
import net.maku.framework.security.mobile.MobileUserDetailsService; import net.maku.framework.security.mobile.MobileUserDetailsService;
import net.maku.framework.security.mobile.MobileVerifyCodeService; 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.ApplicationEventPublisher;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -45,6 +48,8 @@ public class SecurityConfig {
private final UserDetailsService userDetailsService; private final UserDetailsService userDetailsService;
private final MobileUserDetailsService mobileUserDetailsService; private final MobileUserDetailsService mobileUserDetailsService;
private final MobileVerifyCodeService mobileVerifyCodeService; private final MobileVerifyCodeService mobileVerifyCodeService;
private final ThirdUserDetailsService thirdUserDetailsService;
private final ThirdOpenIdService thirdOpenIdService;
private final PasswordEncoder passwordEncoder; private final PasswordEncoder passwordEncoder;
private final ApplicationEventPublisher applicationEventPublisher; private final ApplicationEventPublisher applicationEventPublisher;
@ -63,10 +68,16 @@ public class SecurityConfig {
} }
@Bean @Bean
ThirdAuthenticationProvider thirdAuthenticationProvider() {
return new ThirdAuthenticationProvider(thirdUserDetailsService, thirdOpenIdService);
}
@Bean
public AuthenticationManager authenticationManager() { public AuthenticationManager authenticationManager() {
List<AuthenticationProvider> providerList = new ArrayList<>(); List<AuthenticationProvider> providerList = new ArrayList<>();
providerList.add(daoAuthenticationProvider()); providerList.add(daoAuthenticationProvider());
providerList.add(mobileAuthenticationProvider()); providerList.add(mobileAuthenticationProvider());
providerList.add(thirdAuthenticationProvider());
ProviderManager providerManager = new ProviderManager(providerList); ProviderManager providerManager = new ProviderManager(providerList);
providerManager.setAuthenticationEventPublisher(new DefaultAuthenticationEventPublisher(applicationEventPublisher)); providerManager.setAuthenticationEventPublisher(new DefaultAuthenticationEventPublisher(applicationEventPublisher));