0

나는 잠시 페이스 북 개발자 였지만 새로운 Facebook 응용 프로그램 레이아웃을 처음부터 익히고 첫 번째 단계 중 하나를 고수했다. 그래서 분명히 저의 오래된 인증 방법은 더 이상 작동하지 않습니다.IE에서 인증 할 수 없음

이 문제를 해결하기 위해 예제로 주어진 http://developers.facebook.com/docs/authentication/을 시도해 보았습니다. 그러나 인터넷 익스플로러에서 전혀 작동하지 않는 것 같습니다. 내가 아는 모든 문제가 $_SESSION['state']과 관련이있다, 지금까지

<?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."); 
} 
?> 

; 여기

바로 아래에있는 내 코드입니다

도움이 될 것입니다.

답변

1

흠, 나는 그것을 작동 시켰습니다. iframe을 사용하는 Internet Explorer에서 처리하는 P3P 쿠키에 대해서는 매우 모호한 문제입니다. 즉, 당신의 코드 시작 부분에이 곳을 넣어 :

 
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

을! –

관련 문제