Как добавить флаг HttpOnly в существующий заголовок ответа Set-Cookie с помощью пользовательского интерфейса Angular и .NET framework WebApi

У меня есть приложение с Angular в качестве интерфейса и .net framework 4.7 C # web api в качестве серверной части. Он размещен в IIS 10. Теперь наш клиент хочет добавить флаг HttpOnly в Set-Cookie в заголовке ответа. Когда я проверяю заголовок ответа в инструментах Chrome Dev, я мог видеть следующий файл cookie:

Set-Cookie: NSC_mcwt_updpnqfuf-quf _________ Jou_ = ffffffff09ee746d45525d5f4f58455e445a4a423660; expires = Fri, 15-Nov-2019 06:52:47 GMT; path = /; secure

Теперь я хочу добавить флаг «HttpOnly» в существующий файл cookie. Поэтому я пытаюсь добавить cookie с помощью модуля Rewrite в файле web.config, и он создает новый Set-Cookie с флагом HttpOnly. Но я просто хочу добавить в существующий заголовок Set-Cookie.

Нужно ли мне что-либо менять в файле Web.Config, чтобы добавить флаг HttpOnly или внести какие-либо изменения в пользовательский интерфейс angular?


person Arun vv    schedule 15.11.2019    source источник


Ответы (1)


Насколько мне известно, вы можете попытаться изменить файл web.config в своем приложении IIS, включив флаг HttpOnly в IIS для достижения ваших требований.

Отредактируйте файл web.config своего веб-приложения и добавьте следующее:

<system.web>
  ...
  <httpCookies httpOnlyCookies="true" requireSSL="true" />
  ...
</system.web>
person Brando Zhang    schedule 18.11.2019
comment
Спасибо за обновление .. Я уже это сделал. Но он не обновляет существующие файлы cookie, указанные выше. Итак, я использовал модуль перезаписи iis .. Но он создает новый Set-Cookie вместо существующего. - person Arun vv; 18.11.2019
comment
‹Rewrite› ‹outboundRules› ‹имя правила = Добавить HttpOnly› ‹match serverVariable = RESPONSE_Set_Cookie pattern =. * /› ‹Conditions› ‹добавить input = {R: 0} pattern =; HttpOnly negate = true / ›‹/conditions›‹ тип действия = Перезаписать значение = {R: 0}; HttpOnly / ›‹/rule› ‹/outboundRules› ‹/rewrite› - person Arun vv; 18.11.2019
comment
Короткий ответ: НЕТ, мы не могли этого сделать. Согласно разделу 3.3.4 RFC 2965, пользовательский агент не включает информацию об истечении срока действия. в заголовке cookie, который отправляется на сервер. Следовательно, невозможно обновить значение существующего файла cookie, сохранив при этом дату истечения срока действия, которая была изначально установлена ​​исключительно на основе информации, связанной с файлом cookie. - person Brando Zhang; 20.11.2019