MobileFirst 6.3 适配器 IGNORE_COOKIES 策略仍然发送 cookie
MobileFirst 6.3 adapter IGNORE_COOKIES policy still sends cookies
我们正在使用自定义设备供应来向我们的 WebSphere Portal 后端验证设备。
我们将适配器设置为连接为最终用户,并将 cookie 策略设置为 IGNORE_COOKIES。
但出于某种原因,适配器仍然使用共享的 Ltpa 令牌连接到所有设备的后端。
在此状态下,用户尚未在 Worklight Server 中进行身份验证,因此我不确定连接为最终用户选项是否会按预期工作。但是 IGNORE_COOKIES 应该吗?
var input = {
method : 'get',
returnedContentType : 'json',
path : 'DeviceService/DeviceInfo/' + deviceId,
headers : {"Authorization": "Basic " + auth},
parameters : {
token: token
}
};
try {
var result = WL.Server.invokeHttp(input);
return result;
} catch (e) {
WL.Logger.error("ERROR: " + e);
return null;
}
我们的authenticationConfig.xml如下:
<?xml version="1.0" encoding="UTF-8"?><tns:loginConfiguration xmlns:tns="http://www.worklight.com/auth/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- Licensed Materials - Property of IBM
5725-I43 (C) Copyright IBM Corp. 2006, 2013. All Rights Reserved.
US Government Users Restricted Rights - Use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM Corp. -->
<securityTests>
<mobileSecurityTest name="MAPCertLogin">
<testDeviceId provisioningType="custom" realm="MAPLoginRealm"/>
<testAppAuthenticity/>
</mobileSecurityTest>
</securityTests>
<realms>
<realm loginModule="StrongDummy" name="SampleAppRealm">
<className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
</realm>
<realm loginModule="MAPLoginModule" name="MAPLoginRealm">
<className>com.worklight.core.auth.ext.DeviceAutoProvisioningAuthenticator</className>
<parameter name="validate-csr-function" value="Authenticator.validateCSR"/>
</realm>
</realms>
<loginModules>
<loginModule name="StrongDummy">
<className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
</loginModule>
<loginModule name="requireLogin">
<className>com.worklight.core.auth.ext.SingleIdentityLoginModule</className>
</loginModule>
<loginModule name="MAPLoginModule">
<className>com.worklight.core.auth.ext.DeviceAutoProvisioningLoginModule</className>
<parameter name="validate-certificate-function" value="Authenticator.validateCertificate"/>
</loginModule>
</loginModules>
</tns:loginConfiguration>
我无法再确认,但我很确定这在我们的 Worklight 6.2 环境中有效。
ltpa 令牌仍在发送的原因可能是什么?
恕我直言:您不应触及 cookie 政策。
cookie 策略主要用于正确解析从 Worklight 到后端 HTTP 服务器的 cookie,反之亦然。作为副作用,cookie 可能会传回客户端。
Liberty 确实会将传入的 HTTP 请求附加到 LTPA 令牌,但它不应该打扰您的应用程序。它只是添加到响应 cookie 中。 Worklight 服务器将开始验证此 cookie 的唯一情况是在使用 WorklightLTPAAuthenticator 模块时。我没有看到你使用它。
您使用的设备配置依赖于正确的 WWW-authenticate headers 和一些 JSON 响应。
如果您的设备配置有误,您应该检查客户端中处理 CSR 握手的质询处理程序。
已发现此问题的缺陷,并且已为 IBM 客户提供修复程序。有关详细信息,请联系 IBM 支持。
IBM.com/support
我们正在使用自定义设备供应来向我们的 WebSphere Portal 后端验证设备。
我们将适配器设置为连接为最终用户,并将 cookie 策略设置为 IGNORE_COOKIES。
但出于某种原因,适配器仍然使用共享的 Ltpa 令牌连接到所有设备的后端。
在此状态下,用户尚未在 Worklight Server 中进行身份验证,因此我不确定连接为最终用户选项是否会按预期工作。但是 IGNORE_COOKIES 应该吗?
var input = {
method : 'get',
returnedContentType : 'json',
path : 'DeviceService/DeviceInfo/' + deviceId,
headers : {"Authorization": "Basic " + auth},
parameters : {
token: token
}
};
try {
var result = WL.Server.invokeHttp(input);
return result;
} catch (e) {
WL.Logger.error("ERROR: " + e);
return null;
}
我们的authenticationConfig.xml如下:
<?xml version="1.0" encoding="UTF-8"?><tns:loginConfiguration xmlns:tns="http://www.worklight.com/auth/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- Licensed Materials - Property of IBM
5725-I43 (C) Copyright IBM Corp. 2006, 2013. All Rights Reserved.
US Government Users Restricted Rights - Use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM Corp. -->
<securityTests>
<mobileSecurityTest name="MAPCertLogin">
<testDeviceId provisioningType="custom" realm="MAPLoginRealm"/>
<testAppAuthenticity/>
</mobileSecurityTest>
</securityTests>
<realms>
<realm loginModule="StrongDummy" name="SampleAppRealm">
<className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
</realm>
<realm loginModule="MAPLoginModule" name="MAPLoginRealm">
<className>com.worklight.core.auth.ext.DeviceAutoProvisioningAuthenticator</className>
<parameter name="validate-csr-function" value="Authenticator.validateCSR"/>
</realm>
</realms>
<loginModules>
<loginModule name="StrongDummy">
<className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
</loginModule>
<loginModule name="requireLogin">
<className>com.worklight.core.auth.ext.SingleIdentityLoginModule</className>
</loginModule>
<loginModule name="MAPLoginModule">
<className>com.worklight.core.auth.ext.DeviceAutoProvisioningLoginModule</className>
<parameter name="validate-certificate-function" value="Authenticator.validateCertificate"/>
</loginModule>
</loginModules>
</tns:loginConfiguration>
我无法再确认,但我很确定这在我们的 Worklight 6.2 环境中有效。
ltpa 令牌仍在发送的原因可能是什么?
恕我直言:您不应触及 cookie 政策。 cookie 策略主要用于正确解析从 Worklight 到后端 HTTP 服务器的 cookie,反之亦然。作为副作用,cookie 可能会传回客户端。 Liberty 确实会将传入的 HTTP 请求附加到 LTPA 令牌,但它不应该打扰您的应用程序。它只是添加到响应 cookie 中。 Worklight 服务器将开始验证此 cookie 的唯一情况是在使用 WorklightLTPAAuthenticator 模块时。我没有看到你使用它。 您使用的设备配置依赖于正确的 WWW-authenticate headers 和一些 JSON 响应。 如果您的设备配置有误,您应该检查客户端中处理 CSR 握手的质询处理程序。
已发现此问题的缺陷,并且已为 IBM 客户提供修复程序。有关详细信息,请联系 IBM 支持。
IBM.com/support