Modifying Login Flows
Mr. Christopher Bland
chris at fdu.edu
Wed Jan 30 20:39:13 EST 2019
Hi Scott,
Definitely getting closer. After studying the password-authn-flow I made the following changes
conf/authn/password-authn-config.xml
<entry key="FDUExpiredPassword">
<list>
<value>ERROR_PASSWORD_EXPIRED</value>
<value>ERROR_PASSWORD_MUST_CHANGE</value>
<value>PASSWORD_EXPIRED</value>
<value>PASSWORD_MUST_CHANGE</value>
<value>532</value>
<value>773</value>
</list>
</entry>
flows/authn/conditions/conditions-flow.xml
<action-state id="ValidateUsernamePassword">
<transition on="FDUExpiredPassword" to="FDUExpiredPasswordError" />
<transition on="AccountWarning" to="CallExpiringPassword" />
<transition on="ExpiringPassword" to="CallExpiringPassword" />
<transition on="ExpiredPassword" to="CallExpiredPassword" />
<transition on="AccountLocked" to="CallAccountLocked" />
<transition to="DisplayUsernamePasswordPage" />
</action-state>
conf/authn/authn-events-flow.xml
<end-state id="FDUExpiredPasswordError" />
<global-transitions>
<transition on="FDUExpiredPasswordError" to="FDUExpiredPasswordError'" />
<transition on="#{!'proceed'.equals(currentEvent.id<http://currentEvent.id>)}" to="InvalidEvent" />
</global-transitions>
conf/errors.xml
<util:map id="shibboleth.EventViewMap">
<entry key="FDUExpiredPasswordError'" value="fduchangedpassword" />
</util:map>
<util:map id="shibboleth.LocalEventMap">
<entry key="FDUExpiredPasswordError'" value="true" />
...
</util:map>
Now I am seeing the following error
2019-01-30 20:17:14,981 - 132.238.11.244 - ERROR [net.shibboleth.idp.authn:-2] - Uncaught runtime exception
java.lang.IllegalArgumentException: Cannot find state with id 'FDUExpiredPasswordError'' in flow 'authn' -- Known state ids are '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', 'FDUExpiredPasswordError']'
at org.springframework.webflow.engine.Flow.getStateInstance(Flow.java:343)
This doesn’t make sense because the state id it’s looking for is in the list of known state id’s
-Chris
On Jan 29, 2019, at 9:37 PM, Cantor, Scott <cantor.2 at osu.edu<mailto:cantor.2 at osu.edu>> wrote:
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.
-- Scott
--
For Consortium Member technical support, see https://wiki.shibboleth.net/confluence/x/coFAAg
To unsubscribe from this list send an email to users-unsubscribe at shibboleth.net<mailto:users-unsubscribe at shibboleth.net>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20190131/5989a570/attachment.html>
More information about the users
mailing list