PHP 7.2 oAuth 1/2 Library

Maintainers

👁 carlos-mg89

Package info

github.com/carlos-mg89/PHPoAuthLib

pkg:composer/carlos-mg89/oauth

Statistics

Installs: 919 145

Dependents: 3

Suggesters: 0

Stars: 7

Open Issues: 4

0.8.17 2025-02-08 12:14 UTC

Requires

  • php: ^7.2 || ^8.0

Suggests

Provides

None

Conflicts

None

Replaces

MIT 7003d50bbb90383408abc1450d943657d087fc70

  • Carlos Martínez Gadea <carlosmartinezgadea.woop@gmail.com>

authorizationsecurityAuthenticationoauth


README

PHPoAuthLib provides oAuth support in PHP 7.2+ and 8.0+. It's 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 carlos-mg89/oauth

Features

  • PSR-4
  • 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
    • 500px
    • BitBucket
    • Etsy
    • FitBit
    • Flickr
    • QuickBooks
    • Scoop.it!
    • Tumblr
    • Twitter
    • Yahoo
  • OAuth2
    • Amazon
    • BitLy
    • Bitrix24
    • Box
    • Buffer
    • Dailymotion
    • Delicious
    • Deezer
    • DeviantArt
    • Dropbox
    • Eve Online
    • Facebook
    • Foursquare
    • GitHub
    • Google
    • Harvest
    • Heroku
    • Hubic
    • Instagram
    • Jawbone UP
    • LinkedIn
    • Mailchimp
    • Microsoft
    • Mondo
    • Nest
    • Netatmo
    • Parrot Flower Power
    • PayPal
    • Pinterest
    • Pocket
    • Reddit
    • RunKeeper
    • Salesforce
    • SoundCloud
    • Spotify
    • Strava
    • Stripe
    • Ustream
    • Vimeo
    • Vkontakte
    • Xing
    • 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