You give me 18 minutes, I'll give you Windows CardSpace integration with ASP.NET forms authentication. You can watch my How to use Windows CardSpace with ASP.NET Forms Authentication screencast directly from Microsoft's streaming media server or download and watch the video later.
[EDIT: The download link was broken and is now fixed as of 13:23 CST]
In this screencast, I take a simple ASP.NET 2.0 application that has been secured with forms authentication using the AspNetSqlMembershipProvider, and extend it to support information cards with Windows CardSpace.
The Challenge
So, how do you take an existing ASP.NET 2.0 application that is using an ASP.NET membership provider and extend it such that users can authenticate with either their existing username and password or their information card? You build upon the awesome out-of-the-box experience that ASP.NET 2.0 provides with the AspNetSqlMembershipProvider!
The AspNetSqlMembershipProvider
Ultimately, the AspNetSqlMembershipProvider uses your username to log you into a site using the FormsAuthentication class. Since you typically provide your username when you log into a forms authentication-secured site, gaining access to the username is pretty straight forward.
The Solution
In the case of information cards, however, a username is not provided. In its place, a private personal identifier, or PPID, associated with one's information card is the unique piece of identifying information.
It is a relatively simple exercise, then, to extend the ASPNETDB used by AspNetSqlMembershipProvider to include a new table that provides a mapping between a username and a private personal identifier.
My screencast walks you through the creation of an ASPX page that enables an authenticated user to link their information card with their account, and then extends the login page to use an information card as an alternative authentication mechanism. I hope that once you've watched the screencast, you'll be prepared to start extending your own ASP.NET 2.0 applications with information cards as well!
More Information
If you are new to ASP.NET, there is a great "How do I?" series for all things ASP.NET at http://www.asp.net/learn/videos. In particular, How do I: Secure my Site using Membership and Roles? provides you with the background you'll need to secure your site using the AspNetSqlMembershipProvider before attempting to integrate information cards with Windows CardSpace.
This posting is provided "AS IS" with no warranties, and confers no rights.