Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Cách đăng nhập bằng facebook trên web

14:30 09-01-2018 882 lượt xem 5 bình luận 21:33 06-03-2018

Làm thế nào để đăng nhập bằng facebook trên website (chỉ để lấy email và tên người dùng) bằng JS và php ạ

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Lê Châu Moderator, Author đã bình luận 14:35 09-01-2018

Bạn xem Facebook login API cho PHP xem

http://www.krizna.com/general/login-with-facebook-using-php/

Vũ Minh Luân đã bình luận 21:33 06-03-2018

Cho mình hỏi ké về đăng nhập facebook bằng Javascript.
Mình làm thành công rồi, nhưng bị vướng ở một chỗ. Nếu như bên ngoài mình đã đăng nhập facebook rồi, thì khi vào web mình, nó sẽ tự động thực thi đoạn javascript luôn mà không cần click nút đăng nhập. Làm sao để kiểm soát nó bằng cách chỉ khi user click vào nút đăng nhập facebook nó mới chạy

HXD.VN đã bình luận 14:35 09-01-2018

Facebook có hỗ trợ sẵn  thư viện API , để lấy được  email và tên người dùng thì cần :

https://developers.facebook.com/docs/php/howto/example_facebook_login/?locale=vi_VN

- Quyền ứng dụng : Ứng dụng của bạn phải được cấp quyền

-Code callback get user data qua toklen tạm thời của app mà bạn tạo

Một đoạn mã call back ví dụ cho bạn : 

http://vietjack.com/php/dang_nhap_facebook_bang_php.jsp

<?php
   
   session_start();
   
   // phần này được thêm vào trong phiên bản 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;
   
   // khởi tạo app với app id và secret
   FacebookSession::setDefaultApplication( '496544657159182','e6d239655aeb3e496e52fabeaf1b1f93' );
   
   // đăng nhập với sự trợ giúp của redirect_uri
   $helper = new FacebookRedirectLoginHelper('http://www.vietjack.com/' );
   
   try {
      $session = $helper->getSessionFromRedirect();
   }
   
   catch( FacebookRequestException $ex ) {
      // Khi Facebook trả về một lỗi
   }
   
   catch( Exception $ex ) {
      // khi có lỗi với validate
   }
   
   // kiểm tra session
   if ( isset( $session ) ) {
      // request cho dữ liệu từ người dùng
      $request = new FacebookRequest( $session, 'GET', '/me' );
      $response = $request->execute();
      
      // lấy response
      $graphObject = $response->getGraphObject();
      $fbid = $graphObject->getProperty('id');           // lấy Facebook ID
      $fbfullname = $graphObject->getProperty('name');   // lấy tên đầy đủ
      $femail = $graphObject->getProperty('email');      // lấy email ID
      
      /* ---- các biến Session -----*/
      $_SESSION['FBID'] = $fbid;
      $_SESSION['FULLNAME'] = $fbfullname;
      $_SESSION['EMAIL'] =  $femail;
      
      /* ---- vị trí header sau session ----*/
      header("Location: index.php");
   }
   else
   {
      $loginUrl = $helper->getLoginUrl();
      header("Location: ".$loginUrl);
   }
?>

 

ngduong1410 đã bình luận 14:34 09-01-2018

Bạn có thể tham khảo bài viết này!

https://developers.facebook.com/docs/facebook-login/web?locale=vi_VN

Câu hỏi mới nhất