Discovery and protocols

Rod Widdowson rdw at steadingsoftware.com
Thu Dec 29 15:34:08 GMT 2011


I'm looking for input about how discovery should handle the issues of protocol.

This is specifically triggered by https://issues.shibboleth.net/jira/browse/SDSJ-95 which is to do with old style "WAYF" discovery.
This is a specific case in that we know exactly which protocol we will be dealing with and so the suggestion is that we police for
it.  So we start with the simple questions:

- Does it suffice to just look for the correct endpoint or should one check for "urn:mace:shibboleth:1.0" in the
protocolSupportEnumeration?  My instinct is that one has to do both.

- If an IdP is dropped from the display list because it does not declare itself as supporting the correct protocols, what (if any)
feedback should be provided (both to the admin and to the end user).  My instinct is that all we can do is log the dropping of the
IdP (at DEBUG) and that's it.

Given that this is for a legacy protocol I'm really not too worried about it, but it does a question of whether the CDS should be
doing anything about (SAML) protocols when it is speaking Discovery protocol.  A major motivation of Discovery protocol was to
delegate protocol decisions to the SP, but my concern is that the SP can get stranded if a user is directed to a DS and selects an
IdP which has no protocols in common with the SP.  

The SP gets back an IdP which it cannot use and sending the user back to the DS will probably result in the same solution.  I
suppose that at this stage it can throw up an error and let the user try again.

The alternative is to put some filtering into the DS, but the potential complexity of this frightens me, particularly in the face of
SPs not behaving as their SPs declare themselves to behave.

Note that none of this is (should be) an issue for the EDS - I believe that an SP can assumed to filter out IdPs with mutually
different protocols.

Thoughts?





More information about the dev mailing list