0

私は今Facebookの開発者でしたが、新しいFacebook Appのレイアウトで新しく始めて、最初のステップの1つを突きつけました。だから明らかに私の古い認証方法はもはや動作しません。IEで認証できない

これを解決するため、例として与えられたものをhttp://developers.facebook.com/docs/authentication/で試しました。しかし、それはInternet Explorerでまったく動作していないようです。

はここで右下の私のコードです:

<?php 
$app_id = "-----"; 
$app_secret = "------"; 
$my_url = "http://apps.facebook.com/myapp/"; 
require('facebook-php-sdk-2343fca/src/facebook.php'); 
$facebook = new Facebook(array(
          'appId' => $app_id, 
          'secret' => $app_secret, 
          'cookie' => true,)); 
$session = $facebook->getSession(); 
session_start(); 
$code = $_REQUEST["code"]; 
echo $_REQUEST['state']." == ".$_SESSION['state']; 

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'] . '&scope=publish_stream,read_stream,user_photos,friends_photos,user_events,friends_events'; 
    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); 

//My app goes here! 
    } else { 
    echo("The state does not match. You may be a victim of CSRF."); 
} 
?> 

これまでのところ、私が知っているすべては$_SESSION['state']を行うには問題がありますされます。

何か助けが必要です!

答えて

1

ええと、私はそれを働かせました。 iframeを使用してInternet Explorerで処理するP3P Cookieの問題は非常にわかりにくいです。要するに、自分のコードの先頭にこのどこかに置く:

 
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); 

あなたがここで多くを読むことができます:、おかげでそれを行う必要がありますHow to properly handle session and access token with Facebook PHP SDK 3.0?

+0

を! –

関連する問題