apinnecke/oauth-bundle

This package is abandoned and no longer maintained. No replacement package was suggested.

Symfony2 Wrapper for lusitanian/oauth library.


README

oauth-bundle is a symfony 2 wrapper bundle for Lusitanian/PHPoAuthLib which provides oAuth support in PHP 5.3+ and is very easy to integrate with any project which requires an oAuth client.

Build Status Latest Stable Version Total Downloads

Supported services

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

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
    • LinkedIn
    • Mailchimp
    • Microsoft
    • PayPal
    • Pocket
    • Reddit
    • RunKeeper
    • SoundCloud
    • Vkontakte
    • Yammer
  • more to come!

To learn more about Lusitanian/PHPoAuthLib go here

Installation

Add oauth-bundle to your composer.json file:

"require": {
  "apinnecke/oauth-bundle": "~0.1"
}

Use composer to install this package.

$ composer update apinnecke/oauth-bundle

Registering the Bundle

Register the bundle in your app/AppKernel.php:

    new \APinnecke\Bundle\OAuthBundle\APinneckeOAuthBundle(),

Configuration

Now add required config to app/config/config.yml:

apinnecke_oauth:
    resource_owners:
        Xing:
            client_id: thisismyclientid
            client_secret: thisismyclientsecret

important:The resource owner name has to be in correct casing. Have a look on the available constants in ./ServiceFactory/ResourceOwners.php

Xing is used as an example here. Replace it with whatever your want. Now add all the resource owners you need, the services are created automatically.

Services

Services will be created automatically by this bundle. In my case, i want the xing service:

    $service = $this->container->get('apinnecke_oauth.service.xing');

or inject it into another service:

    fancy_company.random_namespace.wayne_bundle:
        class: FancyCompany\Bundle\WayneBundle\MyCool\ClassFor\WorldDominance
        arguments:
            - "@apinnecke_oauth.service.xing"

More usage examples:

For examples go here