0

我正面臨一個非常奇怪的問題。幾乎一年前,我開發了一個Facebook iframe應用程序。我正在使用facebook-php-sdk獲取登錄的用戶會話和其他詳細信息。我最近做了一些修改,並使用了基於Facebook的新的基於OAuth的API。但是我現在面臨一個問題,當用戶從Facebook註銷時,我的iframe應用程序仍然能夠訪問其Facebook會話。這個問題只能在IE中重現。會話不會在舊版Facebook中失效iframe應用

我正在使用CodeIgniter框架並已參考this後。這裏是代碼片段:

$this->facebook = new Facebook(array('appId' => $this->appId, 'secret' => $this->secretKey, 'cookie' => true,)); 
$this->session = $this->facebook->getSession(); 
var_dump($this->session); 

在輸出中,即使在用戶註銷後,我也可以獲得所有有效的會話值。嘗試了很多東西后,我創建了一個新的Facebook應用程序,並將URL指向我的相同代碼。 我修改了代碼,並使用了由這個新facebook應用程序提供的AppId,Appkey和AppSecret。現在一切正常。

這兩個facebook應用程序中的設置都完全相同。唯一的變化是appURL和密鑰。這是奇怪的行爲,對我來說不是一個可接受的解決方案。我希望我的舊Facebook應用能夠使用新的Facebook API。爲什麼發生這種情況?任何想法?

+0

現在突然間我已經開始面對的問題。在我的新Facebook應用程序中也出現同樣的IE問題 – Adnan 2011-01-11 07:57:13

回答

1

我有同樣的問題,而解決這一問題,我不得不手動摧毀了Facebook的cookie(其中包含訪問令牌)

SO:

地址:
$ _ COOKIE [ 「fbs_」 。 $ this-> appId] = null;
前:
$這個 - > Facebook的=新的Facebook(...

所以每次創建它毀壞cookie先形成的舊會話的新的Facebook上課時間

+0

在safari瀏覽器中是否可行,因爲safari無法在iframe標籤中存儲cookie ..或者我錯了嗎? – msaif 2011-09-02 03:28:53