Hướng dẫn
Quảng cáo

Hướng dẫn đăng nhập PHP bằng Facebook API SDK

Hướng dẫn tạo chức năng đăng nhập cho user trong website PHP bằng Facebook API SDK (Cập nhật liên tục)

Để 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 link https://developers.facebook.com/apps/ để + Thêm ứng dụng mới.
Đăng nhập bằng Facebook với PHP
Sẽ hiện ra bảng Tạo ID ứng dụng mới, bạn vui lòng nhập tên Tên hiển thị, sau đó chọn Tạo ID ứng dụng
Đăng nhập bằng Facebook với PHP
Sau khi tạo ID ứng dụng Facebook sẽ yêu cầu bạn Thiết lập sản phẩm, bạn chọn sản phẩm Đăng nhập Facebook.
Đăng nhập bằng Facebook với PHP
Khi xuất hiện bảng:
Đăng nhập bằng Facebook với PHP
Bạn chọn nền tảng Web, sau đó click Tiếp tục cho đến hết.
Tiếp đến bạn chọn Cài đặt ở menu bên trái
Đăng nhập bằng Facebook với PHP
trong Miền ứng dụng bạn vui lòng nhập domain của mình vào, VD: vzn.vn
Tiếp đến chọn Danh mục  Biểu tượng ứng dụng
Chọn Lư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ọn Xé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.
Đăng nhập bằng Facebook với PHP
Đế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-sdk tải về Facebook SDK, sau khi giải nén bạn truy cập vào thư mục php-graph-sdk\src Copy thư mục Facebook cho ra root nằm ngang hàng với các file PHP mình sẽ tạo, cấu trúc dạng:
Đăng nhập bằng Facebook với PHP
Giờ bạn tạo trang đăng nhập login.php và trang hiển thị thông tin sau khi đăng nhập fb-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é.

Bài viết này đã giúp ích cho bạn?

Bài viết mới

Advertisements