encoded CAS ticket validation error
Andrew Morgan
morgan at orst.edu
Thu Dec 7 19:00:14 EST 2017
I have enabled encoded CAS Service Tickets. After running this way for a
few weeks, I finally switched my session storage to the client storage:
idp.session.StorageService = shibboleth.ClientSessionStorageService
and set my CAS session storage to in-memory:
idp.cas.StorageService=shibboleth.StorageService
However, I'm getting an error in idp-process.log during ticket validation:
2017-12-07 15:40:16,481 - INFO [net.shibboleth.idp.cas.flow.impl.ValidateTicketAction:117] - Successfully validated ST-AAlzZWNyZXQ3MjYS7AOhZS5Wt7tSgEXz2mKxVD-lhBBwxC0BZATydilAz8DbAvwRFsCZJqbDFfyvF6mQ1N9tdIAHPVcmQGDCyLXPu0NVU8r4FZi8_ur4MkfMdXisZ0cAGIwtE_FHQ0d28h56fz65kBYxChXo7YRtnItFlxCyHiSNUU4unk6CmaDCtwR_dHFZ0eOomqLAuZehbzyD2K0MxX6bA4CZTmKX9Oq4sTEluFZTcoI_5TqCYnta2onp8jdFpisTbnPMf9Ka6csK5ixI8CqLkbJxtX64A-Y3xndG42EkTGR1CDr46oHGr89O-rpO4KTlq39cctPgoNxtJ-lElg for xxx
2017-12-07 15:40:16,601 - ERROR [net.shibboleth.idp.session.impl.StorageBackedSessionManager:809] - Exception while querying for session ID 909f36e33ca4dac24e402e8c909fa5a2b2946fab49a659b65d8f2e58db4174b5
java.io.IOException: net.shibboleth.utilities.java.support.logic.ConstraintViolationException: Storage object was not present in session
at org.opensaml.storage.AbstractMapBackedStorageService.readImpl(AbstractMapBackedStorageService.java:307)
Caused by: net.shibboleth.utilities.java.support.logic.ConstraintViolationException: Storage object was not present in session
at net.shibboleth.utilities.java.support.logic.Constraint.isNotNull(Constraint.java:227)
2017-12-07 15:40:16,608 - WARN [net.shibboleth.idp.cas.flow.impl.UpdateIdPSessionWithSPSessionAction:95] - Possible sign of misconfiguration, IdPSession resolution error: {}
net.shibboleth.utilities.java.support.resolver.ResolverException: Exception while querying for session
at net.shibboleth.idp.session.impl.StorageBackedSessionManager.lookupBySessionId(StorageBackedSessionManager.java:811)
Caused by: java.io.IOException: net.shibboleth.utilities.java.support.logic.ConstraintViolationException: Storage object was not present in session
at org.opensaml.storage.AbstractMapBackedStorageService.readImpl(AbstractMapBackedStorageService.java:307)
Caused by: net.shibboleth.utilities.java.support.logic.ConstraintViolationException: Storage object was not present in session
at net.shibboleth.utilities.java.support.logic.Constraint.isNotNull(Constraint.java:227)
2017-12-07 15:40:16,609 - INFO [net.shibboleth.idp.cas.flow.impl.UpdateIdPSessionWithSPSessionAction:111] - Cannot store CASSPSession since IdPSession not found
The validation is successful, though. It seems like Shibboleth is trying
to store the CAS SP session in the IDP session, which it cannot do because
the user's session cookie is not present during ticket validation.
This happens whether I have htmlLocalStorage enabled or disabled.
I tried setting:
idp.cas.StorageService=shibboleth.ClientSessionStorageService
but that didn't make a difference either.
Is there a workaround for this? Should the IDP be smart enough to know
that it can't do this operation when client-side storage is being used
with encoded CAS tickets? Maybe there is a way to suppress the errors at
least...
Thanks,
Andy
More information about the users
mailing list