Я хочу удалить данные аутентификации, полученные в заголовке запроса, как только процедура аутентификации завершится. Это делается для снижения рисков безопасности, связанных с расширенным раскрытием таких данных.
Существует способ удалить заголовок запроса:
HttpContext.Request.Headers.Remove("Authorization");
Однако у меня есть опасения относительно того, удаляет ли он и когда он действительно удаляется. данные. Боюсь, что поскольку заголовок в ASP. NET Core представлен типом StringValues
и единственно возможными способами его заполнения ( конструкторы , Добавить , Вставка ), похоже, предполагает использование строк, тогда все ставки отменены: невозможно определить, когда G C решит очистить эти строки (содержащие конфиденциальные данные) и сколько копий строки будут оставлены в ОЗУ в результате перемещения во время дефрагментации памяти.
Итак, вопрос таков: «Есть ли надежный способ удалить / обнулить данные аутентификации, которые были переданы в заголовке запроса? в ASP. NET Core или это невозможно по причинам, указанным выше? "