2012-02-16 43 views
1

我看從developers site下面的示例代碼使用PHP概述OAuth認證。爲什麼Facebook在這個例子中使用Javascript而不是HTTP頭?

我的問題是:爲什麼他們呼應的腳本將用戶重定向,而不是使用標題(「位置」)?

//see link for full code... 

if(empty($code)) { 
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); 
$dialog_url = "https://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>"); 
} 

//see link for full code... 

謝謝。

+3

此位代碼之前的任何輸出? – 2012-02-16 22:53:12

+0

你的意思是迴應嗎?沒有。 – LonelyWebCrawler 2012-02-16 22:55:19

+0

那麼我會說 - 壞的選擇由開發商,也許你應該問他們 – 2012-02-16 22:56:53

回答

4

的top.location將表明突破一個iframe中,頭的位置只會影響直接包含iframe中。

+0

那麼這是否意味着此代碼對Canvas應用程序也很靈活?畢竟,這些都包含在iFrame中。 – LonelyWebCrawler 2012-02-16 23:00:35

+0

+1的眼睛是雪亮的 – Kaii 2012-02-16 23:10:22

+0

@LonelyWebCrawler我認爲是這樣,尤其是現在,您還可以使用頁面標籤的應用程序作爲內部框架,但他們也有「signed_request」功能http://developers.facebook.com/docs/authentication/ signed_request / – Scuzzy 2012-02-16 23:31:48

相關問題