Laravel - Login Facebook SDK
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Facebook\Facebook;
use Illuminate\Support\Facades\Config;
use Facebook\Helpers\FacebookRedirectLoginHelper;
use Facebook\Exceptions\FacebookResponseException;
use Facebook\Authentication\OAuth2Client;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Illuminate\Support\Facades\Session;
use Facebook\FacebookApp;
use Facebook\GraphNodes\GraphNode;
use Facebook\FacebookSDKException;
use App\Tutor;
use Carbon\Carbon;
class FacebookController extends Controller
{
	protected $helper;
	public function __construct(){
		session_start();
		$this->fb = new Facebook(Config::get('facebook'));
		$this->helper = $this->fb->getRedirectLoginHelper();
	}
	// Hàm xử lý chuyển hướng gửi yêu cầu đến Facebook qua Facebook App
	public function RedirectUrl(){
		$permissions = ['email', 'public_profile','user_friends'];
		$callback = url('/facebook/callback');
		$loginUrl = $this->helper->getLoginUrl($callback, $permissions);
		return redirect($loginUrl);
	}
	// Hàm xử lý thông tin trả về hợp lệ
	public function Callback(){
		try {
		  $accessToken = $this->helper->getAccessToken();
		  $response = $this->fb->get('/me?fields=id,name,gender,email',$accessToken);
		} catch(FacebookResponseException $e) {
		  // Khi mà Graph trả về lỗi.
		  echo 'Graph returned an error: ' . $e->getMessage();
		  exit;
		} catch(FacebookSDKException $e) {
		  echo 'Facebook SDK returned an error: ' . $e->getMessage();
		  exit;
		}
		if (isset($accessToken)) {
		  
		  Session::put('facebook_access_token', $accessToken); // Tạo session token facebook.
		  $graphNode = $response->getGraphNode(); // Lấy thông tin user facebook.
		  // Get Info $graphNode->getField('id')
		  $id_fb 	 = $graphNode->getField('id');
		}
	}
}// End Class