2012-01-05 29 views
0

我意識到有一些關於這個問題,但我仍然有點困惑!Facebook的JS SDK和子域

對於某人使用Facebook在我的網站上登錄,他們被定向到secure.mydomain.com。用戶登錄後是否可以在www.mydomain.com上找到Cookie?如果沒有,那麼我如何讓它在所有域中都可用。

我相信有這方面的一個錯誤https://developers.facebook.com/bugs/256155664428653?browse=search_4e843e6d89a232275456793但我不確定這是否已解決?

Regards

回答

0

您提到的錯誤已經關閉。

即使Cookie被設置在您的子域名,將不會提供給服務器端,直到上其他子域設置,如果調用FB.initstatus等於用戶true新鮮的登錄狀態會通過JavaScript SDK中獲取和cookie將被設置/更新。

+0

謝謝你 - 因爲我有兩個不同的頭文件(每個子域一個)我需要在body標籤下添加JS部件嗎? – tommyd456 2012-01-05 13:27:26

+0

不在但在......引用文檔: - _「開放標記後,最好放置此代碼的最佳位置。」_ – 2012-01-05 13:30:11

+0

我明白JS代碼的位置......但我在兩個頭文件中都需要它正確(因爲我有不同的每個子域的頭文件),以便跨兩個子域讀取cookie?我在正確的路線上? – tommyd456 2012-01-05 14:17:38

0

當我去你的錯誤鏈接它說:Status: Fix Ready。所以在我看來,他們還沒有部署錯誤修復。

但是,在每個頁面上,無論子域如何,您都應該始終調用FB.getLoginStatus()(在FB.iniit()之後)並從其響應中獲取訪問標記。

+0

嗨 - 是的,我一直在想。它告訴我,好像他們還沒有真正做出改變(或者至少沒有告訴我們)。 – tommyd456 2012-01-06 13:48:47

+0

你介意告訴我如何使用FB.getLoginStatus()作爲Facebook提供的基本示例不包括這一點。如果沒有這個,我的工作也可以正常進行,但是如果它能改善事情,我想利用它。 – tommyd456 2012-01-06 15:59:55

+0

儘管這可能是因爲我正在使用PHP SDK與JS一起使用 - 這是正確的想法,因爲我現在很困惑! haha – tommyd456 2012-01-06 16:04:19