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.
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
- Yahoo
- OAuth2
- Amazon
- BitLy
- Box
- Dailymotion
- Dropbox
- Foursquare
- GitHub
- Harvest
- Heroku
- Mailchimp
- Microsoft
- PayPal
- RunKeeper
- SoundCloud
- Vkontakte
- Yammer
- more to come!
To learn more about Lusitanian/PHPoAuthLib go here
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
Register the bundle in your app/AppKernel.php
:
new \APinnecke\Bundle\OAuthBundle\APinneckeOAuthBundle(),
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 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"
For examples go here