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

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