PHP 5.5+ oAuth 1/2 Client Library
PHP
Pull request Compare This branch is 1 commit ahead, 214 commits behind Lusitanian:master.
Latest commit 92a65c4 May 1, 2015 @PeeHaa Update README.md

README.md

PHPoAuthLib

This is a fork of the original PHPoAuthLib project which will have all the needless code removed, will target only recent versions of PHP, will make use of several composer packages instead of reinventing the wheel and will have a stable tagged release soon after the cleanup.

PHPoAuthLib provides oAuth support in PHP 5.3+ and is very easy to integrate with any project which requires an oAuth client.

Build Status Code Coverage Scrutinizer Quality Score Latest Stable Version Total Downloads

Installation

This library can be found on Packagist. The recommended way to install this is through composer.

Edit your composer.json and add:

{
    "require": {
        "lusitanian/oauth": "~0.3"
    }
}

And install dependencies:

$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install

Features

  • PSR-0 compliant for easy interoperability
  • Fully extensible in every facet.
    • You can implement any service with any custom requirements by extending the protocol version's AbstractService implementation.
    • You can use any HTTP client you desire, just create a class utilizing it which implements OAuth\Common\Http\ClientInterface (two implementations are included)
    • 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.

Service support

The library supports both oAuth 1.x and oAuth 2.0 compliant services. A list of currently implemented services can be found below.

Included service implementations

  • OAuth1
    • BitBucket
    • Etsy
    • FitBit
    • Flickr
    • Scoop.it!
    • Tumblr
    • Twitter
    • Xing
    • Yahoo
  • OAuth2
    • Amazon
    • BitLy
    • Box
    • Dailymotion
    • Dropbox
    • Facebook
    • Foursquare
    • GitHub
    • Google
    • Harvest
    • Heroku
    • Instagram
    • Jawbone UP
    • LinkedIn
    • Mailchimp
    • Microsoft
    • PayPal
    • Pocket
    • Reddit
    • RunKeeper
    • SoundCloud
    • Spotify
    • Ustream
    • Vkontakte
    • Yammer
  • more to come!

Examples

Examples of basic usage are located in the examples/ directory.

Usage

For usage with complete auth flow, please see the examples. More in-depth documentation will come with release 1.0.

Framework Integration

  • Lithium: Sébastien Charrier has written an adapter for the library.
  • Laravel 4: Dariusz Prząda has written a service provider for the library.

Extensions

  • Extract normalized user data from OAuth Services with the library PHPoAuthUserData by Luciano Mammino

Tests

To run the tests, you must install dependencies with composer install --dev