What is an identity provider?
An identity provider manages digital identities of registered users for the purpose of provisioning them to a party who is willing to rely on this information (the relying party).
Do we need identity provider?
Identity Provider are quite useful to decouple the places where a digital identity is stored from the places where this identity is required. This way, a service or application does not need to care about the management of users itself, but allows users to authenticate at a trusted identity provider and relies on the assertion issued by the Identity Provider upon successful authentication. Since the same identity provider can be used for several relying parties, the number of digital identities is reduced and the management of a user’s digital identities is eased. Identity provider for the Internet and SOA form the equivalent to our id card and more and more serve as the trust basis for business transaction as well as private communication.
Talking different languages
Identity Provider exist based on different technologies and protocols. In order to requests the authentication of a user at the identity provider, a relying party formulates a request based on the protocol(s) the identity provider supports. In recent years, mainly two technologies, OpenID and InformationCards, have gained reasonable attention in the web service and Internet world.