Worklight saml 2.0 SSO

时间:2013-11-04 22:18:56

标签: single-sign-on ibm-mobilefirst saml-2.0

我正在使用Worklight 6.0,在这种情况下使用iOS7进行测试。

我正在尝试使用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,这是正确的,因为我还没有进行身份验证,但它没有显示登录(正如我的意图)。

接下来,我单击一个按钮以显示本地页面(iOS),它是url.com的UIWebView。这将通过以下方式显示登录页面:

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

我成功登录并查看了我期望的url.com内容。然后我通过以下方式返回非原生应用程序:

[NativePage showWebView:0];

现在我回到了非本机代码中,我发送了相同的请求,我希望它不会返回url.com的内容,而是返回登录页面,因为我没有附加到我的头文件请求,我认为非本机代码不应该知道我在UIWebView中所做的cookie。

我的问题是这是如何工作的?我的非本机部分工作灯是否了解在本机代码的UIWebView中创建的所有cookie?

1 个答案:

答案 0 :(得分:0)

首先我要说的是,我的回答部分基于猜测,但我认为这是发生的事情:

由于您的Native页面使用的是WebView,而Cordova也在使用WebView,因此从cookies are shared across differet UIWebViews开始从本机返回时,您的Native页面正在使用的任何标题和Cookie都会显示。

如果您的本机页面使用本机URL请求方法或某些第三方/开源机制来连接到您的后端服务器,那么我认为您的非本机页面将无法看到标头和cookie。