使用 Spring Security 5.8.5(无启动)我无法进入自定义 OIDC 用户服务。 这是我当前的配置:
http.oauth2Login(oauth2 -> oauth2
.userInfoEndpoint(userInfo -> userInfo.oidcUserService(myCustomOidcUserService)));
默认的身份验证提供程序是一个
ProviderManager
,它会循环检查所有提供程序并获取第一个可能的 Authentication
对象。
这里的问题:在应用
OidcAuthorizationCodeAuthenticationProvider之前检查
OAuth2LoginConfigurer
应用OAuth2LoginAuthenticationProvider。导致 OAuth2LoginAuthenticationProvider 首先返回一个 Authentication
对象(因为两者都支持
OAuth2LoginAuthenticationToken
)。这就是为什么我的自定义 OIDC 用户服务从未被调用。我的配置中是否缺少任何内容?