Viết Chức Năng Login Bằng Tài Khoản Facebook

lúc các bạn cách tân và phát triển một trang web nào kia, công dụng đăng nhập là khôn cùng đặc trưng, tích vừa lòng tác dụng đăng nhập bằng social càng dễ dàng hơn cho tất cả những người sử dụng. Sau đây là một ví dụ singin Facebook bằng PHPhường.Trong ví dụ tiếp sau đây, những lệnh PHPhường thực hiện đăng nhập phía bên trong tệp /logIn.php. Đường dẫn nhưng mà Facebook chuyển hướng làn phân cách người tiêu dùng mang lại sau hộp thoại singin phía trong tệp tin /fb-callback.php.

Bạn đang xem: Viết chức năng login bằng tài khoản facebook

Lưu ý: Mọi URL callback đầy đủ nên phía trong danh sách URI chuyển sang làn đường khác OAuth phù hợp lệ bằng cách đi tới Bảng tinh chỉnh vận dụng, lựa chọn ứng dụng của chúng ta cùng tiếp cận Sản phđộ ẩm > Đăng nhập Facebook > Cài đặt vào Cài đặt OAuth ứng dụng cùng nhtràn lên kia.

Trước hết chúng ta phải khởi tạo một ứng dụng facebook. Trước tiên bạn vào trang https://developers.facebook.com/ và sản xuất một ứng dụng bắt đầu.

Xem thêm: Vendo Urgente Chevrolet Captiva Lt, Chevrolet Captiva Owner Reviews: Mpg, Problems

*

Sau kia lựa chọn Add new app, các bạn nhập tên vận dụng cơ mà bạn có nhu cầu với email rồi nhấn "Create an tiện ích ID".

*

Chọn thêm Product là "Facebook Login"

*

Chọn Setting->Basic information. Tại trên đây chúng ta xem xét 2 phần App IDSecret ID đang điền vào phần sau.

*

Đây là phần Cài đặt OAuth ứng dụng bản thân nhắc tới ở chỗ Lưu ý trên, nhập những URL vào form UI valid redirect URI.

*

/login.php

$fb = new FacebookFacebook(< "app_id" => "app-id", // Replace app-id with your ứng dụng id "app_secret" => "app-secret", "default_graph_version" => "v2.2", >);$helper = $fb->getRedirectLoginHelper();$permissions = <"email">; // Optional permissions$loginUrl = $helper->getLoginUrl("https://example.com/fb-callbaông chồng.php", $permissions);eđến " . htmlspecialchars($loginUrl) . "">Log in with Facebook!";/fb-callbachồng.php

$fb = new FacebookFacebook(< "app_id" => "app-id", // Replace app-id with your tiện ích id "app_secret" => "app-secret", "default_graph_version" => "v2.2", >);$helper = $fb->getRedirectLoginHelper();try $accessToken = $helper->getAccessToken(); catch(FacebookExceptionsFacebookResponseException $e) // When Graph returns an error echo "Graph returned an error: " . $e->getMessage(); exit; catch(FacebookExceptionsFacebookSDKException $e) // When validation fails or other local issues emang lại "Facebook SDK returned an error: " . $e->getMessage(); exit;if (! isset($accessToken)) if ($helper->getError()) header("HTTP/1.0 401 Unauthorized"); echo "Error: " . $helper->getError() . " "; emang đến "Error Code: " . $helper->getErrorCode() . " "; emang đến "Error Reason: " . $helper->getErrorReason() . " "; emang lại "Error Description: " . $helper->getErrorDescription() . " "; else header("HTTP/1.0 400 Bad Request"); emang đến "Bad request"; exit;// Logged inemang lại "

Access Token

";var_dump($accessToken->getValue());// The OAuth 2.0 client handler helps us manage access tokens$oAuth2Client = $fb->getOAuth2Client();// Get the access token metadata from /debug_token$tokenMetadata = $oAuth2Client->debugToken($accessToken);eđến "

Metadata

";var_dump($tokenMetadata);// Validation (these will throw FacebookSDKException"s when they fail)$tokenMetadata->validateAppId("app-id"); // Replace app-id with your app id// If you know the user ID this access token belongs to, you can validate it here//$tokenMetadata->validateUserId("123");$tokenMetadata->validateExpiration();if (! $accessToken->isLongLived()) // Exchanges a short-lived access token for a long-lived one try $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken); catch (FacebookExceptionsFacebookSDKException $e) emang đến "Error getting long-lived access token: " . $e->getMessage() . "

"; exit; echo "

Long-lived

"; var_dump($accessToken->getValue());$_SESSION<"fb_access_token"> = (string) $accessToken;// User is logged in with a long-lived access token.// You can redirect them to a members-only page.//header("Location: https://example.com/members.php");