dev-master
9999999-devSilex HybridAuth Service Provider
MIT
The Requires
by Dmitry Kosenkov
oauth auth silex hybridauth hybrid auth
Silex HybridAuth Service Provider
HybridAuth Service Provider for Silex, (*1)
silex 1.x, (*2)
The best way to install HybridAuthServiceProvider is to use a Composer:, (*3)
php composer.phar require junker/hybridauth-service-provider
use Junker\Silex\Provider\HybridAuthServiceProvider; $app->register(new HybridAuthServiceProvider(), [ 'hybridauth.config' => [ 'providers' => [ 'Facebook' => [ 'enabled' => true, 'keys' => [ 'id' => 1090817398, 'secret' => 'c9131f36717babbasdafewrfdase' ], 'scope' => 'public_profile,email,user_birthday,user_location' ], 'Twitter' => [ 'enabled' => true, 'keys' => [ 'key' => 'wwqKLOHNhequwhe', 'secret' => 'hiwedfrwe4trDKkVyIHiBdceN4Ed1ASDWdsfarewREFRtMk' ] ] ] ] ]); $app->get('/login/{provider}', function($provider) use ($app) { $adapter = $app['hybridauth']->authenticate($provider); $user_profile = $adapter->getUserProfile(); if ($user_profile) { $uid = $user_profile->identifier; $login = $app['db']->fetchColumn('SELECT login FROM user WHERE oauth_type=? AND oauth_uid=?', [$provider, $uid]); if ($login) { //force login. i.e.: $user_provider = new \MySite\UserProvider($app['db']); $user = $user_provider->loadUserByUsername($login); $token = new UsernamePasswordToken($user, NULL, 'main', $user->getRoles()); $app['security']->setToken($token); return $app->redirect('/'); } else { //redirect to registration ... } } });
Silex HybridAuth Service Provider
MIT
oauth auth silex hybridauth hybrid auth