Graph API 3.0在PHP中用于身份验证


Graph API 3.0 Using for Authentication in PHP

我正在为我的一个应用程序开发基于Facebook的身份验证,早些时候我使用了来自Nettuts教程的以下代码

但是,当graph api 3.0问世时,我可以为我的新web应用程序添加相同的代码,我如何生成登录名作为about链接?

我正在使用以下代码,但不知道如何在其中进行会话?

=================================================

使用Facebook PHP SDK,您需要重定向到Facebook的OAuth对话框,然后使用返回的请求对用户进行身份验证。

Facebook上有以下样本http://developers.facebook.com/docs/authentication/:

<?php
$app_id = "YOUR_APP_ID";
$app_secret = "YOUR_APP_SECRET";
$my_url = "YOUR_URL";
session_start();
$code = $_REQUEST["code"];
if(empty($code)) {
  $_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
  $dialog_url = "http://www.facebook.com/dialog/oauth?client_id=" 
    . $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
    . $_SESSION['state'];
  echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
if($_REQUEST['state'] == $_SESSION['state']) {
  $token_url = "https://graph.facebook.com/oauth/access_token?"
    . "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
    . "&client_secret=" . $app_secret . "&code=" . $code;
  $response = @file_get_contents($token_url);
  $params = null;
  parse_str($response, $params);
  $graph_url = "https://graph.facebook.com/me?access_token=" 
    . $params['access_token'];
  $user = json_decode(file_get_contents($graph_url));
  echo("Hello " . $user->name);
}
else {
  echo("The state does not match. You may be a victim of CSRF.");
}