Summary
Originally introduced by Microsoft, CardSpace is a new authentication technology aimed to make it easier to share user identities across administrative domains. A recent Sun Developer Network article describes how to integrate CardSpace with Java applications.
Advertisement
Almost every enterprise application includes some sort of user authentication: Privileged operations, such as posting on an online forum, requires users to create a user account and then authenticate themselves prior to performing the privileged action.
Many authentication systems rely on users supplying a user name and password, a solution that not only requires users to remember their passwords for each site they frequent, but one whose security is tied to users' ability to safeguard their passwords.
OpenID, Liberty, and most recently CardSpace, also known as InfoCard, are but the latest attempts to solve this problem. In each system, some form of user identity is shared between sites requiring authentication. Users moving from one site to another, or even from their local machines to a Web site, don't have to login anew, but can instead re-use their existing login sessions.
A major benefit of InfoCard is that it can store and supply common attributes, known as claims, such as email and shipping addresses. Typically, claims are nonsensitive data that enables CardSpace-aware sites to transact services according to the InfoCard values. As part of the card selection process, Web sites that support InfoCards can mandate that users specify their claims...
In CardSpace's CardSelector, a virtual wallet [is] filled with cards that users create or that are issued to them through trusted sites. Upon arriving at a CardSpace-aware site, a user is prompted by the CardSelector to choose the appropriate InfoCard that reflects his or her relationship—customer, employee, and such—with the entity.
Gee explains in the article that some InfoCards are self-generated, and are likely issued by a business, while others are managed by trusted identity providers that can vouche for a user's identify.
Which of the increasing number of shared authentication system do you plan to support in your Java applications?