Context:
Our project is a simple overlay which has templates, css and 3 classes:
- CasOverlayOverrideConfiguration (there by default)
- PasswordChangeAction : hardcoded message changed to french.
- MultifactorAuthenticationSetTrustAction : force the trust to expire after
30 days.
What I tried (that somewhat makes sense... believe me, i tried useless
stuff...):
- Defining a groovy script as a mfa policy in my service, the script checks
the URL to see if it contains pswdrst. and "bypasses" the mfa in the log,
but we still get the error.
- A bunch of parameters...
- Using 7.3.0 instead
My 7.3 build is vanilla, except for these implementations added in the
build.gradle:
implementation "org.apereo.cas:cas-server-webapp"
implementation "org.apereo.cas:cas-server-support-ldap"
implementation "org.apereo.cas:cas-server-core-configuration"
implementation "org.apereo.cas:cas-server-support-json-service-registry"
implementation "org.apereo.cas:cas-server-support-pm-ldap"
implementation "org.apereo.cas:cas-server-support-throttle"
implementation "org.apereo.cas:cas-server-support-simple-mfa"
implementation "org.apereo.cas:cas-server-support-trusted-mfa"
implementation "org.apereo.cas:cas-server-support-captcha"
implementation "org.apereo.cas:cas-server-core-webflow-api"
implementation "org.apereo.cas:cas-server-core-web-api"
implementation "org.apereo.cas:cas-server-core-util"
implementation "org.apereo.cas:cas-server-core-scripting"
implementation "org.apereo.cas:cas-server-support-pm-core"
implementation "org.apereo.cas:cas-server-support-pm-webflow"
implementation "org.apereo.cas:cas-server-support-rest"
implementation "org.apereo.cas:cas-server-support-swagger"
implementation "org.apereo.cas:cas-server-support-oauth:${
project.'cas.version'}"
implementation "org.apereo.cas:cas-server-core-authentication-api"
implementation "org.apereo.cas:cas-server-support-trusted-mfa-core"
implementation "org.apereo.cas:cas-server-support-saml-idp:${
project.'cas.version'}"
if (project.hasProperty("casModules")) {
def dependencies = project.getProperty("casModules").split(",")
dependencies.each {
def projectsToAdd = rootProject.subprojects.findAll {project ->
project.name == "cas-server-core-${it}" || project.name ==
"cas-server-support-${it}"
}
projectsToAdd.each {implementation it}
}
}
Is something more required in versions after 6.6.7 to use simple-mfa ?
*Stacktrace when the event occurs: *
2025-10-16 16:34:07,010 ERROR
[org.springframework.boot.web.servlet.support.ErrorPageFilter] -
<Forwarding to error page from request [/login] due to exception
[jakarta.servlet.ServletException: Request processing failed:
org.springframework.webflow.engine.NoMatchingTransitionException: No
transition found on occurence of event 'unavailable' in state 'mfa-simple'
of flow 'pswdreset' -- valid transitional criteria are
array<TransitionCriteria>[resumePasswordReset, success] -- likely
programmer error, check the set of TransitionCriteria for this state]>
java.lang.RuntimeException: jakarta.servlet.ServletException: Request
processing failed:
org.springframework.webflow.engine.NoMatchingTransitionException: No
transition found on occurence of event 'unavailable' in state 'mfa-simple'
of flow 'pswdreset' -- valid transitional criteria are
array<TransitionCriteria>[resumePasswordReset, success] -- likely
programmer error, check the set of TransitionCriteria for this state
at
org.apereo.cas.web.support.filters.AbstractSecurityFilter.throwException(AbstractSecurityFilter.java:42)
~[cas-server-core-web-api-7.2.6.jar:7.2.6]
at
org.apereo.cas.web.support.filters.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:198)
~[cas-server-core-web-api-7.2.6.jar:7.2.6]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apereo.cas.web.support.filters.AddResponseHeadersFilter.doFilter(AddResponseHeadersFilter.java:62)
~[cas-server-core-web-api-7.2.6.jar:7.2.6]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)
~[spring-webmvc-6.2.5.jar:6.2.5]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:75)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243)
~[spring-webmvc-6.2.5.jar:6.2.5]
at
org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238)
~[spring-security-config-6.4.5.jar:6.4.5]
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
~[spring-web-6.2.5.jar:6.2.5]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.2.5.jar:6.2.5]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.2.5.jar:6.2.5]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apereo.cas.logging.web.ThreadContextMDCServletFilter.doFilter(ThreadContextMDCServletFilter.java:111)
~[cas-server-core-logging-7.2.6.jar:7.2.6]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.2.5.jar:6.2.5]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
~[spring-security-web-6.4.5.jar:6.4.5]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apereo.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:36)
~[cas-server-core-audit-api-7.2.6.jar:7.2.6]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apereo.cas.config.CasEmbeddedContainerTomcatFiltersConfiguration$1.doFilter(CasEmbeddedContainerTomcatFiltersConfiguration.java:101)
~[cas-server-webapp-init-tomcat-7.2.6.jar:7.2.6]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:124)
~[spring-boot-3.4.4.jar:3.4.4]
at
org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:99)
~[spring-boot-3.4.4.jar:3.4.4]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:117)
~[spring-boot-3.4.4.jar:3.4.4]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
~[spring-web-6.2.5.jar:6.2.5]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.2.5.jar:6.2.5]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:70)
~[log4j-jakarta-web-2.24.3.jar:2.24.3]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
~[catalina.jar:10.1.46]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)
~[catalina.jar:10.1.46]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
~[catalina.jar:10.1.46]
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:666)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
~[catalina.jar:10.1.46]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
~[catalina.jar:10.1.46]
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
~[tomcat-coyote.jar:10.1.46]
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
~[tomcat-coyote.jar:10.1.46]
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
~[tomcat-coyote.jar:10.1.46]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1776)
~[tomcat-coyote.jar:10.1.46]
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
~[tomcat-coyote.jar:10.1.46]
at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:975)
~[tomcat-util.jar:10.1.46]
at
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:493)
~[tomcat-util.jar:10.1.46]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
~[tomcat-util.jar:10.1.46]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: jakarta.servlet.ServletException: Request processing failed:
org.springframework.webflow.engine.NoMatchingTransitionException: No
transition found on occurence of event 'unavailable' in state 'mfa-simple'
of flow 'pswdreset' -- valid transitional criteria are
array<TransitionCriteria>[resumePasswordReset, success] -- likely
programmer error, check the set of TransitionCriteria for this state
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1022)
~[spring-webmvc-6.2.5.jar:6.2.5]
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
~[spring-webmvc-6.2.5.jar:6.2.5]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
~[servlet-api.jar:6.0]
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
~[spring-webmvc-6.2.5.jar:6.2.5]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
~[servlet-api.jar:6.0]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
~[tomcat-websocket.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110)
~[spring-web-6.2.5.jar:6.2.5]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apereo.cas.web.support.filters.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:393)
~[cas-server-core-web-api-7.2.6.jar:7.2.6]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apereo.cas.web.support.filters.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:196)
~[cas-server-core-web-api-7.2.6.jar:7.2.6]
... 102 more
Caused by:
org.springframework.webflow.engine.NoMatchingTransitionException: No
transition found on occurence of event 'unavailable' in state 'mfa-simple'
of flow 'pswdreset' -- valid transitional criteria are
array<TransitionCriteria>[resumePasswordReset, success] -- likely
programmer error, check the set of TransitionCriteria for this state
at
org.springframework.webflow.engine.TransitionableState.getRequiredTransition(TransitionableState.java:93)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.SubflowState.handleEvent(SubflowState.java:116)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.endActiveFlowSession(FlowExecutionImpl.java:414)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.endActiveFlowSession(RequestControlContextImpl.java:238)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.EndState.doEnter(EndState.java:107)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Transition.execute(Transition.java:228)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Transition.execute(Transition.java:228)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Transition.execute(Transition.java:228)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Transition.execute(Transition.java:228)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Transition.execute(Transition.java:228)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.Flow.start(Flow.java:527)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:368)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.start(RequestControlContextImpl.java:234)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.SubflowState.doEnter(SubflowState.java:101)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Transition.execute(Transition.java:228)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Transition.execute(Transition.java:228)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.Flow.start(Flow.java:527)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:368)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.start(RequestControlContextImpl.java:234)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.SubflowState.doEnter(SubflowState.java:101)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Transition.execute(Transition.java:228)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.1.jar:3.0.1]
at org.springframework.webflow.engine.Flow.start(Flow.java:527)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:368)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:223)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:139)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.apereo.cas.web.flow.executor.WebflowExecutorFactory$CasFlowExecutorImpl.launchExecution(WebflowExecutorFactory.java:96)
~[cas-server-core-webflow-api-7.2.6.jar:7.2.6]
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
~[spring-aop-6.2.5.jar:6.2.5]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
~[spring-aop-6.2.5.jar:6.2.5]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
~[spring-aop-6.2.5.jar:6.2.5]
at
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:102)
~[spring-aop-6.2.5.jar:6.2.5]
at
org.apereo.cas.monitor.ExecutableObserver.executeJoinPoint(ExecutableObserver.java:82)
~[cas-server-core-api-monitor-7.2.6.jar:7.2.6]
at
org.apereo.cas.monitor.ExecutableObserver.observe(ExecutableObserver.java:63)
~[cas-server-core-api-monitor-7.2.6.jar:7.2.6]
at
org.apereo.cas.config.CasWebflowMonitoringConfiguration$CasWebflowMonitoringAspect.aroundWebflowOperations(CasWebflowMonitoringConfiguration.java:59)
~[cas-server-core-webflow-7.2.6.jar:7.2.6]
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:642)
~[spring-aop-6.2.5.jar:6.2.5]
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:632)
~[spring-aop-6.2.5.jar:6.2.5]
at
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
~[spring-aop-6.2.5.jar:6.2.5]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
~[spring-aop-6.2.5.jar:6.2.5]
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
~[spring-aop-6.2.5.jar:6.2.5]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
~[spring-aop-6.2.5.jar:6.2.5]
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)
~[spring-aop-6.2.5.jar:6.2.5]
at jdk.proxy3/jdk.proxy3.$Proxy162.launchExecution(Unknown Source)
~[?:?]
at
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:264)
~[spring-webflow-3.0.1.jar:3.0.1]
at
org.apereo.cas.web.flow.CasFlowHandlerAdapter.handle(CasFlowHandlerAdapter.java:35)
~[cas-server-core-webflow-api-7.2.6.jar:7.2.6]
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
~[spring-webmvc-6.2.5.jar:6.2.5]
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
~[spring-webmvc-6.2.5.jar:6.2.5]
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
~[spring-webmvc-6.2.5.jar:6.2.5]
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
~[spring-webmvc-6.2.5.jar:6.2.5]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
~[servlet-api.jar:6.0]
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
~[spring-webmvc-6.2.5.jar:6.2.5]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
~[servlet-api.jar:6.0]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
~[tomcat-websocket.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110)
~[spring-web-6.2.5.jar:6.2.5]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apereo.cas.web.support.filters.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:393)
~[cas-server-core-web-api-7.2.6.jar:7.2.6]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[catalina.jar:10.1.46]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[catalina.jar:10.1.46]
at
org.apereo.cas.web.support.filters.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:196)
~[cas-server-core-web-api-7.2.6.jar:7.2.6]
... 102 more
Le mercredi 15 octobre 2025 à 17:50:58 UTC-4, Raph a écrit :
> Migrating from 6.6.7 to 7.2.6.
> When the mfa isnt bypassed in my service, a password reset returns the
> following message. The mfa works on login, so it's not an unavailable
> service.
>
>
> Error: jakarta.servlet.ServletException: Request processing failed:
> org.springframework.webflow.engine.NoMatchingTransitionException: No
> transition found on occurence of event 'unavailable' in state 'mfa-simple'
> of flow 'pswdreset' -- valid transitional criteria are
> array<TransitionCriteria>[resumePasswordReset, success] -- likely
> programmer error, check the set of TransitionCriteria for this state
>
> In another environnement still in 6.6, I noticr that there's no mfa when
> resetting a password, but there's one on login. I dont expect there to be
> one either (?).
>
> Anyone else on 7.2.6+ using simple-mfa without trouble?
>
> A fresh build with and without the same implements/templates encounters
> the same error on my side.
>
--
- Website: https://apereo.github.io/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/56ee93a0-601a-4d31-b808-89dc6823f7a9n%40apereo.org.