第三方登录配置

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.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<AuthenticationProvider> 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();
}
}