Facebook PHP SDK 4.0 Login with Lumen -
i writing small application i'm trying facebook information, can't manage authentication work.
at first i've setup appserviceprovider
with:
facebooksession::setdefaultapplication(static::app_id, static::app_secret);
then in view have button goes auth
url.
auth
route using homecontroller@index
, contains following:
public function auth(request $request) { $helper = new facegroupredirectloginhelper($request->url()); if($session = $helper->getsessionfromredirect()) { dd($session); } return redirect($helper->getloginurl()); }
i've created own facebookredirectloginhelper
extends base class of facebook. has following methods, leverage lumen session
implementation:
protected function storestate($state) { session::put(static::session_key, $state); } protected function loadstate() { return $this->state = session::get(static::session_key, null); }
this code not working somehow, i've seen people doing on internet well. wrong? session null
.
facebook sdk v5 laravel works fine lumen have change routing ... here how configure , use laravelfacebooksdk lumen
to use first
{ "require": { "sammyk/laravel-facebook-sdk": "~3.0" } }
then in bootstrap/app.php of lumen add
// facebook sdk provider $app->register('sammyk\laravelfacebooksdk\laravelfacebooksdkserviceprovider');
then pubish config ( make sure have config folder setup lumen , default isn’t there )
$ php artisan vendor:publish --provider="sammyk\laravelfacebooksdk\laravelfacebooksdkserviceprovider"
the main step configure service provider , laravel facebook sdk default laravelfacebooksdk.php
, laravelurldetectionhandler.php
uses illuminate\routing\urlgenerator
. find files in vendor src folder replace laravel\lumen\routing\urlgenerator
. , done . ( careful editing vendor src files are not recommended because overwritten next time call composer update
or new version appears on composer repository . quick fix testing . fork it, make own repo or find way )
then wil able use laravelfacebooksdk in lumen
$app->get('/user', function(sammyk\laravelfacebooksdk\laravelfacebooksdk $fb){ // basic info on user facebook. try { $token = "your-access-token-here"; $fb->setdefaultaccesstoken($token); $response = $fb->get('/me?fields=id,name,email'); } catch (facebook\exceptions\facebooksdkexception $e) { dd($e->getmessage()); } // convert response `facebook/graphnodes/graphuser` collection $facebook_user = $response->getgraphuser(); var_dump($facebook_user); });
Comments
Post a Comment