Мы используем настраиваемую подготовку устройств для аутентификации устройств в нашем серверном модуле WebSphere Portal.
Наш адаптер настроен на подключение в качестве конечного пользователя, а политика файлов cookie — на IGNORE_COOKIES.
Но по какой-то причине адаптер по-прежнему использует общий токен Ltpa для подключения к серверной части для всех устройств.
В этом состоянии пользователь еще НЕ аутентифицирован на сервере Worklight, поэтому я не уверен, будет ли параметр подключения от имени конечного пользователя работать должным образом. А 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 все еще отправляется?