Wednesday Jul 29, 2009
OpenSSO ASP.NET Fedlet, Multiple Identity Providers and An Angel's Kiss in Spring
I was reading the latest scoop on The Whalpin Chronicles when I found a comment from someone requesting information on how to configure the ASP.NET Fedlet with multiple identity providers. Sure there's a README now but in a week or so this will be official. As Whalpin said, check out the nightly.
This procedure can be followed to enable the ASP.NET Fedlet to communicate with multiple identity providers. It assumes that you have already followed the instructions in Using the ASP.NET Fedlet with OpenSSO Enterprise 8.0 Update 1 to configure and test the ASP.NET Fedlet with an initial identity provider.- Get the standard metadata file for the new identity provider and name it
idp2.xml.
If using OpenSSO, create the identity provider using the Common Tasks work flow and export the identity provider's standard metadata by accessing the export metadata page athttp://idp-machine.domain:8080/opensso/saml2/jsp/exportmetadata.jsp. - Copy
idp2.xmlto the directory created during initial configuration of the ASP.NET Fedlet.
During initial configuration, move the/SampleAppdirectory from theFedlet-unconfigured.zipfile to a directory outside of the decompressed archive. For this article, we will use/tmp/asp.net/SampleApp/App_Data/. See Using the ASP.NET Fedlet with OpenSSO Enterprise 8.0 Update 1 for more information. - Add the identity provider to the appropriate circle of trust by modifying the Fedlet's
.COTfile.- To add to an existing circle of trust, append the entity ID of the new identity provider (specified by the
entityIDattribute in theidp2.xmlmetadata) to the value of thesun-fm-trusted-providersattribute in the appropriate.COTfile (for example,fedlet.cot) within the/tmp/asp.net/SampleApp/App_Data/directory.
Use a comma (,) as the separator. - To add to a new circle of trust follow this procedure.
- Create a new
.COTfile named (for example,fedlet2.cot) using the existingfedlet.cotas a template. - Change the value of the
cot-nameattribute in the new.COTfile to the name of the new circle of trust. - Add both the new identity provider entity ID and the Fedlet entity ID as the value for the
sun-fm-trusted-providersattribute in the new.COTfile.
Use a comma (,) as the separator. - Put
fedlet2.cotin the/tmp/asp.net/SampleApp/App_Data/directory. - Add the new circle of trust name to the value of the
cotlistattribute in the ASP.NET Fedlet/service provider extended metadata file,sp-extended.xml.
For example:
<Attribute name="cotlist">
<Value>saml2cot</Value>
<Value>cot2</Value>
</Attribute>
sp-extended.xmlis in the/tmp/asp.net/SampleApp/App_Data/directory.
- Create a new
- To add to an existing circle of trust, append the entity ID of the new identity provider (specified by the
- Create a new file named (for example,
idp2-extended.xml) to define the extended metadata for the new identity provider using the existingidp-extended.xmlas a template.- Change the value of the
entityIDattribute to theentityIDof the new identity provider. - IF APPLICABLE, change the value of the
cotlistattribute to the name of the new circle of trust. - IF APPLICABLE, change the setting of the
hostedattribute in theEntityConfigelement to false to define it as a remote identity provider.
- Change the value of the
- Send the ASP.NET Fedlet/service provider standard metadata (for example,
sp.xml) found in the/tmp/asp.net/SampleApp/App_Data/folder to the second identity provider. - Import the ASP.NET Fedlet/service provider standard metadata to the appropriate circle of trust on the identity provider side.
If using OpenSSO, use Register Remote Service Provider under the Common Tasks tab. - Repeat these steps for any number of identity providers using the circle of trust and file-naming formats as discussed.
- Using the Internet Information Services (IIS) Manager, restart the Application Pool associated with the ASP.NET application.
Each ASP.NET web application hosted on IIS is associated with an Application Pool that controls the application's runtime behavior (for example, session properties, memory allocation and garbage collection).
Posted at 09:25AM Jul 29, 2009 by Michael Teger in Sun | Comments[0]
