[英]Access denied while loading an openSocial Gadget
我有三台服務器:
服務器A:主應用程序主機
服務器B:另一個應用程序的主機,該應用程序在主應用程序中作為openScoial小工具打開
服務器C:服務器B上應用程序的OpenSocial規范文件的主機
現在,我訪問服務器A上的應用程序,但出現錯誤,提示某些JavaScript文件功能拒絕了訪問。
似乎有些跨域問題,歡迎任何幫助。
您是否正在使用小工具進行任何身份驗證? 為什么xml與應用程序在不同的服務器上? 它們也在不同的域上嗎? 您使用什么方法來加載javascript? 您正在使用哪個OpenSocial容器實現? 您使用的是鎖定域嗎? 你試過什么了?
我可以給您一些一般性的建議/信息,但是至少不回答上述問題,我就無法確切地了解您的問題所在。
OpenSocial小工具呈現在iframe中,並且它們的域是由呈現它們的OpenSocial容器選擇的,幾乎從來沒有(我不知道有這種情況)在gadget xml的域中呈現它們。 通常,除非啟用了鎖定域,否則此域通常只是父頁面/ OpenSocial容器的域,在這種情況下,小工具將呈現在單獨的唯一域上,以防止它從父頁面訪問任何內容。
跨域策略會阻止xhr請求,這就是為什么您需要使用gadgets.io.makeRequest來執行通常使用xhr進行的操作的原因,但是makeRequest需要某種身份驗證(通常為oauth),因為這基本上涉及OpenSocial容器從小工具的服務器(在您的示例中為服務器C和B)。 仍然可以使用不受跨源策略影響的JSONP加載javascript /數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.