-
Notifications
You must be signed in to change notification settings - Fork 593
Authentication provider errors after upgrading to SCDF 2.10.0 #5166
Description
Description:
After upgrading from SCDF server 2.9.4 to 2.9.10, any attempt to access the SCDF was no longer possible as any sent requests are being denied with error 401.
When checking the logs, the following error message is shown:
org.springframework.security.authentication.ProviderNotFoundException: No AuthenticationProvider found for org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationToken
After downgrading backwards to the previous version, everything was ok.
Besides upgrading SCDF's version nothing was changed and the configuration remained the same.
We configure the Authentication Provider and all the relevant creds and properties as it should be done the - "spring-security way" per the guidelines in the documentation (and as stated previously, the configuration was not changed and after downgrading back the version, it returned working again).
We pass all the aforementioned properties via SCDF'S manifest.yml as follows (bellow please see a screenshot of the relevant section in the manifest.yml. Also, see manifest.yml attached):
uas-dataflow-server-manifest-template.txt
I currently can't tell if it's a bug or rather something has been changed in the way oAuth providers should be configured (at least in the documentation I haven't noticed any news) .
** I did notice that in V2.10.0 the dependency of the deprecated spring-security-oauth2 has been removed but I don't know for certain if this change had anything to do with the problem we're facing.
Your kind assistance is highly appreciated!
Release versions:
2.10.0
https://github.com/spring-cloud/spring-cloud-dataflow/releases/tag/v2.10.0
Steps to reproduce:
- upgrade to SCDF 2.10.0
- configure the authentication properties per the description above (kindly use similar oauth configuration with (see 'env' section in the yml)
Error & Stacktrace
o.s.c.c.s.OAuthSecurityConfiguration : An authentication failure event occurred while accessing a REST resource that requires authentication. 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT org.springframework.security.authentication.ProviderNotFoundException: No AuthenticationProvider found for org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationToken 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:234) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:201) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter.attemptAuthentication(OAuth2LoginAuthenticationFilter.java:195) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:178) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.cloudfoundry.router.ClientCertificateMapper.doFilter(ClientCertificateMapper.java:79) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:891) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1784) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 2022-12-20T05:57:53.31+0000 [APP/PROC/WEB/0] OUT at java.lang.Thread.run(Thread.java:750)
Screenshots:

