1PHPoAuthLib
2===========
3**NOTE: I'm looking for someone who could help to maintain this package alongside me, just because I don't have a ton of time to devote to it. However, I'm still going to keep trying to pay attention to PRs, etc.**
4
5PHPoAuthLib provides oAuth support in PHP 5.3+ and is very easy to integrate with any project which requires an oAuth client.
6
7[![Build Status](https://travis-ci.org/Lusitanian/PHPoAuthLib.png?branch=master)](https://travis-ci.org/Lusitanian/PHPoAuthLib)
8[![Code Coverage](https://scrutinizer-ci.com/g/Lusitanian/PHPoAuthLib/badges/coverage.png?s=a0a15bebfda49e79f9ce289b00c6dfebd18fc98e)](https://scrutinizer-ci.com/g/Lusitanian/PHPoAuthLib/)
9[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/Lusitanian/PHPoAuthLib/badges/quality-score.png?s=c5976d2fefceb501f0d886c1a5bf087e69b44533)](https://scrutinizer-ci.com/g/Lusitanian/PHPoAuthLib/)
10[![Latest Stable Version](https://poser.pugx.org/lusitanian/oauth/v/stable.png)](https://packagist.org/packages/lusitanian/oauth)
11[![Total Downloads](https://poser.pugx.org/lusitanian/oauth/downloads.png)](https://packagist.org/packages/lusitanian/oauth)
12
13Installation
14------------
15This library can be found on [Packagist](https://packagist.org/packages/lusitanian/oauth).
16The recommended way to install this is through [composer](http://getcomposer.org).
17
18Edit your `composer.json` and add:
19
20```json
21{
22    "require": {
23        "lusitanian/oauth": "~0.3"
24    }
25}
26```
27
28And install dependencies:
29
30```bash
31$ curl -sS https://getcomposer.org/installer | php
32$ php composer.phar install
33```
34
35Features
36--------
37- PSR-0 compliant for easy interoperability
38- Fully extensible in every facet.
39    - You can implement any service with any custom requirements by extending the protocol version's `AbstractService` implementation.
40    - You can use any HTTP client you desire, just create a class utilizing it which implements `OAuth\Common\Http\ClientInterface` (two implementations are included)
41    - 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`.
42
43Service support
44---------------
45The library supports both oAuth 1.x and oAuth 2.0 compliant services. A list of currently implemented services can be found below.
46
47Included service implementations
48--------------------------------
49- OAuth1
50    - 500px
51    - BitBucket
52    - Etsy
53    - FitBit
54    - Flickr
55    - QuickBooks
56    - Scoop.it!
57    - Tumblr
58    - Twitter
59    - Xing
60    - Yahoo
61- OAuth2
62    - Amazon
63    - BitLy
64    - Bitrix24
65    - Box
66    - Buffer
67    - Dailymotion
68    - Delicious
69    - Deezer
70    - DeviantArt
71    - Dropbox
72    - Eve Online
73    - Facebook
74    - Foursquare
75    - GitHub
76    - Google
77    - Harvest
78    - Heroku
79    - Hubic
80    - Instagram
81    - Jawbone UP
82    - LinkedIn
83    - Mailchimp
84    - Microsoft
85    - Mondo
86    - Nest
87    - Netatmo
88    - Parrot Flower Power
89    - PayPal
90    - Pinterest
91    - Pocket
92    - Reddit
93    - RunKeeper
94    - Salesforce
95    - SoundCloud
96    - Spotify
97    - Strava
98    - Ustream
99    - Vimeo
100    - Vkontakte
101    - Yahoo
102    - Yammer
103- more to come!
104
105Examples
106--------
107Examples of basic usage are located in the examples/ directory.
108
109Usage
110------
111For usage with complete auth flow, please see the examples. More in-depth documentation will come with release 1.0.
112
113Framework Integration
114---------------------
115* Lithium: Sébastien Charrier has written [an adapter](https://github.com/scharrier/li3_socialauth) for the library.
116* Laravel 4: Dariusz Prząda has written [a service provider](https://github.com/artdarek/oauth-4-laravel) for the library.
117* Laravel 5: Valentin Ivaşcu ported Dariusz Prząda's Laravel 4 library to [Laravel 5](https://github.com/oriceon/oauth-5-laravel).
118* Symfony: Alexander Pinnecke has written [a Symfony Bundle](https://github.com/apinnecke/OAuthBundle) for the library.
119
120Extensions
121----------
122* Extract normalized user data from OAuth Services with the library [PHPoAuthUserData](https://github.com/Oryzone/PHPoAuthUserData) by Luciano Mammino
123
124Tests
125------
126To run the tests, you must install dependencies with `composer install --dev`
127