daviddesberg/PHPoAuthLib
daviddesberg/PHPoAuthLib has 1,074 GitHub stars and 445 forks. GitHot measured +1 in 7 days. Last checked 2026-11-11 01:09 UTC. Last push 2024-01-08.
PHP 5.3+ oAuth 1/2 Client Library
What you can do
- 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.
Measured star growth
- in 24h
- Update delayed
- in 7 days
- +1
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalPHPoAuthLib
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.
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
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,618 starspublic-apis/public-apis
A collective list of free APIs
497,948 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
450,064 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,303 stars



