私はPHPを初めて使い、facebookログインシステムを理解するのが非常に困難でした。facebook php-sdk(v.3.0.0)を使用したfacebookログインの組み込み、セッションとCookie付き
github(https://github.com/facebook/php-sdk/)から3つのsrc /ファイルをダウンロードしました。私は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)クッキーはどうですか? - ブラウザを再起動して、ユーザが自分のウェブサイトにログインできるようにします。
2)ユーザーの検証/登録、セッションの開始、セッションのクッキーへの保存、ユーザーのfbユーザーIDの取得、fb名の取得などのために、このexample.phpファイルから抜け出すために最低限必要なものは何ですか? fbの画像、fbの友達のリスト?
3)src/filesには1つの 'fb_ca_chain_bundle.crtファイル'がありますが、そのようなファイルには全く慣れていませんし、必要であればわかりません。その目的は何ですか?
4)$naitik = $facebook->api('/naitik');
という行は、このユーザーのユーザー名である「naitik」です。facebook.com/naitikと入力すると、公開プロフィールが表示されますか? "/ naitik"を "/ me"に置き換えて、facebookにログインした人の公開プロフィールを取得しますか?
5)アクセストークンを取得するにはどうすればよいですか?コード内でどのように使用しますか?
6)ユーザーのセッションを作成し、ブラウザを開いた後にユーザーがログインするようにCookieを作成すると、セッションとCookieに正確に格納する内容は何ですか?
多くの質問がありますが、私は多くのチュートリアルをオンラインで見てきましたが、Github PHP-SDKファイルにリンクしているため、説明していない人がほとんどです。さらに、それらのほとんどはPHP-SDKの以前のバージョンを説明しています。 質問があれば、助けてください。
[Thinkdiff](http://thinkdiff.net/)には、この件に関する多かれ少なかれ最新のチュートリアルがあります。 –