SessionInitiator triggering and return

Russell Beall beall at usc.edu
Fri Jul 20 12:41:41 EDT 2012


Hi all (particularly Scott…),

I have found two unexpected configuration issues and I am wondering whether it is working as expected or if there is a problem.

This was tested with the current MacPorts release of Shib SP 2.4.3.

I am configuring some advanced uses of multiple session types at the SP and I need to trigger different SessionInitiators based on different links at the SP.  This is more than a discovery service because I might already have a session, but then will need to trigger another session from another source to provide additional data.

The first thing I thought should work, but didn't, was to use the following:
<Location /myapp/Demo/LoginType2>                                             
    AuthType shibboleth                                                       
    ShibRequestSetting applicationId its-admin-workstations                   
    ShibRequestSetting requireSessionWith sessioninit-login-type-2       
    ShibRequestSetting requireSession true                                    
    require valid-user                                                        
    ShibRequireAll On                                                         
    Order allow,deny                                                          
    Allow from all                                                            
</Location>                                                                   

This apache rule set works fine to initiate the session if there is not already a session.  However, if there is already a session which was triggered under a different SessionInitiator, this rule is ignored even though it should be required to have a session under the SessionInitiator with the indicated identifier.

I already found the workaround to go ahead and use the initiator location specified using the handlerURL plus the Location value.

However…  when I started using this method to trigger a session, I need it to return to a specific target URL at the SP when the session has been processed.  Luckily (I thought), there is an option for this which I thought was supposed to be "target" on the SessionInitiator config.

Using "target" did not achieve what appears to be the description on the SessionInitiator wiki page, which seems to be to act like an override to the homeURL setting.  Instead, I found that the target setting actually changed the handlerURL and my IdP began to reject requests because it was being asked to return attributes to an unregistered ACS URL.

What is the correct behavior of this "target" option?

Is there a correct way to override the homeURL setting on a per-SessionInitiator basis?

Thanks,
Russ.



More information about the users mailing list