У меня проблема с моим браузером на основе Spring-Boot, веб-приложением и мобильным браузером, которые очень странно ведут себя при выборе ссылки в Gmail.
Действительный поток, который работает на большинстве устройств и браузеров (на iOS, Android, OSX и т. Д. c.):
- Пользователь нажимает на ссылку в приложении Gmail.
- Пользователь спрашивает, в каком браузере должна открываться ссылка, выбирает Chrome.
GET /path-01
- результаты с 302
на /path-02
и Set-Cookie
заголовок с JSESSIONID=01
. GET /path-02
- результат 200
и сеанс с ID 01
восстанавливается.
Недействительный поток, который появляется иногда на iOS 13 с Chrome версией: 81.0.4044.124
и предположительно в браузере Safari и даже на Android с браузером Chrome (к сожалению, мне не удалось определить версии ни для одного из них) :
- Пользователь нажимает ссылку в приложении Gmail.
- Пользователя спрашивают, в каком браузере следует открыть ссылку, выбирается Chrome.
GET /path-01
- результаты с 302
до /path-02
и Set-Cookie
с заголовком JSESSIONID=01
. GET /path-01
- результаты с 302
до /path-02
и Set-Cookie
заголовок с JSESSIONID=02
. GET /path-02
- приводит к заголовку 200
и Set-Cookie
с JSESSIONID=03
, потому что по запросу не было отправлено файлов cookie. 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.