The reason of this error is due to Laravel doesn’t use native PHP session store.
1. Create a custom session handler class
1 2
| $ mkdir /path/to/project/app/Libraries/Facebook $ vim /path/to/project/app/Libraries/Facebook/FacebookPersistentDataHandler.php
|
paste the following content
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?php namespace App\Libraries\Facebook;
class FacebookPersistentDataHandler implements \Facebook\PersistentData\PersistentDataInterface { public function get($key) { return \Session::get('facebook.' . $key); }
public function set($key, $value) { \Session::put('facebook.' . $key, $value); }
}
|
2. Pass in to Facebook instance
1 2 3 4 5 6
| <?php $facebook = new \Facebook\Facebook([ 'app_id' => config('facebook.app_id'), 'app_secret' => config('facebook.app_secret'), 'persistent_data_handler' => new \App\Libraries\Facebook\FacebookPersistentDataHandler() ]);
|
This should solve the issue
References: