So here is the scenario.
I have my web app <==> IDP Proxy <==> IDP. Where both IDP proxy and IDP are openam instances. The ideas is we may add our additional IDPs (From other clients) so we want a proxy to shield the complexity.
So here IDP Prxy is : http://idpproxydev.devs1.int:8080/openam
IDP url is: http://idpdev.devs1.int:80/openam
My web app is : http://ocr-jq0zt91.devs1.int:9081/LOS
I started using http://static.springsource.org/spring-security/site/extensions/saml/index.html for integrating and now I see that SAML: request wassent from my web app .
The issue I have right now is when I tested my set up using Fedlet (client that is generated using Openam on IDP proxy) the request goes to proxy and then gets routed to IDP as the SAML request generated by Fedlet has that additional information, Which is this snippet in the SAML request
<samlp:Scoping xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ProxyCount="1" >
<samlp:IDPList xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<samlp:IDPEntry xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ProviderID="http://idpdev.devs1.int:80/openam" />
</samlp:IDPList>
</samlp:Scoping>
So the only difference I see is this additional pay load in FEDLET generated SAML request.
So by seeing this above snippet in SAML request, the IDP proxy knows that final destination is not itself(http://idpproxydev.devs1.int:8080/openam), but another entity which in this case is http://idpdev.devs1.int:80/openam
Fedlet has additional property file for extended metadata (sp-extended.xml ) where we can add these additional things .
<Attribute name="enableIDPProxy">
<Value>true</Value>
</Attribute>
<Attribute name="idpProxyList">
<Value> http://idpdev.devs1.int:80/openam</Value> (the attribute name is little confusing as this is the IDP)
</Attribute>
<Attribute name="idpProxyCount">
<Value>1</Value>
</Attribute>
However in spring saml security library I don’t see any way where I can add these additional attributes so that SAML request can include this info. Is there way I can feed the additional attributes listed above ?
so that spring saml extension can read when my web app sends the request ?