VANHIEP.NET - Làm web giá rẻ - Thiết Kế Website - Thiết Kế Ứng Dụng Mobile
Hướng dẫn tích hợp đăng nhập facebook cho website

Hướng dẫn tích hợp đăng nhập facebook cho website

Hướng dẫn chi tiết cách cài đặt thư viên facebook sdk trong php, làm chức năng đăng nhập bằng facebook

  • Bước 1 : Bạn vào trang https://developers.facebook.com/?no_redirect=1 đăng nhập bằng tài khoản facebook của bạn

 Hướng dẫn chi tiết cách cài đặt thư viên facebook sdk trong php, làm chức năng đăng nhập bằng facebook

Bạn bấm vào nút tạo ứng dụng để tiến hành tạo mới 1 ứng dụng, màn hình mới hiện ra bạn chon 1 mục bất kỳ, mục nào cũng được

Hướng dẫn chi tiết cách cài đặt thư viên facebook sdk trong php, làm chức năng đăng nhập bằng facebook

Bạn nhập tên của ứng dụng, tên tùy bạn đặt, tên gì cũng được sau đó bấm tiếp tục

Hướng dẫn chi tiết cách cài đặt thư viên facebook sdk trong php, làm chức năng đăng nhập bằng facebook

Màn hình mới hiện ra, bạn vào mục cài đặt \ thông tin cơ bản để khai báo các thông tin cơ bản cho ứng dụng. Ở màn hình này ban sẽ thấy ID và mã bảo vệ của ứng dụng, ta sẽ dùng cái này để đăng nhập facebook 

Hướng dẫn chi tiết cách cài đặt thư viên facebook sdk trong php, làm chức năng đăng nhập bằng facebook

Bạn khai báo giống như mình sau đó lưu thay đổi

Hướng dẫn chi tiết cách cài đặt thư viên facebook sdk trong php, làm chức năng đăng nhập bằng facebook

  • Bước 2 : Tải thư viện facebook sdk và tích hợp thư viện vào website

Ở thư mục gốc của website bạn dùng composer chạy lệnh sau để dowload thư viện

composer require facebook/graph-sdk

Sau khi tải xong ta khai báo đường dẫn đến thư viện facebook sdk. Trong hàm xử lý đăng nhập hoặc trong file xử lý đăng nhập của bạn, thêm dòng này vào đầu hàm hoặc file

require_once 'vendor/facebook/graph-sdk/src/Facebook/autoload.php';

Nhập ID và Mã bảo vệ của ứng dụng mà ta đăng ký ở bước 1

$fb = new Facebook\Facebook([

                'app_id' => '2528789093845200',

                'app_secret' => '40128abe4f1d06eec80d7b63504f1499',

                'default_graph_version' => 'v2.7',

            ]);

Sau đây là code mình đã xử lý bạn copy về thay các thông tin website của bạn vào là chạy

public function loginFacebook()

    {

            require_once 'vendor/facebook/graph-sdk/src/Facebook/autoload.php';

            $fb = new Facebook\Facebook([

                'app_id' => 'ID_ung_dung',

                'app_secret' => 'Ma_bao_ve_ung_dung,

                'default_graph_version' => 'v2.7',

            ]);

 

            $helper = $fb->getRedirectLoginHelper();

            $permissions = ['email']; // optional

 

            try 

            {

                if (isset($_SESSION['facebook_access_token'])) 

                {

                    $accessToken = $_SESSION['facebook_access_token'];

                } 

                else 

                {

                    $accessToken = $helper->getAccessToken();

                }

            } 

 

            catch(Facebook\Exceptions\facebookResponseException $e) 

            {

                echo 'Graph returned an error: ' . $e->getMessage();

                exit;

            } 

            catch(Facebook\Exceptions\FacebookSDKException $e) 

            {

                echo 'Facebook SDK returned an error: ' . $e->getMessage();

                exit;

            }

 

            if (isset($accessToken)) 

            {

                if (isset($_SESSION['facebook_access_token'])) 

                {

                    $fb->setDefaultAccessToken($_SESSION['facebook_access_token']);

                }

                else 

                {

                    $_SESSION['facebook_access_token'] = (string) $accessToken;

                    $oAuth2Client = $fb->getOAuth2Client();

                    $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']);

                    $_SESSION['facebook_access_token'] = (string) $longLivedAccessToken;

                    $fb->setDefaultAccessToken($_SESSION['facebook_access_token']);

                }

            

            try 

            {

                $profile_request = $fb->get('/me?fields=name,first_name,last_name,email,picture');

                $profile = $profile_request->getGraphUser();

                $fbid = $profile->getProperty('id');           // To Get Facebook ID

                $fbfullname = $profile->getProperty('name');   // To Get Facebook full name

                $fbemail = $profile->getProperty('email');    //  To Get Facebook email

                $fbAvatart = json_decode($profile->getProperty('picture'))->url;

 

                // Xử lý đăng nhập của bạn ở đây.

            }

            catch(Facebook\Exceptions\FacebookResponseException $e) 

            {

                echo 'Graph returned an error: ' . $e->getMessage();

                session_destroy();

                header("Location: ./");

                exit;

            } 

            catch(Facebook\Exceptions\FacebookSDKException $e) 

            {

                echo 'Facebook SDK returned an error: ' . $e->getMessage();

                exit;

            }

        } 

        else 

        {

            $loginUrl = $helper->getLoginUrl(base_url('user/login-facebook'), $permissions);

            header('Location: '.$loginUrl);

        }

    }

 

bạn có thể khai báo session và chuyển hướng về trang chủ của bạn luôn. Hoặc bạn có thể kiểm tra thông tin người dùng trong database có chưa, nếu chưa có thì thêm người dùng vào database chẳng hạn. Chỗ này thì tùy mỗi người có cách xử lý khác nhau còn đến đây ta đã lấy được thông tin user trả về là chúng ta đã sử dụng thư viện facebook sdk thành công

Tổng kết : Trong bài viết này mình đã hướng dẫn chi tiết

  • Cách tạo ứng dụng
  • Cách tải thư viện và nhúng thư viện vào web 

Nếu có thắc mắc gì bạn hãy để lại comment, mình sẽ hỗ trợ đến khi bạn làm được thì thôi, chúc bạn thành công !