Файлы cookie иногда не отправляются после перенаправления в мобильном Chrome - PullRequest
0 голосов
/ 07 мая 2020

У меня проблема с моим браузером на основе Spring-Boot, веб-приложением и мобильным браузером, которые очень странно ведут себя при выборе ссылки в Gmail.

Действительный поток, который работает на большинстве устройств и браузеров (на iOS, Android, OSX и т. Д. c.):

  1. Пользователь нажимает на ссылку в приложении Gmail.
  2. Пользователь спрашивает, в каком браузере должна открываться ссылка, выбирает Chrome.
  3. GET /path-01 - результаты с 302 на /path-02 и Set-Cookie заголовок с JSESSIONID=01.
  4. GET /path-02 - результат 200 и сеанс с ID 01 восстанавливается.

Недействительный поток, который появляется иногда на iOS 13 с Chrome версией: 81.0.4044.124 и предположительно в браузере Safari и даже на Android с браузером Chrome (к сожалению, мне не удалось определить версии ни для одного из них) :

  1. Пользователь нажимает ссылку в приложении Gmail.
  2. Пользователя спрашивают, в каком браузере следует открыть ссылку, выбирается Chrome.
  3. GET /path-01 - результаты с 302 до /path-02 и Set-Cookie с заголовком JSESSIONID=01.
  4. GET /path-01 - результаты с 302 до /path-02 и Set-Cookie заголовок с JSESSIONID=02.
  5. GET /path-02 - приводит к заголовку 200 и Set-Cookie с JSESSIONID=03, потому что по запросу не было отправлено файлов cookie.
  6. GET /path-02 - приводит к 200 и Set-Cookie заголовок с JSESSIONID=04, потому что по запросу не было отправлено никаких файлов cookie. значение в сеансе, которого нет с момента создания нового. Неверный поток появляется только , иногда , что тоже расстраивает. До сих пор я не нашел какой-либо связи с тем, почему это так.

    Я также экспериментировал с атрибутом SameSite, установленным для каждого из возможных значений, и в любом случае иногда появляется недопустимый поток для каждой из этих настроек.

    Также стоит отметить, что после нажатия на ссылку в Gmail пользователь перенаправляется через https://www.google.com/url?q=https://example.com/path-01&source=gmail&ust=1588944764533000&usg=AFQoCNECXqm1HdH9o66Iu1wD_VnOPE6Q6p.

    Обновление Проблема возникает, когда есть другая карточка с уже открытым URL-адресом того же сайта, но с другим путем. Затем, когда пользователь нажимает ссылку в Gmail, открывается браузер, и карта в фоновом режиме также кажется go на тот же URL-адрес, на который переходит второй, и, кроме того, для обоих этих запросов файлы cookie не отправляются. Проблема может быть воспроизведена только в iOS, в браузерах Chrome и Safari.

...