This class can authorize the access of users to an API using the OAuth protocol.
It abstracts OAuth 1.0, 1.0a and 2.0 in the same class, so you can use the same obtain a token to authorize the access on behalf of the current user any API that supports any version of the OAuth protocol.
It provides built-in support to several popular OAuth servers, so you do not have to configure the class manually with all OAuth server specific details.
Currently it provides built-in support for OAuth servers of Dropbox, Facebook, Flickr, Foursquare, github, Google, LinkedIn, Microsoft, Tumblr, Twitter and Yahoo.
Every other OAuth server is supported setting end point URLs and other parameters using specific class variables.
The class can also send requests to API using the previously obtained OAuth access token.