问题描述
我正在使用名为 ShinyProxy 的 Java Spring 应用程序使用 SAML (Auth0.com) 用户验证,但我在这里遇到了一个我不知道如何解决的问题。
用户创建帐户时需要进行电子邮件验证,如果他在登录前进行验证,则可以正常工作。但是,如果他尝试在没有确认电子邮件的情况下立即登录,Shinyproxy 不会返回带有错误描述的页面 - 这就是我想要的 -(从 Auth0 规则返回)但显示带有 Java 错误的页面:200 验证 SAML 消息时出错。
如何处理此错误并将用户重定向到其他页面,在那里我将向他提供有关如何操作的信息?
先谢谢你! 米罗斯拉夫
用于电子邮件验证的 Auth0 规则
function (user,context,callback) {
if (!!user.email_verified) {
return callback(null,user,context);
}
const ManagementClient = require('[email protected]').ManagementClient;
const management = new ManagementClient({
token: auth0.accesstoken,domain: auth0.domain
});
const emailVerificationParams = {
user_id: user.user_id,client_id: context.clientID,};
management.sendEmailVerification(emailVerificationParams,function (err) {
if (err) {
return callback(err);
}
});
return callback(new UnauthorizedError('Please verify your email before logging in. An email has been sent to you with instructions. After verifying please logout and login again.'));
}
application.yml
authentication: saml
saml:
idp-Metadata-url: https://LINK.auth0.com/samlp/Metadata/KEY
app-entity-id: urn:LINK.auth0.com
app-base-url: http://localhost:8080
name-attribute: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
roles-attribute: http://schemas.auth0.com/rolez
logout-url: https://LINK.auth0.com/v2/logout?client_id=KEY&returnTo=http://localhost:8080
Java 运行
Spring Boot (v2.3.4.RELEASE)
2021-02-11 23:37:50.146 INFO 12836 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found,entering strict repository configuration mode!
2021-02-11 23:37:50.151 INFO 12836 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFERRED mode.
2021-02-11 23:37:50.188 INFO 12836 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 29ms. Found 0 JPA repository interfaces.
2021-02-11 23:37:50.200 INFO 12836 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found,entering strict repository configuration mode!
2021-02-11 23:37:50.201 INFO 12836 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2021-02-11 23:37:50.222 INFO 12836 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 13ms. Found 0 Redis repository interfaces.
2021-02-11 23:37:51.900 WARN 12836 --- [ main] io.undertow.websockets.jsr : UT026010: Buffer pool was not set on WebSocketDeploymentInfo,the default pool will be used
2021-02-11 23:37:51.920 INFO 12836 --- [ main] io.undertow.servlet : Initializing Spring embedded WebApplicationContext
2021-02-11 23:37:51.920 INFO 12836 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2698 ms
2021-02-11 23:37:52.618 INFO 12836 --- [ main] .s.m.p.AbstractReloadingMetadataProvider : New Metadata succesfully loaded for 'https://LINK.auth0.com/samlp/Metadata/KEY'
2021-02-11 23:37:52.620 INFO 12836 --- [ main] .s.m.p.AbstractReloadingMetadataProvider : Next refresh cycle for Metadata provider 'https://LINK.auth0.com/samlp/Metadata/KEY' will occur on '2021-02-12T01:37:52.271Z' ('2021-02-12T02:37:52.271+01:00' local time)
2021-02-11 23:37:52.714 INFO 12836 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/saml/login/**'],[org.springframework.security.saml.SAMLEntryPoint@35f760a4]
2021-02-11 23:37:52.714 INFO 12836 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: Ant [pattern='/saml/SSO/**'],[org.springframework.security.saml.SAMLProcessingFilter@8d29719]
2021-02-11 23:37:52.723 INFO 12836 --- [ main] o.s.boot.web.servlet.RegistrationBean : Filter orderedFormContentFilter was not registered (disabled)
2021-02-11 23:37:52.824 INFO 12836 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2021-02-11 23:37:52.867 INFO 12836 --- [ task-1] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]
2021-02-11 23:37:52.908 WARN 12836 --- [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore,database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2021-02-11 23:37:52.947 INFO 12836 --- [ task-1] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.4.21.Final
2021-02-11 23:37:53.142 INFO 12836 --- [ task-1] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2021-02-11 23:37:53.343 INFO 12836 --- [ task-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2021-02-11 23:37:53.407 WARN 12836 --- [ main] o.a.h.c.protocol.ResponseProcessCookies : Invalid cookie header: "Set-Cookie: did=s%3Av0%3Ac75973d0-6cb9-11eb-9ff6-f93b72bfbcf3.ahRt9UKZ6HpnTWQ4D6Hc9UmaQcvqLN8HT9lFZScY3UE; Max-Age=31557600; Path=/; Expires=Sat,12 Feb 2022 04:37:53 GMT; HttpOnly; Secure; SameSite=None". Invalid 'expires' attribute: Sat,12 Feb 2022 04:37:53 GMT
2021-02-11 23:37:53.407 WARN 12836 --- [ main] o.a.h.c.protocol.ResponseProcessCookies : Invalid cookie header: "Set-Cookie: did_compat=s%3Av0%3Ac75973d0-6cb9-11eb-9ff6-f93b72bfbcf3.ahRt9UKZ6HpnTWQ4D6Hc9UmaQcvqLN8HT9lFZScY3UE; Max-Age=31557600; Path=/; Expires=Sat,12 Feb 2022 04:37:53 GMT; HttpOnly; Secure". Invalid 'expires' attribute: Sat,12 Feb 2022 04:37:53 GMT
2021-02-11 23:37:53.449 INFO 12836 --- [ main] e.o.c.stat.StatCollectorRegistry : disabled. Usage statistics will not be processed.
logoutURL: https://LINK.auth0.com/v2/logout?client_id=KEY&returnTo=http://localhost:8080
2021-02-11 23:37:53.542 INFO 12836 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: any request,[org.springframework.security.saml.Metadata.MetadataGeneratorFilter@141b011a,org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@43cbafa6,org.springframework.security.web.context.SecurityContextPersistenceFilter@2d705998,org.springframework.security.web.header.HeaderWriterFilter@4d770bcd,org.springframework.security.web.csrf.CsrfFilter@1e9d721,org.springframework.security.web.authentication.logout.logoutFilter@1cfa7ee0,org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@5c60f096,org.springframework.security.web.authentication.www.BasicAuthenticationFilter@538f45f1,FilterChainProxy[Filter Chains: [[ Ant [pattern='/saml/login/**'],[org.springframework.security.saml.SAMLEntryPoint@35f760a4]],[ Ant [pattern='/saml/SSO/**'],[org.springframework.security.saml.SAMLProcessingFilter@8d29719]]]],org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7582a16b,org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5d94ac8a,org.springframework.security.web.authentication.AnonymousAuthenticationFilter@64fc6470,org.springframework.security.web.session.SessionManagementFilter@79b4cff,org.springframework.security.web.access.ExceptionTranslationFilter@5cba890e,org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5f35370b]
2021-02-11 23:37:53.552 WARN 12836 --- [ main] org.thymeleaf.templatemode.TemplateMode : [THYMELEAF][main] Template Mode 'HTML5' is deprecated. Using Template Mode 'HTML' instead.
2021-02-11 23:37:53.742 INFO 12836 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page template: index
2021-02-11 23:37:53.777 INFO 12836 --- [ task-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2021-02-11 23:37:53.822 INFO 12836 --- [ task-1] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MysqL8Dialect
2021-02-11 23:37:54.094 INFO 12836 --- [ task-1] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2021-02-11 23:37:54.105 INFO 12836 --- [ task-1] j.LocalContainerEntityManagerfactorybean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2021-02-11 23:37:54.192 INFO 12836 --- [ main] o.s.l.c.support.AbstractContextSource : Property 'userDn' not set - anonymous context will be used for read-write operations
2021-02-11 23:37:54.426 INFO 12836 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator'
2021-02-11 23:37:54.457 INFO 12836 --- [ main] io.undertow : starting server: Undertow - 2.1.4.Final
2021-02-11 23:37:54.465 INFO 12836 --- [ main] org.xnio : XNIO version 3.8.0.Final
2021-02-11 23:37:54.473 INFO 12836 --- [ main] org.xnio.nio : XNIO NIO Implementation Version 3.8.0.Final
2021-02-11 23:37:54.531 INFO 12836 --- [ main] org.jboss.threads : JBoss Threads version 3.1.0.Final
2021-02-11 23:37:54.584 INFO 12836 --- [ main] o.s.b.w.e.undertow.UndertowWebServer : Undertow started on port(s) 8080 (http)
2021-02-11 23:37:54.585 INFO 12836 --- [ main] DeferredRepositoryInitializationListener : Triggering deferred initialization of Spring Data repositories…
2021-02-11 23:37:54.586 INFO 12836 --- [ main] DeferredRepositoryInitializationListener : Spring Data repositories initialized!
2021-02-11 23:37:54.600 INFO 12836 --- [ main] e.o.c.util.StartupEventListener : Started ShinyProxy 2.4.1 (ContainerProxy 0.8.5)
2021-02-11 23:38:12.574 INFO 12836 --- [ XNIO-1 task-1] io.undertow.servlet : Initializing Spring dispatcherServlet 'dispatcherServlet'
2021-02-11 23:38:12.574 INFO 12836 --- [ XNIO-1 task-1] o.s.web.servlet.dispatcherServlet : Initializing Servlet 'dispatcherServlet'
2021-02-11 23:38:12.579 INFO 12836 --- [ XNIO-1 task-1] o.s.web.servlet.dispatcherServlet : Completed initialization in 5 ms
2021-02-11 23:38:12.586 INFO 12836 --- [ XNIO-1 task-1] o.s.s.s.m.MetadataGeneratorFilter : No default Metadata configured,generating with default values,please pre-configure Metadata for production use
2021-02-11 23:38:12.590 INFO 12836 --- [ XNIO-1 task-1] o.s.s.saml.Metadata.MetadataGenerator : Generating Metadata without signing key,KeyStore doesn't contain any default private key,or the signingKey specified in ExtendedMetadata cannot be found
2021-02-11 23:38:12.590 INFO 12836 --- [ XNIO-1 task-1] o.s.s.saml.Metadata.MetadataGenerator : Generating Metadata without encryption key,or the encryptionKey specified in ExtendedMetadata cannot be found
2021-02-11 23:38:12.590 INFO 12836 --- [ XNIO-1 task-1] o.s.s.s.m.MetadataGeneratorFilter : Created default Metadata for system with entityID: urn:LINK.auth0.com
2021-02-11 23:38:12.635 INFO 12836 --- [ XNIO-1 task-1] o.s.security.saml.log.SAMLDefaultLogger : AuthNRequest;SUCCESS;0:0:0:0:0:0:0:1;urn:LINK.auth0.com;urn:LINK.auth0.com;;;
2021-02-11 23:38:22.976 INFO 12836 --- [ XNIO-1 task-1] colMessageXMLSignatureSecurityPolicyRule : SAML protocol message was not signed,skipping XML signature processing
2021-02-11 23:38:22.978 INFO 12836 --- [ XNIO-1 task-1] o.s.security.saml.log.SAMLDefaultLogger : AuthNResponse;FAILURE;0:0:0:0:0:0:0:1;urn:LINK.auth0.com;urn:LINK.auth0.com;;;org.springframework.security.saml.SAMLStatusException: Response has invalid status code urn:oasis:names:tc:SAML:2.0:status:Responder,status message is null
at org.springframework.security.saml.websso.WebSSOProfileConsumerImpl.processAuthenticationResponse(WebSSOProfileConsumerImpl.java:146)
at org.springframework.security.saml.SAMLAuthenticationProvider.authenticate(SAMLAuthenticationProvider.java:88)
at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:199)
at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:219)
at org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter$AuthenticationManagerDelegator.authenticate(WebSecurityConfigurerAdapter.java:534)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:205)
at com.sun.proxy.$Proxy89.authenticate(UnkNown Source)
at org.springframework.security.saml.SAMLProcessingFilter.attemptAuthentication(SAMLProcessingFilter.java:92)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:155)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.logout.logoutFilter.doFilter(logoutFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.saml.Metadata.MetadataGeneratorFilter.doFilter(MetadataGeneratorFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcmetricsFilter.doFilterInternal(WebMvcmetricsFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at io.undertow.servlet.handlers.ServletdispatchingHandler.handleRequest(ServletdispatchingHandler.java:36)
at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:91)
at eu.openanalytics.containerproxy.util.ProxyMappingManager$ProxyPathHandler.handleRequest(ProxyMappingManager.java:160)
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
at io.undertow.servlet.handlers.security.SSL@R_821_404[email protected](SSL@R_821_404[email protected]:132)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletinitialHandler.handleFirstRequest(ServletinitialHandler.java:269)
at io.undertow.servlet.handlers.ServletinitialHandler.access$100(ServletinitialHandler.java:78)
at io.undertow.servlet.handlers.ServletinitialHandler$2.call(ServletinitialHandler.java:133)
at io.undertow.servlet.handlers.ServletinitialHandler$2.call(ServletinitialHandler.java:130)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at io.undertow.servlet.handlers.ServletinitialHandler.dispatchRequest(ServletinitialHandler.java:249)
at io.undertow.servlet.handlers.ServletinitialHandler.access$000(ServletinitialHandler.java:78)
at io.undertow.servlet.handlers.ServletinitialHandler$1.handleRequest(ServletinitialHandler.java:99)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:370)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:836)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2019)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1558)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1449)
at java.lang.Thread.run(Thread.java:748)
2021-02-11 23:38:22.979 INFO 12836 --- [ XNIO-1 task-1] e.o.containerproxy.service.UserService : Authentication failure [user: ] [error: Error validating SAML message]
网页错误返回
Error
Status code: 200
Message: Error validating SAML message
Stack Trace:
org.springframework.security.authentication.AuthenticationServiceException: Error validating SAML message
at org.springframework.security.saml.SAMLAuthenticationProvider.authenticate(SAMLAuthenticationProvider.java:101)
at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:199)
at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:219)
at org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter$AuthenticationManagerDelegator.authenticate(WebSecurityConfigurerAdapter.java:534)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:205)
at com.sun.proxy.$Proxy89.authenticate(UnkNown Source)
at org.springframework.security.saml.SAMLProcessingFilter.attemptAuthentication(SAMLProcessingFilter.java:92)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:155)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.logout.logoutFilter.doFilter(logoutFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.saml.Metadata.MetadataGeneratorFilter.doFilter(MetadataGeneratorFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at
.
.
.
io.undertow.servlet.handlers.ServletinitialHandler.access$000(ServletinitialHandler.java:78)
at io.undertow.servlet.handlers.ServletinitialHandler$1.handleRequest(ServletinitialHandler.java:99)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:370)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:836)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2019)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1558)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1449)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.springframework.security.saml.SAMLStatusException: Response has invalid status code urn:oasis:names:tc:SAML:2.0:status:Responder,status message is null
at org.springframework.security.saml.websso.WebSSOProfileConsumerImpl.processAuthenticationResponse(WebSSOProfileConsumerImpl.java:146)
at org.springframework.security.saml.SAMLAuthenticationProvider.authenticate(SAMLAuthenticationProvider.java:88)
... 88 more
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)