<bean id="DefaultDuo" classparent="net.shibboleth.idp.authn.duoDuo.BasicDuoIntegrationDuoIntegration"
p:APIHost="%{idp.duo.apiHost:none}"
p:applicationKey="%{idp.duo.applicationKey:none}"
p:integrationKey="%{idp.duo.integrationKey:none}"
p:secretKey="%{idp.duo.secretKey:none}" />
<bean id="SpecialDuo" classparent="net.shibboleth.idp.authn.duoDuo.BasicDuoIntegrationDuoIntegration"
p:APIHost="%{idp.specialduo.apiHost:none}"
p:applicationKey="%{idp.specialduo.applicationKey:none}"
p:integrationKey="%{idp.specialduo.integrationKey:none}"
p:secretKey="%{idp.specialduo.secretKey:none}" />
<util:map id="DuoIntegrationMap">
<entry key="default" value-ref="DefaultDuo" />
<entry key="https://special1.example.org/shibboleth" value-ref="SpecialDuo" />
<entry key="https://special2.example.org/shibboleth" value-ref="SpecialDuo" />
</util:map>
<bean id="shibboleth.authn.Duo.DuoIntegrationStrategy" parent="shibboleth.ContextFunctions.Scripted"
factory-method="inlineScript"
p:customObject-ref="DuoIntegrationMap">
<constructor-arg>
<value>
<![CDATA[
duo = null;
rpCtx = input.getSubcontext("net.shibboleth.idp.profile.context.RelyingPartyContext");
if (rpCtx) {
duo = custom.get(rpCtx.getRelyingPartyId());
}
if (duo == null) {
duo = custom.get("default");
}
duo;
]]>
</value>
</constructor-arg>
</bean> |