Đăng nhập với Facebook
- Truy cập link: https://developers.facebook.com/apps/ và tạo app ID
- Chọn Website
- Cung cấp một app name và nhấn vào Create New Facebook App ID
- Nhấn vào Create app ID
- Nhấn vào Skip Quick Test
Bước cuối cùng, nó sẽ hiển thị hình ảnh:
Tạo fbconfig.php file
- Bây giờ tải zip tại đây
- Mở fbconfig.php file và thêm app ID và app Secrete.
FacebookSession::setDefaultApplication( 'app ID','App Secrete ' );
// đăng nhập với sự trợ giúp của redirect_uri
$helper = new FacebookRedirectLoginHelper('Địa chỉ web của bạn' );
Cuối cùng, fbconfig.php file sẽ trông giống như:
<?php
session_start();
// phần này được thêm vào trong phiên bản v4.0.0
require_once 'autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;
// khởi tạo app với app id và secret
FacebookSession::setDefaultApplication( '496544657159182','e6d239655aeb3e496e52fabeaf1b1f93' );
// đăng nhập với sự trợ giúp của redirect_uri
$helper = new FacebookRedirectLoginHelper('http://www.vietjack.com/' );
try {
$session = $helper->getSessionFromRedirect();
}
catch( FacebookRequestException $ex ) {
// Khi Facebook trả về một lỗi
}
catch( Exception $ex ) {
// khi có lỗi với validate
}
// kiểm tra session
if ( isset( $session ) ) {
// request cho dữ liệu từ người dùng
$request = new FacebookRequest( $session, 'GET', '/me' );
$response = $request->execute();
// lấy response
$graphObject = $response->getGraphObject();
$fbid = $graphObject->getProperty('id'); // lấy Facebook ID
$fbfullname = $graphObject->getProperty('name'); // lấy tên đầy đủ
$femail = $graphObject->getProperty('email'); // lấy email ID
/* ---- các biến Session -----*/
$_SESSION['FBID'] = $fbid;
$_SESSION['FULLNAME'] = $fbfullname;
$_SESSION['EMAIL'] = $femail;
/* ---- vị trí header sau session ----*/
header("Location: index.php");
}
else
{
$loginUrl = $helper->getLoginUrl();
header("Location: ".$loginUrl);
}
?>
Tạo Login page
Login Page được sử dụng để đăng nhập vào FB.
<?php
session_start();
session_unset();
$_SESSION['FBID'] = NULL;
$_SESSION['FULLNAME'] = NULL;
$_SESSION['EMAIL'] = NULL;
header("Location: index.php");
?>
Tạo index.php
Trang index được hiển thị như sau:
<?php
session_start();
?>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>Login with Facebook</title>
<link href="http://www.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css" rel="stylesheet">
</head>
<body>
<?php if ($_SESSION['FBID']): ?> <!-- Sau khi người dùng đăng nhập -->
<div class="container">
<div class="hero-unit">
<h1>Hello <?php echo $_SESSION['USERNAME']; ?></h1>
<p>Chào mừng bạn với chương hướng dẫn đăng nhập Facebook</p>
</div>
<div class="span4">
<ul class="nav nav-list">
<li class="nav-header">Image</li>
<li><img src="https://graph.facebook.com/<?php echo $_SESSION['FBID']; ?>/picture"></li>
<li class="nav-header">ID</li>
<li><?php echo $_SESSION['FBID']; ?></li>
<li class="nav-header">Tên đăng nhập</li>
<li><?php echo $_SESSION['FULLNAME']; ?></li>
<li class="nav-header">Email</li>
<li><?php echo $_SESSION['EMAIL']; ?></li>
<div><a href="logout.php">Logout</a></div>
</ul>
</div>
</div>
<?php else: ?> <!-- Before login -->
<div class="container">
<h1>Đăng nhập với Facebook</h1>
Không thể kết nối
<div>
<a href="fbconfig.php">Đăng nhập với Facebook</a>
</div>
<div>
<a href="https://vietjack.com" title="Đăng nhập với facebook">Thông tin khác về Vietjack</a>
</div>
</div>
<?php endif ?>
</body>
</html>
Đăng xuất Facebook bằng PHP
Đoạn code dưới dùng để đăng xuất Facebook bằng PHP.
<?php
session_start();.
session_unset();
$_SESSION['FBID'] = NULL;
$_SESSION['FULLNAME'] = NULL;
$_SESSION['EMAIL'] = NULL;
header("Location: index.php");
?>
Được cập nhật: 13 tháng 4 lúc 19:21:07 | Lượt xem: 526