Android Zebra/WebView удаляет файлы cookie сеанса после входа в систему AJAX через HTTP во внутренней сети, работает в нAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android Zebra/WebView удаляет файлы cookie сеанса после входа в систему AJAX через HTTP во внутренней сети, работает в н

Сообщение Anonymous »

Я запускаю веб-приложение на IP-адресе интрасети через обычный HTTP и наблюдаю несогласованное поведение при входе в систему на КПК Zebra с использованием встроенного браузера Android или WebView. Браузеры для настольных компьютеров работают надежно.
Вход осуществляется через AJAX. Сервер возвращает успех и устанавливает файл cookie сеанса, затем клиент перенаправляется на /dashboard.

Код: Выделить всё

$.ajax({
url: "/login/login",
type: "POST",
data: $("#quickForm").serialize(),
dataType: "json",
success: function (data) {
if (data.status) window.location.href = "/dashboard";
}
});
Ответ на вход включает заголовок Set-Cookie. В настольных браузерах файл cookie всегда сохраняется, и перенаправление работает. На устройстве Zebra перенаправление иногда удается, но сеанс в /dashboard отсутствует, как будто файл cookie никогда не сохранялся. Повторная попытка одного и того же входа часто работает без изменений, поэтому кажется, что это зависит от времени или платформы, а не является логической ошибкой.
Доступ к приложению осуществляется через IP-адрес интрасети, например:

Код: Выделить всё

http://10.246.142.20/LPM/
Файл cookie сеанса имеет следующие атрибуты:

Код: Выделить всё

Set-Cookie: ci_session=...; Path=/; HttpOnly; SameSite=None
или иногда:

Код: Выделить всё

Set-Cookie: ci_session=...; Path=/; HttpOnly; SameSite=Lax
На устройстве нет ошибок JavaScript.
Известны ли случаи, когда встроенные браузеры Android или WebView игнорируют или задерживают заголовки Set-Cookie из ответов AJAX для источников, отличных от HTTPS, из-за правил SameSite или Secure, и как правильно настроить файлы cookie сеанса, чтобы обеспечить надежный вход AJAX как в браузерах настольных компьютеров, так и во встроенных браузерах Android?
Это файл cookie сеанса платформы PHP, и При необходимости я могу изменить атрибуты файлов cookie.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ranet-http
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»