Почтальон не использует cookie

Я использую Postman в своей разработке приложений в течение некоторого времени и никогда не имел никаких проблем. Обычно я использую его с Google Chrome, когда я отлаживаю код API ASP.NET.

Примерно через месяц у меня возникли проблемы, когда почтальон, похоже, не отправил файл cookie, который был опубликован моим сайтом.

Через Fiddler я проверяю вызов, который я делаю в своем API, и вижу, что почтальон НЕ отправляет файл cookie, выпущенный моим API-приложением. Он отправляет другие файлы cookie, но не тот, который он должен отправить - см. Ниже:

введите описание изображения здесь

В разделе "Cookies" я вижу файл cookie, который я выдаю i.e. .AspNetCore.mysite_cookie - см. ниже:

введите описание изображения здесь

Любая идея, почему это может происходить?

P.S. Я думаю, что эта проблема началась после того, как я внесла некоторые изменения в свой код, чтобы назвать мой файл cookie. В моем приложении API используется социальная аутентификация, и я решил назвать оба файла cookie, то есть тот, который я получаю от Facebook/Google/LinkedIn, как только пользователь будет аутентифицирован, и тот, который я выдаю аутентифицированным пользователям. Я называю cookie, который я получаю из социальных сайтов social_auth_cookie, и тот, который я выдаю, называется mysite_cookie. Я думаю, что это имеет какое-то отношение к этой проблеме, которую я испытываю.

Ответы

Ответ 1

Куки файлы, о которых идет речь, не могут быть отправлены по электронной почте по HTTP-соединению, поскольку установлен защищенный атрибут.

По какой-то причине mysite_cookie имеет свой безопасный атрибут, отличный от social_auth_cookie, либо потому, что вы его устанавливаете в коде...

var cookie = new HttpCookie("mysite_cookie", cookieValue);
cookie.Secure = true;

... или потому, что служба настроена для автоматического ее установки, например. с чем-то вроде этого в web.config:

<httpCookies httpOnlyCookies="true" requireSSL="true"/>

Флаг также может быть установлен сетевым устройством (например, устройством разгрузки SSL) в рабочей среде. Но это не очень вероятно в вашей среде разработки.

Я предлагаю вам попробовать такую ​​же базу кода, но через соединение https. Если вы работаете над кодом, который влияет на механизмы аутентификации, вы действительно действительно должны настроить среду разработки с помощью SSL, иначе вы будете пропускать множество ошибок, и вы не сможете выполнить какое-либо значимое тестирование пера или сканирование приложения для потенциальных угроз.

Ответ 2

Я недавно сталкивался с этой проблемой с ASP.NET core 2.0. ASP.NET Core 1.1, похоже, работает очень хорошо, и файлы cookie устанавливаются в Postman

Ответ 3

От того, что вы описали, похоже, почтальон не подбирает куки файл, который вам нужен, потому что он не распознает имя файла cookie или он все еще указывает на использование старого файла cookie,

Что вы можете попробовать:

  • Отмените все изменения имени и посмотрите, работает ли он (просто чтобы добраться до корня проблемы)

  • Переименуйте один файл cookie и посмотрите, все ли он работает, затем перейдите к другому.

Я надеюсь, что отладка таким образом приведет вас к первопричине проблемы.

Ответ 4

Вам не нужно беспокоиться о файлах cookie, если они есть в вашем браузере.

Вы можете использовать файлы cookie браузера, установив расширение Postman Interceptor (левая сторона кнопки "In Sync" ).

Postman Interceptor