1PHPoAuthLib
2===========
3PHPoAuthLib provides oAuth support in PHP 5.3+ and is very easy to integrate with any project which requires an oAuth client.
4
5[![Build Status](https://travis-ci.org/Lusitanian/PHPoAuthLib.png?branch=master)](https://travis-ci.org/Lusitanian/PHPoAuthLib)
6[![Code Coverage](https://scrutinizer-ci.com/g/Lusitanian/PHPoAuthLib/badges/coverage.png?s=a0a15bebfda49e79f9ce289b00c6dfebd18fc98e)](https://scrutinizer-ci.com/g/Lusitanian/PHPoAuthLib/)
7[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/Lusitanian/PHPoAuthLib/badges/quality-score.png?s=c5976d2fefceb501f0d886c1a5bf087e69b44533)](https://scrutinizer-ci.com/g/Lusitanian/PHPoAuthLib/)
8[![Latest Stable Version](https://poser.pugx.org/lusitanian/oauth/v/stable.png)](https://packagist.org/packages/lusitanian/oauth)
9[![Total Downloads](https://poser.pugx.org/lusitanian/oauth/downloads.png)](https://packagist.org/packages/lusitanian/oauth)
10
11Installation
12------------
13This library can be found on [Packagist](https://packagist.org/packages/lusitanian/oauth).
14The recommended way to install this is through [composer](http://getcomposer.org).
15
16Edit your `composer.json` and add:
17
18```json
19{
20    "require": {
21        "lusitanian/oauth": "~0.3"
22    }
23}
24```
25
26And install dependencies:
27
28```bash
29$ curl -sS https://getcomposer.org/installer | php
30$ php composer.phar install
31```
32
33Features
34--------
35- PSR-0 compliant for easy interoperability
36- Fully extensible in every facet.
37    - You can implement any service with any custom requirements by extending the protocol version's `AbstractService` implementation.
38    - You can use any HTTP client you desire, just create a class utilizing it which implements `OAuth\Common\Http\ClientInterface` (two implementations are included)
39    - You can use any storage mechanism for tokens. By default, session, in-memory and Redis.io (requires PHPRedis) storage mechanisms are included. Implement additional mechanisms by implementing `OAuth\Common\Token\TokenStorageInterface`.
40
41Service support
42---------------
43The library supports both oAuth 1.x and oAuth 2.0 compliant services. A list of currently implemented services can be found below.
44
45Included service implementations
46--------------------------------
47- OAuth1
48    - BitBucket
49    - Etsy
50    - FitBit
51    - Flickr
52    - Scoop.it!
53    - Tumblr
54    - Twitter
55    - Xing
56    - Yahoo
57- OAuth2
58    - Amazon
59    - BitLy
60    - Box
61    - Dailymotion
62    - Dropbox
63    - Facebook
64    - Foursquare
65    - GitHub
66    - Google
67    - Harvest
68    - Heroku
69    - Instagram
70    - LinkedIn
71    - Mailchimp
72    - Microsoft
73    - PayPal
74    - Pocket
75    - Reddit
76    - RunKeeper
77    - SoundCloud
78    - Vkontakte
79    - Yammer
80- more to come!
81
82Examples
83--------
84Examples of basic usage are located in the examples/ directory.
85
86Usage
87------
88For usage with complete auth flow, please see the examples. More in-depth documentation will come with release 1.0.
89
90Framework Integration
91---------------------
92* Lithium: Sébastien Charrier has written [an adapter](https://github.com/scharrier/li3_socialauth) for the library.
93* Laravel 4: Dariusz Prząda has written [a service provider](https://github.com/artdarek/oauth-4-laravel) for the library.
94
95Extensions
96----------
97* Extract normalized user data from OAuth Services with the library [PHPoAuthUserData](https://github.com/Oryzone/PHPoAuthUserData) by Luciano Mammino
98
99Tests
100------
101To run the tests, you must install dependencies with `composer install --dev`
102