texthtml / oauth2-provider
OAuth2 provider for the Symfony Security component
Installs: 4 219
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 2
Open Issues: 2
Requires
- bshaffer/oauth2-server-httpfoundation-bridge: ^1.0
- bshaffer/oauth2-server-php: ^1.5
- symfony/security: ^2.5|^3.0
Requires (Dev)
- php-vfs/php-vfs: ^1.2
- phpspec/phpspec: ^2.0
- pimple/pimple: ^3.0
- silex/silex: ^2.0
Suggests
- silex/silex: Provide a light framework to build PHP applications
This package is auto-updated.
Last update: 2024-10-26 14:39:22 UTC
README
OAuth2 Provider is a provider for Symfony Security component that can be used to build OAuth2 protected applications
Installation
With Composer :
composer require texthtml/oauth2-provider
Usage with Silex 2
There is a Pimple provider you can use to secure Silex apps. You need to install Silex 2: composer require silex/silex "^2.0"
$app = new Silex\Application; $oAuth2Provider = new TH\OAuth2\Pimple\OAuth2ServerProvider; $app['security.entry_point.api.oauth2.realm'] = 'My App'; $app->register($oAuth2Provider, [ 'oauth2_server.storage.client' => function () use ($config) { return new TH\OAuth2\Storage\Memory\ClientMemoryStorage([ 'NICE_DEV_CLIENT' => [ 'name' => 'Nice Dev Client', 'redirect_uri' => 'http://..../my_oauth2_callback', ], ]); }, 'oauth2_server.storage.pdo_connection' => function(Application $app) { return new PDO('...'); }, ]); $app->mount('/auth/', $oAuth2Provider); $app['users.provider'] = [ // raw password is foo 'admin' => array('ROLE_ADMIN', '5FZ2Z8QIkA7UTZ4BYkoC+GsReLf569mSKDsfods6LYQ8t+a8EW9oaircfMpmaLbPBh4FOBiiFyLfuZmTSUwzZg=='), ]; $app->register(new Silex\Provider\SecurityServiceProvider, [ 'security.firewalls' => [ 'oauth.token' => [ 'pattern' => '^/auth/token', 'security' => false, ], 'oauth.authorize' => [ 'pattern' => '^/auth/authorize', 'http' => true, 'users' => $app['users.provider'], ], 'api' => [ 'pattern' => '^/api', 'stateless' => true, 'oauth2' => true, 'security' => true, 'users' => $app['users.provider'], ], ], ]);
Usage with other frameworks
This package can be used with any framework using the Symfony Security component (eg: Symfony, Laravel, Silex, etc.).
But the provider TH\OAuth2\Pimple\OAuth2ServerProvider
only works for Silex 2. For other frameworks you'll have to
manually register the services and mount the routes.
PRs for providers for such frameworks are welcome!