<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Fri, Dec 8, 2017 at 2:28 AM Andrew Morgan <<a href="mailto:morgan@orst.edu">morgan@orst.edu</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
it seems to be failing at line 93:<br>
<br>
session = sessionResolver.resolveSingle(new CriteriaSet(new SessionIdCriterion(ticket.getSessionId())));<br>
<br>
I don't see anything in system/flows/cas/validate-abstract-flow.xml that<br>
would make UpdateIdPSessionWithSPSession conditional on server-side<br>
storage (especially since the original CAS code required server-side<br>
storage).</blockquote><div><br></div><div>You're basically running an unsupported configuration, which I fully admit is not well documented. You simply can't look up the IdP session with client storage since the ticket validation is back-channel where you have no access to the browser-based data store. The IdP session is needed in order to track SP sessions for logout purposes. With that knowledge in hand, you can get around this limitation by disabling SP tracking for CAS services in cas-protocol.xml:</div><div><br></div><div><div><bean class="net.shibboleth.idp.cas.service.ServiceDefinition"</div><div> c:regex="<a href="https://service">https://service</a>\.example\.edu(:\d+)?/.*"</div><div> p:group="urn:mace:example.edu:sso:cas"</div><div> p:authorizedToProxy="false"</div><div> p:singleLogoutParticipant="false" /></div></div><div><br></div><div>The consequence of that change is that CAS services will not participate in single logout. I realize the security implications of that change may be too great for a workaround, but it will get you past that error.</div><div><br></div><div>M<a href="mailto:users-unsubscribe@shibboleth.net" target="_blank"></a><br>
</div><div><br></div></div></div>