I advise you to study the selected authentication system of a web framework. If the web framework is well developed, such questions are a hundred and one times raised and their solutions can be found in Google.
I personally use Python web framework Pylons. As the authentication system — repoze.who+what. For him there are a bunch of plugins and what not — easy to do yourself, despite the fact that there are libraries from providers.
By the way, OpenID is a standard that is used not all. Twitter and Google use OAuth, and VK do to your bike made.
Because of this the creation of "the class that gives everything at once" is a difficult and useless task. In better times such things are done through a common authentication system in a variety of web frameworks, which support each provider is done with a separate plugin.
About logins can not say anything, except that it sometimes slows down and crashes. Personally, I still refused to authenticate through them.