Skip to content

Blog Công Nghệ

MENUMENU
  • Trang chủ
  • Giới Thiệu
  • Lập Trình
    • Lập Trình Website
      • Laravel
        • Phân Tích Dự Án
      • PHP
      • SQL
      • HTML
      • CSS
      • Javascipt
      • My Project
      • Wordpress
    • Luyện Skill
    • Lập trình winform
    • CSDL
    • Lập Trình Android
    • Trí tuệ nhân tạo
    • Khai Khoáng Dữ Liệu
    • Arduino
    • Khác
    • Đồ án
  • Phần Mềm
    • Powerpoint
    • Tool
  • Cuộc sống và Giải trí
    • Hợp âm
    • web5ngay - youtube
    • Công Giáo
    • Kỹ Năng Sống
    • Street Workout
  • Danh sách bài viết
  • Guide line
    • Guild line phỏng vấn
    • Guide lines Laravel
    • Guide line Module Frontend
  • Tóm tắt sách
  • Fanpage

Blog Công Nghệ

Nơi chia sẻ kiến thức

Xử lý đăng nhập bằng facebook đơn giản

7 Tháng Năm, 2020 by admin
Lượt xem: 26

Hiện nay, đăng nhập bằng facebook không còn xa lạ với chúng ta, nó giúp người dùng thay vì mỗi trang web lại phải nhớ một tài khoản – nhiều khi còn không biết trang đó mình đăng ký tài khoản tên gì nữa – thì chúng ta chỉ cần nhớ tài khoản facebook của chúng ta là có thể đăng ký tài khoản trên nhiều trang web như thương mại điện tử, …

Contents

  • 1. Bạn cần gì để có thể xử lý đăng nhập bằng facebook?
  • 2. Từng bước xử lý đăng nhập facebook
    • B1: Tạo một application trên facebook
    • B2: Tải thư viện Facebook SDK PHP
    • B3: Cài đăng nhập vào application
  • Kết Luận

1. Bạn cần gì để có thể xử lý đăng nhập bằng facebook?

Bạn cần những điều sau:

  1. Một application trên facebook.
  2. Thư viện facebook SDK
  3. Một tên miền sử dụng giao thức https

2. Từng bước xử lý đăng nhập facebook

B1: Tạo một application trên facebook

Bạn nhấn vào đây sau đó nhấn vào ứng dụng của tôi -> tạo ứng dụng

Sau đó đặt tên ứng dụng vào điền email, cuối cùng click vào Tạo ID ứng dụng.

Setup application: Bạn click vào Cài đặt -> thông tin cơ bản.

Bạn hãy điền domain và cả subdomain nếu có vào khung Miền ứng dụng mà mình đã khoanh vùng đấy và ấn lưu thay đổi.
Và các bạn có thấy mình khoanh chỗ trạng thái không: đang phát triển nghĩa là chỉ mình sử dụng được người khác không sử dụng được. Sau khi mình hoàn thành việc phát triển và muốn cho người khác sử dụng thì bật cái đó lên nhưng trước khi bật phải điền url có https vào URL chính sách quyền riêng tư và URL Điều khoản dịch vụ nha!

B2: Tải thư viện Facebook SDK PHP

Bạn down thư viện về trên github tại đây nhé!
Sau khi tải về bạn hãy tạo thêm hai file facebook.php và facebook-callback.php như vậy nè!

facebook.php
<?php
include 'Facebook/autoload.php';

$fb = new \Facebook\Facebook([
  'app_id' => '156339800000000',
  'app_secret' => '29a083d80dsaf0dsdf0dfds0sa9safda',
  'default_graph_version' => 'v3.2',
  //'default_access_token' => '{access-token}', // optional
]);

$helper = $fb->getRedirectLoginHelper();
$permissions = ['email','user_likes']; // optional
$loginUrl = $helper->getLoginUrl('https://test.tronghao.site/facebook-callback.php', $permissions);

echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
?>

Những thông tin bạn cần thay đổi là app_id, app_secret, default_graph_version và địa chỉ trả về dòng 14. Lưu ý địa chỉ phải là giao thức https nhé!.
Vậy những thông tin này lấy ở đâu? Bạn truy cập vào application bạn vừa tạo lúc nãy và lấy nó điền vào giúp mình nhé.

facebook-callback.php
<?php
//session_start();
include 'Facebook/autoload.php';

$fb = new \Facebook\Facebook([
  'app_id' => '156339800000000',
  'app_secret' => '29a083d80dsaf0dsdf0dfds0sa9safda',
  'default_graph_version' => 'v3.2',
  //'default_access_token' => '{access-token}', // optional
]);

$helper = $fb->getRedirectLoginHelper();
if(isset($_GET["state"]))
{
  $helper->getPersistentDataHandler()->set('state', $_GET["state"]);
}

try {
  $accessToken = $helper->getAccessToken();
} 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;
}

try {
  $response = $fb->get('/me', $accessToken);
  $userNode = $response->getGraphUser();
} 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;
}

echo 'Logged in as ' . $userNode->getName()." id: ".$userNode["id"];
?>

B3: Cài đăng nhập vào application

Rồi chọn WWW do mình đang làm bằng web, rồi điền website vào nhớ là có https nhé! nhấn save xong rồi ấn cài đặt gõ đường dẫn đến file facebook-callback.php là xong!

Trong quá trình chạy nếu có lỗi nào phát sinh thì các bạn xem video này xem có giống lỗi mình bị không nhe, rồi sửa theo, cái này lúc trước mình làm bị lỗi vô tình tìm được video này ớ! Link video: tại đây

Kết Luận

Như vậy mình đã hướng dẫn xong các bạn đăng nhập bằng facebook. Cảm ơn các bạn đã đọc bài viết. Nếu có thắc mắc gì cứ để lại bình luận bên dưới nhé!

Related posts:

  1. Xử lý đăng nhập bằng Google
  2. Tích hợp Page Facebook cho wordpress đơn giản, dễ dàng – không cần plugin
  3. Xử lý đăng nhập twitter
  4. Xử lý đăng nhập line

Post navigation

Previous Post:

Các bộ phim về tình cảm học đường

Next Post:

Plugin cho phép tạo phòng chat wordpress

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Ẩn sidebar

Tìm kiếm

Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

Blog Công Nghệ

Bài viết mới

  • Master typescript
  • Sendmail trong Laravel sử dụng dịch vụ SES, SQS của Amazon
  • Install SSL in Nginx Ubuntu
  • Docker study
  • Bảo vệ: Hướng dẫn code bot Telegram easy game

Lượng truy cập

0074502
Visit Today : 98
Visit Yesterday : 178
This Month : 773
Who's Online : 6
© 2025 Blog Công Nghệ | WordPress Theme by Superbthemes