A C# implementation of the OpenID, OAuth and InfoCard protocols