我是PHP新手,並且很難理解Facebook登錄系統。結合facebook登錄,使用facebook php-sdk(v.3.0.0),使用會話和cookies
我已經從github下載了三個src /文件(https://github.com/facebook/php-sdk/)。我嘗試使用example.php文件讓我開始。不過,我不知道該怎麼辦。
對於那些誰不熟悉的文件,這裏是使用example.php的一個副本,其中的一些造型刪除:
require '../src/facebook.php';
$facebook = new Facebook(array(
'appId' => '...',
'secret' => '...',
));
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
$naitik = $facebook->api('/naitik');
?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<body>
<?php if ($user): ?>
<a href="<?php echo $logoutUrl; ?>">Logout</a>
<?php else: ?>
<div>
Login using OAuth 2.0 handled by the PHP SDK:
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
</div>
<?php endif ?>
<h3>PHP Session</h3>
<pre><?php print_r($_SESSION); ?></pre>
<?php if ($user): ?>
<h3>You</h3>
<img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
<h3>Your User Object (/me)</h3>
<pre><?php print_r($user_profile); ?></pre>
<?php else: ?>
<strong><em>You are not Connected.</em></strong>
<?php endif ?>
<h3>Public profile of Naitik</h3>
<img src="https://graph.facebook.com/naitik/picture">
<?php echo $naitik['name']; ?>
</body>
</html>
下面是它我有問題的方面:
1)cookies怎麼樣? - 我想讓用戶在重新打開他/她的瀏覽器後能夠登錄到我的網站。
2)什麼是我需要擺脫這個example.php文件來驗證/註冊用戶,開始一個會話,將會話存儲在cookie中,獲取用戶的fb用戶ID,fb名稱, fb圖片和fb朋友列表?
3)在src /文件中,有一個'file fb_ca_chain_bundle.crt',我完全不熟悉這樣的文件,我不知道它是否是必要的。它的目的是什麼?
4)行$naitik = $facebook->api('/naitik');
是「naitik」這個人的用戶名 - 所以如果我輸入facebook.com/naitik它會顯示他的公開個人資料?用「/ me」取代「/ naitik」什麼會得到登錄Facebook的人的公開個人資料?
5)如何獲取訪問令牌,以及如何在代碼中使用它?
6)當我爲用戶和一個cookie創建一個會話以便用戶在重新打開瀏覽器後登錄時,我應該在會話和Cookie中存儲哪些內容?
我知道這是很多問題,但我已經瀏覽了很多在線的教程,並且他們都沒有很好地解釋這一點,主要是因爲他們只是鏈接回Github PHP-SDK文件。另外,其中大多數解釋了PHP-SDK的先前版本。 任何幫助表示讚賞,任何問題。
[Thinkdiff](http://thinkdiff.net/)有關於這個主題的一些或多或少的最新教程。 –