PHP - เข้าสู่ระบบ Facebook
เราสามารถใช้การเข้าสู่ระบบ Facebook เพื่อให้ผู้ใช้เข้าถึงเว็บไซต์ได้ หน้านี้จะอธิบายเกี่ยวกับการเข้าสู่ระบบด้วย facebook PHP SDK
เข้าสู่ระบบด้วย Facebook
ต้องการจะไป https://developers.facebook.com/apps/ และคลิกที่ปุ่มเพิ่มกลุ่มใหม่เพื่อสร้างรหัสแอป
เลือกเว็บไซต์
ตั้งชื่อแอพและคลิกที่สร้างรหัสแอพ Facebook ใหม่
คลิกที่สร้างรหัสแอป
คลิกที่ Skip Quick Test
ในขั้นสุดท้ายจะแสดงดังภาพด้านล่าง
ภาพรวมไฟล์ fbconfig.php
ตอนนี้เปิดไฟล์ fbconfig.php และเพิ่มรหัสแอปและแอป Secrete
FacebookSession::setDefaultApplication( 'your app ID','App Secrete ' );
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper('You web address' );
สุดท้ายไฟล์ fbconfig.php ตามที่แสดงด้านล่าง -
<?php
session_start();
// added in 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;
// init app with app id and secret
FacebookSession::setDefaultApplication( '496544657159182','e6d239655aeb3e496e52fabeaf1b1f93' );
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper('http://www.tutorialspoint.com/' );
try {
$session = $helper->getSessionFromRedirect();
}catch( FacebookRequestException $ex ) {
// When Facebook returns an error
}catch( Exception $ex ) {
// When validation fails or other local issues
}
// see if we have a session
if ( isset( $session ) ) {
// graph api request for user data
$request = new FacebookRequest( $session, 'GET', '/me' );
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject();
$fbid = $graphObject->getProperty('id'); // To Get Facebook ID
$fbfullname = $graphObject->getProperty('name'); // To Get Facebook full name
$femail = $graphObject->getProperty('email'); // To Get Facebook email ID
/* ---- Session Variables -----*/
$_SESSION['FBID'] = $fbid;
$_SESSION['FULLNAME'] = $fbfullname;
$_SESSION['EMAIL'] = $femail;
/* ---- header location after session ----*/
header("Location: index.php");
}else {
$loginUrl = $helper->getLoginUrl();
header("Location: ".$loginUrl);
}
?>
ภาพรวมของหน้าเข้าสู่ระบบ
หน้าล็อกอินใช้ล็อกอินเข้า FB
<?php
session_start();
session_unset();
$_SESSION['FBID'] = NULL;
$_SESSION['FULLNAME'] = NULL;
$_SESSION['EMAIL'] = NULL;
header("Location: index.php");
?>
Index.php
หน้าดัชนีดังที่แสดงด้านล่าง
<?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']): ?> <!-- After user login -->
<div class = "container">
<div class = "hero-unit">
<h1>Hello <?php echo $_SESSION['USERNAME']; ?></h1>
<p>Welcome to "facebook login" tutorial</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">Facebook ID</li>
<li><?php echo $_SESSION['FBID']; ?></li>
<li class = "nav-header">Facebook fullname</li>
<li><?php echo $_SESSION['FULLNAME']; ?></li>
<li class = "nav-header">Facebook 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>Login with Facebook</h1>
Not Connected
<div>
<a href = "fbconfig.php">Login with Facebook</a>
</div>
<div>
<a href = "http://www.tutorialspoint.com"
title = "Login with facebook">More information about Tutorialspoint</a>
</div>
</div>
<?php endif ?>
</body>
</html>
มันจะสร้างผลลัพธ์ ก่อนที่จะลองใช้ตัวอย่างนี้โปรดออกจากระบบบัญชีใบหน้าของคุณในเบราว์เซอร์ของคุณ
ออกจากระบบ Facebook
รหัสด้านล่างนี้ใช้เพื่อออกจากระบบ facebook
<?php
session_start();.
session_unset();
$_SESSION['FBID'] = NULL;
$_SESSION['FULLNAME'] = NULL;
$_SESSION['EMAIL'] = NULL;
header("Location: index.php");
?>