<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi Scott,
<div class=""><br class="">
</div>
<div class="">Definitely getting closer. After studying the password-authn-flow I made the following changes</div>
<div class=""><br class="">
</div>
<div class=""><b class="">conf/authn/password-authn-config.xml</b></div>
<div class="">
<div class=""> <entry key="<font color="#0433ff" class="">FDUExpiredPassword</font>"></div>
<div class=""> <list></div>
<div class=""> <value>ERROR_PASSWORD_EXPIRED</value></div>
<div class=""> <value>ERROR_PASSWORD_MUST_CHANGE</value></div>
<div class=""> <value>PASSWORD_EXPIRED</value></div>
<div class=""> <value>PASSWORD_MUST_CHANGE</value></div>
<div class=""> <value>532</value></div>
<div class=""> <value>773</value></div>
<div class=""> </list></div>
<div class=""> </entry></div>
</div>
<div class=""><br class="">
</div>
<div class=""><b class="">flows/authn/conditions/conditions-flow.xml</b></div>
<div class="">
<div class=""> <action-state id="ValidateUsernamePassword"></div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span><transition on="<font color="#0433ff" class="">FDUExpiredPassword</font>" to="<font color="#ff2600" class="">FDUExpiredPasswordError</font>" /></div>
<div class=""> <transition on="AccountWarning" to="CallExpiringPassword" /></div>
<div class=""> <transition on="ExpiringPassword" to="CallExpiringPassword" /></div>
<div class=""> <transition on="ExpiredPassword" to="CallExpiredPassword" /></div>
<div class=""> <transition on="AccountLocked" to="CallAccountLocked" /></div>
<div class=""> <transition to="DisplayUsernamePasswordPage" /></div>
<div class=""> </action-state></div>
</div>
<div class=""><br class="">
</div>
<div class=""><b class="">conf/authn/authn-events-flow.xml</b></div>
<div class="">
<div class=""> <end-state id="<font color="#ff2600" class="">FDUExpiredPasswordError</font>" /></div>
<div class=""><br class="">
</div>
<div class=""> <global-transitions></div>
<div class=""> <transition on="<font color="#ff2600" class="">FDUExpiredPasswordError</font>" to="<font color="#ff2600" class="">FDUExpiredPasswordError</font>'" /></div>
<div class=""> <transition on="#{!'proceed'.equals(<a href="http://currentEvent.id" class="">currentEvent.id</a>)}" to="InvalidEvent" /></div>
<div class=""> </global-transitions></div>
</div>
<div class=""><br class="">
</div>
<div class=""><b class="">conf/errors.xml</b></div>
<div class="">
<div class=""> <util:map id="shibboleth.EventViewMap"></div>
<div class=""> <entry key="<font color="#ff2600" class="">FDUExpiredPasswordError</font>'" value="fduchangedpassword" /></div>
<div class=""> </util:map></div>
<div class=""><br class="">
</div>
<div class=""> <util:map id="shibboleth.LocalEventMap"></div>
<div class=""> <entry key="<font color="#ff2600" class="">FDUExpiredPasswordError</font>'" value="true" /></div>
<div class=""> ...</div>
<div class=""> </util:map></div>
<div><br class="">
</div>
<div>Now I am seeing the following error</div>
<div><br class="">
</div>
<div>
<div>2019-01-30 20:17:14,981 - 132.238.11.244 - ERROR [net.shibboleth.idp.authn:-2] - Uncaught runtime exception</div>
<div>java.lang.IllegalArgumentException: <b class="">Cannot find state with id '<font color="#ff2600" class="">FDUExpiredPasswordError</font>'' in flow 'authn' -- Known state ids are</b> 'array<String>['AuthenticationSetup', 'TestForSession', 'SessionExists',
'FilterFlows', 'SelectAuthenticationFlow', 'CallAuthenticationFlow', 'CheckSubjectCanonicalization', 'PopulateSubjectCanonicalizationContext', 'CallSubjectCanonicalization', 'DetectIdentitySwitch', 'HandleIdentitySwitch', 'FinalizeAuthentication', 'UpdateSessionWithAuthenticationResult',
'proceed', 'AccountError', 'AccountLocked', 'AuthenticationException', 'IdentitySwitch', 'InputOutputError', 'InvalidCredentials', 'InvalidEvent', 'InvalidProfileContext', 'InvalidSubjectContext', 'InvalidSubjectCanonicalizationContext', 'NoCredentials', 'NoPassive',
'NoPotentialFlow', 'RequestUnsupported', 'ReselectFlow', 'RestartAuthentication', 'RuntimeException', 'SubjectCanonicalizationError', 'LogRuntimeException', '<b class=""><font color="#ff2600" class="">FDUExpiredPasswordError</font></b>']'</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>at org.springframework.webflow.engine.Flow.getStateInstance(Flow.java:343)</div>
<div><br class="">
</div>
<div>This doesn’t make sense because the state id it’s looking for is in the list of known state id’s</div>
<div><br class="">
</div>
<div>-Chris</div>
</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Jan 29, 2019, at 9:37 PM, Cantor, Scott <<a href="mailto:cantor.2@osu.edu" class="">cantor.2@osu.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">I don't recall if the log category is in the default file, but FWIW, org.springframework.webflow is the root of all the packages to log. It's very verbose but it will track exactly how it moves between each state and event, so something should
come clear when it tries to make the transition it's supposed to be making.<br class="">
<br class="">
-- Scott<br class="">
<br class="">
<br class="">
-- <br class="">
For Consortium Member technical support, see <a href="https://wiki.shibboleth.net/confluence/x/coFAAg" class="">
https://wiki.shibboleth.net/confluence/x/coFAAg</a><br class="">
To unsubscribe from this list send an email to <a href="mailto:users-unsubscribe@shibboleth.net" class="">
users-unsubscribe@shibboleth.net</a><br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>