Would you be so kind as to specify which parameter that is? I run into the same issue.
Tom Op vrijdag 17 oktober 2025 om 22:01:38 UTC+2 schreef Raph: > We ended up finding the right parameter to deactivate the mfa when > resetting the password... > > I believe it might be a cas bug, a fresh install without any script, or > java modified had the same behaviour. > > Although, we did have other implements like captcha as you mentionned. > > Le ven. 17 oct. 2025, 14 h 49, Ray Bon <[email protected]> a écrit : > >> Raph, >> >> This part of the log: >> No transition found on occurrence of event 'unavailable' in state >> 'mfa-simple' of flow 'pswdreset' >> >> Are you creating the flow pswdreset or the the event unavailable? >> >> If not, then this would be a bug in cas code. >> If you have created a flow or your groovy script is returning the >> unavailable event, then that would be the place to investigate. >> >> Is it possible that trusted-mfa or captcha features are affecting the >> flow? >> Try to simplify your config. >> >> We have added custom flows into our cas. To help understand what is going >> on, I created a method that would generate a human readable description of >> the flow and write to a file (included below in case you are creating >> custom flows). >> >> Ray >> >> package ca.uvic.idm.cas.web.flow; >> >> import lombok.extern.slf4j.Slf4j; >> import lombok.val; >> import org.apereo.cas.configuration.CasConfigurationProperties; >> import org.apereo.cas.web.flow.configurer.AbstractCasWebflowConfigurer; >> import org.springframework.context.ConfigurableApplicationContext; >> import >> org.springframework.webflow.definition.registry.FlowDefinitionRegistry; >> import org.springframework.webflow.engine.ActionState; >> import org.springframework.webflow.engine.Flow; >> import >> org.springframework.webflow.engine.builder.support.FlowBuilderServices; >> >> import java.io.BufferedWriter; >> import java.io.FileWriter; >> import java.io.IOException; >> import java.util.regex.Pattern; >> >> @Slf4j >> public abstract class AbstractUvicCasWebflowConfigurer extends >> AbstractCasWebflowConfigurer { >> >> protected String outputFileName = "/tmp/flow.txt"; >> >> public AbstractUvicCasWebflowConfigurer(FlowBuilderServices >> flowBuilderServices, >> >> FlowDefinitionRegistry loginFlowDefinitionRegistry, >> >> ConfigurableApplicationContext applicationContext, >> >> CasConfigurationProperties casProperties) { >> super(flowBuilderServices, loginFlowDefinitionRegistry, >> applicationContext, casProperties); >> } >> >> /** >> * Inserts an inbound state into a transition for a target state and >> sets inbound >> * state's matching transition to the previous target (preserving >> overall flow). >> * Inbound state inserts itself into target state by replacing target >> transition. >> * @param flow >> * @param inboundStateId bean identifier for insertable action state >> * @param inboundActionId action to be performed >> * @param targetStateid bean identifier for state immediately before >> inbound >> * @param targetTransitionId transition point for insertion >> */ >> protected ActionState insertIntoFlow( >> final Flow flow, >> final String inboundStateId, >> final String inboundActionId, >> final String targetStateid, >> final String targetTransitionId) { >> val inboundActionState = createActionState(flow, >> inboundStateId, inboundActionId); >> val targetState = getState(flow, targetStateid, >> ActionState.class); >> >> val destinationStateId = >> targetState.getTransition(targetTransitionId).getTargetStateId(); >> val inboundTransitionSet = >> inboundActionState.getTransitionSet(); >> inboundTransitionSet.add(createTransition(targetTransitionId, >> destinationStateId)); >> >> createTransitionForState(targetState, targetTransitionId, >> inboundStateId, true); >> flowToFile(flow); >> return inboundActionState; >> } >> >> protected void flowToFile(final Flow flow) { >> flowToFile(flow, outputFileName); >> } >> >> >> protected void flowToFile(final Flow flow, final String fileName) { >> if (LOGGER.isTraceEnabled()) { >> String s = flow.toString().trim(); >> String formatted = formatFlow(s); >> try (BufferedWriter writer = new BufferedWriter(new >> FileWriter(fileName))) { >> // writer.write(s); >> // writer.write("\n\n\n\n"); >> writer.write(formatted); >> } catch (IOException e) { >> LOGGER.error(e.getMessage()); >> } >> } >> } >> >> /** >> * Formats a spring webflow flow to help determine how to modify a flow. >> * Adds new lines and indents to make it easier to read. >> * @param input flow.toString() >> * @return nicely formatted flow >> */ >> public String formatFlow(final String input) { >> //LOGGER.debug("input: ." + input + "."); >> // used to add an extra indent for an object's field members >> java.util.Stack<java.util.AbstractMap.SimpleEntry> stack = new >> java.util.Stack<>(); >> int currPosition = 0; >> String indent = ""; >> String indentor = "\t"; >> String newLine = "\n"; >> // object identifier >> java.util.regex.Pattern objPattern = >> Pattern.compile("^(\\w+@\\w+)\\b.*"); >> >> String in = input.trim(); >> StringBuilder out = new StringBuilder(); >> while (in.length() > currPosition) { >> java.util.regex.Matcher m = >> objPattern.matcher(in.substring(currPosition)); >> String firstTwo = ""; >> // capture first two characters to match against ']' or >> '],' >> if (1 < in.length() - currPosition) { >> firstTwo = in.substring(currPosition, >> currPosition + 2); >> } else { >> // at end of input >> firstTwo = in.substring(currPosition, >> currPosition + 1); >> } >> if (in.startsWith("[", currPosition)) { >> >> out.append(indent).append(in.charAt(currPosition)).append(newLine); >> indent += indentor; >> currPosition++; >> if (!stack.empty()) { >> >> java.util.AbstractMap.SimpleEntry<String, Integer> se = stack.pop(); >> se.setValue(se.getValue() + 1); >> stack.push(se); >> } >> } else if (firstTwo.startsWith("]")) { >> if (!stack.empty()) { >> >> java.util.AbstractMap.SimpleEntry<String, Integer> se = stack.pop(); >> if (1 > se.getValue()) { >> // outdent after printing >> member variables >> indent = >> indent.replaceFirst(indentor, ""); >> if (!stack.empty()) { >> // this ] closes from >> outer object >> >> java.util.AbstractMap.SimpleEntry<String, Integer> seOuter = stack.pop(); >> >> seOuter.setValue(seOuter.getValue() - 1); >> stack.push(seOuter); >> } >> } else { >> se.setValue(se.getValue() - 1); >> stack.push(se); >> } >> } >> indent = indent.replaceFirst(indentor, ""); >> out.append(indent).append("]"); >> if ("],".equals(firstTwo)) { >> out.append(","); >> currPosition++; >> } >> out.append(newLine); >> currPosition++; >> } else if (m.matches()) { >> String obj = m.group(1); >> out.append(indent).append(obj).append(newLine); >> indent = indent + indentor; >> // prepare for members >> stack.push(new >> java.util.AbstractMap.SimpleEntry<String, Integer>(obj, 0)); >> currPosition += obj.length(); >> } else { >> int nextOpenBracket = in.indexOf("[", >> currPosition); >> int nextCloseBracket = in.indexOf("]", >> currPosition); >> int nextComma = in.indexOf(",", currPosition); >> int nextMark = 0; >> boolean increaseIndent = false; >> // if [ or , not found, push beyond last >> position which would be ] >> if (0 > nextOpenBracket) { >> nextOpenBracket = in.length(); >> } >> if (0 > nextComma) { >> nextComma = in.length(); >> } >> // add 1 when [ and , since they should remain >> on same line and ] should be on next line >> if (nextCloseBracket > nextOpenBracket) { >> if (nextOpenBracket > nextComma) { >> nextMark = nextComma + 1; >> } else { >> nextMark = nextOpenBracket + 1; >> // bypass empty and null >> if >> ((in.substring(nextMark).startsWith("[empty]]")) >> || >> (in.substring(nextMark).startsWith("null]"))) { >> if >> (in.substring(nextMark).startsWith("[empty]],")) { >> nextMark += 9; >> } else if >> (in.substring(nextMark).startsWith("[empty]]")) { >> nextMark += 8; >> } else if >> (in.substring(nextMark).startsWith("null],")) { >> nextMark += 6; >> } else if >> (in.substring(nextMark).startsWith("null]")) { >> nextMark += 5; >> } >> } else { >> // indent members >> increaseIndent = true; >> if (!stack.empty()) { >> >> java.util.AbstractMap.SimpleEntry<String, Integer> se = stack.pop(); >> >> se.setValue(se.getValue() + 1); >> stack.push(se); >> } >> } >> } >> } else if (nextCloseBracket > nextComma) { >> nextMark = nextComma + 1; >> } else { >> nextMark = nextCloseBracket; >> } >> String s = in.substring(currPosition, >> nextMark).trim(); >> if (0 < s.length()) { >> >> out.append(indent).append(s).append(newLine); >> currPosition = nextMark; >> } >> if (increaseIndent) { >> // for next line >> indent = indent + indentor; >> } >> } >> } >> String formatted = out.toString().trim(); >> //LOGGER.debug("formatted: ." + formatted + "."); >> >> return formatted; >> } >> } >> >> >> ------------------------------ >> *From:* [email protected] <[email protected]> on behalf of Raph < >> [email protected]> >> *Sent:* October 16, 2025 14:27 >> *To:* CAS Community <[email protected]> >> *Cc:* Raph <[email protected]> >> *Subject:* [cas-user] Re: 7.2.6 : No transition found on occurence of >> event 'unavailable' in state 'mfa-simple' of flow 'pswdreset' >> >> 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 >> >> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/56ee93a0-601a-4d31-b808-89dc6823f7a9n%40apereo.org?utm_medium=email&utm_source=footer> >> . >> >> -- >> - 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 a topic in the >> Google Groups "CAS Community" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/a/apereo.org/d/topic/cas-user/b-qDsXp3_m4/unsubscribe >> . >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To view this discussion visit >> https://groups.google.com/a/apereo.org/d/msgid/cas-user/YQBP288MB0081FAE67FA2EC1B9F183E07CEF6A%40YQBP288MB0081.CANP288.PROD.OUTLOOK.COM >> >> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/YQBP288MB0081FAE67FA2EC1B9F183E07CEF6A%40YQBP288MB0081.CANP288.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer> >> . >> > -- - 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/c611927f-b1a8-4f5c-9972-7eb3edd18d62n%40apereo.org.
