debugging expiring password intercept
Paul B. Henson
henson at cpp.edu
Fri Jun 2 20:33:47 EDT 2017
On Fri, Jun 02, 2017 at 01:21:01PM +0000, Cantor, Scott wrote:
> Aside from trying to see what it's doing with webflow logs, which are
> pretty hard to follow, adding something like this to various
> <action-state> elements would usually provide a hint.
Hmm, well, I updated expiring-password-flow.xml and added some
debugging:
<decision-state id="CheckContext">
<on-entry>
<evaluate expression="T(org.slf4j.LoggerFactory).getLogger('net.shibboleth.idp').debug('entering expiring-password-flow CheckContext')" />
</on-entry>
<if test="ExpiringPasswordPredicate.apply(opensamlProfileRequestContext)"
then="ShouldUnsetCookie" else="CheckCookie" />
</decision-state>
<decision-state id="ShouldUnsetCookie">
<on-entry>
<evaluate expression="T(org.slf4j.LoggerFactory).getLogger('net.shibboleth.idp').debug('entering expiring-password-flow ShouldUnsetCookie')" />
<if test="ExpiringPasswordCookieManager.getCookieValue(ExpiringPasswordCookieName, null) != null"
then="UnsetCookie" else="proceed" />
</decision-state>
<decision-state id="CheckCookie">
<on-entry>
<evaluate expression="T(org.slf4j.LoggerFactory).getLogger('net.shibboleth.idp').debug('entering expiring-password-flow CheckCookie')" />
</on-entry>
<if test="T(java.lang.System).currentTimeMillis() - T(java.lang.Long).parseLong(ExpiringPasswordCookieManager.getCookieValue(ExpiringPasswordCookieName, '0')) > ExpiringPasswordNotifyInterval"
then="DisplayExpiringPasswordView" else="proceed" />
</decision-state>
However, after authenticating, none of these log messages show up:
# grep expiring-password-flow /opt/shibboleth-idp/logs/idp-process.log
2017-06-02 17:13:01,378 - DEBUG [net.shibboleth.idp.profile.spring.factory.FlowDefinitionRegistryFactoryBean:240] - Registered flow ID 'intercept/expiring-password' using 'file [/opt/shibboleth-idp/flows/../system/flows/intercept/expiring-password-flow.xml]'
2017-06-02 17:13:01,386 - DEBUG [net.shibboleth.idp.profile.spring.factory.FlowDefinitionRegistryFactoryBean:240] - Registered flow ID 'authn/conditions/expiring-password' using 'file [/opt/shibboleth-idp/flows/authn/conditions/expiring-password/expiring-password-flow.xml]'
Also, there are only two cookies from the idp in my browser:
JSESSIONID
shib_idp_session
The shib_idp_exp_pwd cookie doesn't seem to be getting set 8-/.
I've disabled some of the other things that use intercepts, such as user-level
attribute consent. Would that somehow cause the password expiration intercept
not to run? Or is there any other change I might have made that would cause
it to be skipped? What should be calling it, so I can start adding
debugging higher up the tree <sigh>?
Thanks...
--
Paul B. Henson | (909) 979-6361 | http://www.cpp.edu/~henson/
Operating Systems and Network Analyst | henson at cpp.edu
California State Polytechnic University | Pomona CA 91768
More information about the users
mailing list