2013-11-04 50 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,并且它不再有效。谢谢! –