我有一個Facebook應用程序從我的服務器加載作爲一個iframe內的Facebook粉絲頁面。 我使用javascript sdk來處理Facebook身份驗證。Facebook sdk不安全的請求arbiter.php
當我通過http訪問的fanpage在IE,則控制檯顯示以下HTTPS安全錯誤: SEC7111:HTTPS安全性由http://static.ak.facebook.com/connect/xd_arbiter.php?version=18
這使得用戶能夠看到「不安全的內容」警告損害。 我知道它與IE處理跨域iframe加載的方式有關。
更多細節:
- 時發生的情況FB.init被調用(xd_arbiter.php由FB SDK請求時FB.init稱)
- 在IE(IE具體9)纔會發生。 Chrome或FF中沒有安全警告。
- 只有在通過http加載facebook時纔會發生,而不是https。我會認爲這將是另一種方式......所以Facebook必須通過https加載某些內容,即使fanpage是通過http加載的。
我已經試過:
- 設置FB._https =初始化調用之前如此。 (不起作用,已棄用)
- 確保sdk通過https加載(在channel.html中)。
- 確保我對我的服務器所做的所有請求都是通過https。
這是我調用init:
FB.init({
appId : '{$appid}',
status : true,
cookie : false,
xfbml : true,
oauth : true,
channelUrl : '//my_url.com/channel.html'
});
而且channel.html的內容:
<script src="//connect.facebook.net/en_US/all.js"></script>
所以,我怎麼可以強制SDK通過https加載xd_arbiter.php所以警告消失了?
我瞭解sdk在不斷髮展,但我首先要確保我沒有做錯什麼。
感謝