Как исправить предупреждение "Cookie 'cookie_name' will be rejected soon ...", которое я получаю после удаления cookie?

Firefox выбрасывает следующее предупреждение после удаления действительного cookie:

Куки "cookie_name" будет вскоре отклонена, потому что у нее атрибут "SameSite" установлен на "None" или недопустимое значение, без атрибута "secure". Чтобы узнать больше об атрибуте "SameSite", прочитайте https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite

.

Сценарий

<

После правильного входа в систему я отправляю cookie на frontend. Этот файл cookie может быть использован во время моей сессии без каких-либо проблем или предупреждений. Консоль разработки также показывает мне ожидаемые значения: и Firefox - Storage/Cookies/Details.

В процессе выхода из системы установленный файл cookie удаляется установкой max-age=0 или expire=<date_in_past>. Браузер удаляет cookie немедленно, как и ожидалось, но я также получаю предупреждение, упомянутое выше. Неважно, удаляю ли я cookie в бэкенде или фронтенде - сообщение всегда будет показано.

Код

Set Cookie - Backend (django):

class Login():
    def post(self, request):
        ...
        response = Response(status=status.HTTP_200_OK, ...)
        response.set_cookie("cookie_name", value, max_age=60*60*5, secure=True, httponly=False, samesite='strict')
        return response

Remove Cookie - Frontend: (предпочтительный способ для этой cookie в моем сценарии до сих пор)

function removeItem(key, path, domain) {
    ...
    document.cookie =
      encodeURIComponent(key) +
      //      "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" +
      "=; max-age=0" +
      (domain ? "; domain=" + domain : "") +
      (path ? "; path=" + path : "");
    return true;
  },
}

Удаление Cookie - Backend (django): (перечислено только для полноты; приводит к тому же предупреждению)

class Logout():
    def post(self, request):
        ...
        response = Response(status=status.HTTP_200_OK, ...)
        response.delete_cookie("cookie_name")
        return response

Есть ли лучший способ удаления cookies, который не приводит к предупреждению?

Нужно добавить атрибуты samesite/secure cookie при установке cookie, иначе браузер может его отклонить.

Вернуться на верх