Để có thể sử dụng chức năng đăng nhập bằng Facebook, điều đầu tiên bạn cần làm đó là:
Tạo ứng dụng trên Facebook
Để tạo ứng dụng bạn truy cập vào linkhttps://developers.facebook.com/apps/để+ Thêm ứng dụng mới.
Sẽ hiện ra bảngTạo ID ứng dụng mới, bạn vui lòng nhập tênTên hiển thị, sau đó chọnTạo ID ứng dụng
Sau khi tạo ID ứng dụng Facebook sẽ yêu cầu bạnThiết lập sản phẩm, bạn chọn sản phẩmĐăng nhập Facebook.
Khi xuất hiện bảng:
Bạn chọn nền tảngWeb, sau đó clickTiếp tụccho đến hết.
Tiếp đến bạn chọnCài đặtở menu bên trái
trongMiền ứng dụngbạn vui lòng nhập domain của mình vào, VD:vzn.vn
Tiếp đến chọnDanh mụcvàBiểu tượng ứng dụng
ChọnLưu thay đổi
Đến đây bạn đã cơ bản hoàn thành tạo ứng dụng, nhưng ứng dụng của bạn vẫn chưa khả dụng với mọi người. Để sử dụng được ứng dụng bạn vui lòng chọnXét duyệt ứng dụng
Click vào nút bên dướiĐặt VZN.VN ở chế độ công khai?để bật nó lên.
Đến đây bạn đã hoàn thành việc Tạo ứng dụng Facebook.
==========
Tạo trang đăng nhập PHP qua Facebook với Facebook SDK bản 5.7
Đầu tiên bạn truy cập vào link này:https://github.com/facebook/php-graph-sdktải vềFacebook SDK, sau khi giải nén bạn truy cập vào thư mụcphp-graph-sdk\srcCopy thư mụcFacebookcho ra root nằm ngang hàng với các file PHP mình sẽ tạo, cấu trúc dạng:
Giờ bạn tạo trang đăng nhậplogin.phpvà trang hiển thị thông tin sau khi đăng nhậpfb-callback.php
Trang login.php
Ví dụ
<?php
session_start();
require_once( 'Facebook/autoload.php' );
$fb = new Facebook\Facebook([
'app_id' => '{app-id}',
'app_secret' => '{app-secret}',
'default_graph_version' => 'v2.9',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email']; // Optional permissions
$loginUrl = $helper->getLoginUrl('https://vzn.vn/demo/fb-callback.php', $permissions);
echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
?>
Trang fb-callback.php
Ví dụ
<?php
session_start();
require_once( 'Facebook/autoload.php' );
$fb = new Facebook\Facebook([
'app_id' => '{app-id}',
'app_secret' => '{app-secret}',
'default_graph_version' => 'v2.9',
]);
$helper = $fb->getRedirectLoginHelper();
try {
$accessToken = $helper->getAccessToken();
$response = $fb->get('/me?fields=id,name,email', $accessToken);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if (! isset($accessToken)) {
if ($helper->getError()) {
header('HTTP/1.0 401 Unauthorized');
echo "Error: " . $helper->getError() . "\n";
echo "Error Code: " . $helper->getErrorCode() . "\n";
echo "Error Reason: " . $helper->getErrorReason() . "\n";
echo "Error Description: " . $helper->getErrorDescription() . "\n";
} else {
header('HTTP/1.0 400 Bad Request');
echo 'Bad request';
}
exit;
}
// Logged in
$me = $response->getGraphUser();
echo 'Logged in as: ' . $me->getName();
echo 'ID:' . $me->getId();
echo 'Email:' . $me->getEmail();
$_SESSION['fb_access_token'] = (string) $accessToken;
// Từ đây bạn xử lý kiểm tra thông tin user trong database sau đó xử lý.
?>
Với VD trên hi vọng bài viết có thể giúp đỡ bạn giải quyết vấn đề liên quan đến Đăng nhập PHP qua Facebook. Có thắc mắc gì các bạn vui lòng comment bên dưới để mình trả lời nhé.