2013-11-04 97 views
0

我正在使用Worklight 6.0,在這種情況下使用iOS7進行測試。Worklight saml 2.0 SSO

我試圖用Worklight安裝saml 2.0 SSO,我似乎成功了,但我不知道它是如何工作的...起初,我有我的應用嘗試訪問我的網址,如下所示:

WLJQ.ajax({ 
    url: 'url.com', 
    type: 'GET', 
    xhrFields: { 
     withCredentials: true 
    }, 
    success: function(data, status, xhr) { 
     console.log(data); 
    }, 
    error: function(result) { 
     console.log("error"); 
     console.log(result); 
    } 
}); 

的請求到達成功並返回我的登錄頁面,因爲我還沒有驗證是正確的URL,但它不顯示登錄(如我意)。

接下來,我單擊一個按鈕以顯示作爲url.com的UIWebView的本機頁面(iOS)。這將顯示登錄頁面:

WL.NativePage.show('LoginController', backFromNativeLoginPage, params); 

我成功登錄並查看我期望的url.com的內容。然後,我通過返回到非本機應用程序:

[NativePage showWebView:0]; 

現在,我回到了非本地代碼,我給上面相同的請求,我希望它不返回URL的內容.com,而是登錄頁面,因爲我的請求沒有附加頭文件,我認爲非本機代碼不應該有任何關於我可能在UIWebView中製作的cookie的知識。

我的問題是這樣的工作?我的worklight的非本地部分是否具有在本機代碼的UIWebView中創建的所有Cookie的知識?

回答

0

讓我先說我的回答開始部分採用了猜測,但我認爲這是發生了什麼:

因爲你的本地網頁使用網頁視圖和科爾多瓦也是採用的WebView,任何頭和cookie從cookies are shared across differet UIWebViews開始從本地返回時,您的本地頁面正在使用的內容將會顯示。

如果您的本地頁面正在使用本機URL請求方法或某些第三方/開源機制連接到您的後端服務器,那麼我認爲您的非本地頁面將無法看到標題和Cookie 。

+0

這似乎是這種情況!在返回到我的非本地代碼之前,我刪除了所有的Cookie,並且它不再有效。謝謝! –