У нас есть приложение worklight с безопасностью приложения, определенной в application-descriptor.xml
. У нас есть обработчик вызовов, который справится с проблемами. В функции wlCommonInit()
мы вызываем функцию WL.Client.Connect()
, которая, в свою очередь, запускает обработчик вызова. Пользователь может ввести идентификатор пользователя / пароль и успешно пройти аутентификацию. Все хорошо до сих пор.
В обработчике вызовов после успешной аутентификации мы вызываем метод ChallengeHandler.submitSuccess()
, чтобы сообщить worklight об успешной аутентификации.
Этот вызов должен привести к WL.client.connect() onSuccess
функции обратного вызова, но вместо этого он делает много запросов к URL ../App/iphone/init
и возвращается с 401. В конце концов, через 1-2 минуты он получает HTTP 200 для конкретного запроса и затем входит в onSuccess()
.
Есть идеи, почему так много запросов, которые приводят к 401?
Ниже приведен фрагмент кода в main.js ...
WL.Client.connect({
onSuccess : callbackOnSuccess,
onFailure : callbackOnFailure
});
в ChallengeHandler.js ..
$('#loginButton').bind('click', function () {
var reqURL = '/j_security_check';
var options = {};
options.parameters = {
j_username : $('#username').val(),
j_password : $('#password').val()
};
options.headers = {};
ChallengeHandler.submitLoginForm(reqURL, options, ChallengeHandler.submitLoginFormCallback);
});
ChallengeHandler.submitLoginFormCallback = function(response) {
WASLTPARealmChallengeHandler.submitSuccess();
};