Multiple RelyingPartyByName Matches

Klingenstein, Nate nklingenstein at calstate.edu
Wed Jul 27 16:18:39 EDT 2016


Configuration hygiene question.

https://wiki.shibboleth.net/confluence/pages/viewpage.action?spaceKey=IDP30&title=RelyingPartyConfiguration

"This leads to a rule of thumb for overrides: more general matches (i.e. by group) should be placed after more specific matches (i.e. by name)."

I have one container element that turns off encryption for a bunch of services.  We're pulling in metadata for these providers dynamically.  I need to both turn off encryption and force the use of a special entityID when talking to https://creative.sp.two/.  I hoped this would work:

        <!-- Container relying party override for services that can't support encryption -->
        <bean parent="RelyingPartyByName" c:relyingPartyIds="#{{'https://creative.sp.one/', 'https://creative.sp.two/' }}">
            <property name="profileConfigurations">
                <list>
                    <bean parent="SAML2.SSO" p:encryptAssertions="false" />
                </list>
            </property>
        </bean>

        <!-- Override to force the use of a different entityID with select partners -->
        <bean parent="RelyingPartyByName" c:relyingPartyIds="#{{'https://creative.sp.two'}}" p:responderId-ref="specialEntityID" />

so that I wouldn't need to turn off encryption separately.  If I do that, first match apparently wins.  Defining https://creative.sp.two/ totally independently works:

        <!-- Override to force the use of a different entityID and disable encryption with especially special partners -->
        <bean parent="RelyingPartyByName" c:relyingPartyIds="#{{'https://creative.sp.two/'}}" p:responderId-ref="specialEntityID">
            <property name="profileConfigurations">
                <list>
                    <bean parent="SAML2.SSO" p:encryptAssertions="false" />
                </list>
            </property>
        </bean>

What's the "right" way to do this?  Dynamically insert tags into the metadata and match on those, or...?


More information about the users mailing list