#cookie #сессия #chrome_extension
Есть расширение для Chrome, которое делает ajax запрос на сайт. На сайте используются
сессии.
Так, вот, в ответе на ajax запрос к сайту, возвращается заголовок Set-Cookie c некоторым
идентификатором сессии и в разделе кук появляется соответсвующая запись. Речь идёт
о DevPanel фоновой страницы расширения.
Но, если посмотреть на куки в DevPanel браузера, то там совсем другой идентификатор
сессии.
Расширению разрешена работа в инкогнито режиме.
В обычном режиме браузера куки (идентификаторы сессии) в DevPanel расширения и браузера
одинаковы.
Я понимаю, что куки для обычного и инкогнито режимов должны быть разными, но почему
для расширения с разрешением работы в инкогнито режиме эти значения различаются?
Получается, что, несмотря на то, что расширению разрешено работать в инкогнито режиме,
он сам работает в обычном режиме?
Ответы
Ответ 1
Для всех, кого интересует данный вопрос. Решение мне подсказали на форуме для обсуждения Google Chrome. В manifest есть ключ "incognito", у которого три значения: "spanning" (по умолчанию), "split" и "not_allowed". Подробнее об этой настройке можете прочитать здесь: https://developer.chrome.com/extensions/manifest/incognito. Решение моего вопроса, заключалось в задание значения "split". При этом значении, для расширения в инкогнито режиме, будет создаваться отдельный процесс. Другими словами, будет два процесса: для обычного и инкогнито режимов. Теперь, запросы в инкогнито режиме выполняются в инкогнито процессе и сессионная кука, получаемая расширением, может использоваться при редиректе на сайт. P.S. Если вы разрабатываете кроссбраузерное расширение, используя WebExtension API, то Firefox до сих пор (на 2017-12-11) поддерживает только "spanning" значение для ключа "incognito".
Комментариев нет:
Отправить комментарий