Implementing InfoCard and the identity metasystem
The authentication experience
On a website InfoCard uses the same HTTP/HTTPS GET and POST, and writes the same client-side browser cookie as a username and password login. The login link is either an OBJECT tag or XHTML, to support multiple browsers (although Microsoft is talking to other browser developers about adding InfoCard support, at this stage only IE 7 has it).
This link details the information the site wants from the user (such as name, email address or age8). If you’re using an STS of your own (or specifying a third-party STS) to authenticate users, the details of that go in the link. You also need the code to log the user in once the credentials have been supplied; the rest of your website works as before.
To add InfoCard support to Windows applications, you need to use the Windows Communication Foundation (that’s in WinFX so it will be available on Windows XP and Vista), but you can develop in any programming language that supports seb services.
Anyone can issue their own InfoCard – and Passport will accept self-issued InfoCards once Vista comes out. Other identity providers will be able to issue InfoCards. Microsoft is going to be pushing Active Directory as a source of InfoCards. In Windows Server R2, Active Directory Federation Services uses WS–Trust although it isn’t until we finally see Longhorn Server that Active Directory will be able to issue and manage InfoCards for a company, as well as acting as an STS.
That emphasis on Active Directory may be why IBM is backing Higgins, the open source implementation of WS-Trust in Eclipse.
Paul Trevithick from The SocialPhysics Project emphasises that it isn’t meant to compete with InfoCard or the identity metasystem. “We are following what Microsoft is doing; to us it looks like a very inspired move. Higgins is a software framework that relies on service adapters that connect to external systems using that system’s native protocols or APIs. We expect that in the next few months a WS-* service will be created for Higgins. Higgins - when configured with this service and running on Linux, Mac OS and so on - will fully interoperate with InfoCard running on Windows.”
The more systems that work like this, the better, Kim Cameron says. “There's a visual metaphor we call InfoCards and then there's the identity metasystem. That is not something that we're building. All we can do is build a contribution to it.” ®
Find out more about supporting InfoCard within web applications and browsers here.
Visit Andy Harjanto’s InfoCard Blog.
Visit Windows Vista Developer Centre: InfoCard.
Read more (from Kim Cameron and Michael B Jones) about the design rationale behind the Identity Metasystem Architecture here.