lusitanian/oauth
PHP 7.2 oAuth 1/2 Library
Maintainers
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
- predis/predis: 0.8.*@dev
- squizlabs/php_codesniffer: 2.*
- symfony/http-foundation: ~2.1
Suggests
- ext-openssl: Allows for usage of secure connections with the stream-based HTTP client.
- predis/predis: Allows using the Redis storage backend.
- symfony/http-foundation: Allows using the Symfony Session storage backend.
Provides
None
Conflicts
None
Replaces
None
MIT fc11a53db4b66da555a6a11fce294f574a8374f9
- David Desberg <david.woop@daviddesberg.com>
- Elliot Chance <elliotchance.woop@gmail.com>
- Pieter Hordijk <info.woop@pieterhordijk.com>
This package is not auto-updated.
Last update: 2026-06-05 07:15:50 UTC
README
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.
PHPoAuthLib provides oAuth support in PHP 7.2+ 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.
composer require lusitanian/oauth
Features
- PSR-4
- Fully extensible in every facet.
- You can implement any service with any custom requirements by extending the protocol version's
AbstractServiceimplementation. - 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.
- You can implement any service with any custom requirements by extending the protocol version's
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
- 500px
- BitBucket
- Etsy
- FitBit
- Flickr
- QuickBooks
- Scoop.it!
- Tumblr
- Yahoo
- OAuth2
- Amazon
- BitLy
- Bitrix24
- Box
- Buffer
- Dailymotion
- Delicious
- Deezer
- DeviantArt
- Dropbox
- Eve Online
- Foursquare
- GitHub
- Harvest
- Heroku
- Hubic
- Jawbone UP
- Mailchimp
- Microsoft
- Mondo
- Nest
- Netatmo
- Parrot Flower Power
- PayPal
- RunKeeper
- Salesforce
- SoundCloud
- Spotify
- Strava
- Stripe
- Ustream
- Vimeo
- Vkontakte
- Yahoo
- Yammer
- more to come!
Examples
php -S localhost:8000 -t examples
Then point your browser to:
http://localhost:8000/
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.
- Laravel 5: Valentin Ivaลcu ported Dariusz Przฤ da's Laravel 4 library to Laravel 5.
- Symfony: Alexander Pinnecke has written a Symfony Bundle for the library.
Extensions
- Extract normalized user data from OAuth Services with the library PHPoAuthUserData by Luciano Mammino
Tests
composer tests
