//libraries/Facebook.php
<?php
define('FACEBOOK_SDK_DIR', 'facebook-php-sdk/src/Facebook/');
class Facebook{
function __construct(){
require __DIR__ . '/facebook-php-sdk/autoload.php';
}
}
//controllers/Welcome.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
use Facebook\FacebookRedirectLoginHelper;
class Welcome extends CI_Controller {
public $user = "";
public function __construct() {
parent::__construct();
session_start();
$this->load->library('facebook');
FacebookSession::setDefaultApplication('___', '_______________');
}
public function oauth_login() {
try {
$session = $this->_get_session(base_url('welcome/oauth_login'));
if($session){
$me = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
echo $me->getName();
}
}
catch(FacebookRequestException $e) {
echo $e->getMessage();
}
catch(\Exception $e) {
echo $e->getMessage();
}
}
private function _get_session($url) {
$helper = new FacebookRedirectLoginHelper($url);
try {
$session = $helper->getSessionFromRedirect();
}
catch(FacebookRequestException $e) {
echo $e->getMessage();
}
catch(\Exception $e) {
echo $e->getMessage();
}
if(isset($session)){
return $session;
} else{
echo '<a href="', $helper->getLoginUrl(), '">Login Facebook</a>';
return false;
}
}
}
Comments