Awesome
OAuth wrapper for Symfony 2
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.
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
- 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
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