Я использую встроенную функцию ASP.NET Core CookieConsent без изменений:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
С клиентским JavaScript:
<script>
(function () {
document.querySelector("#cookieConsent button[data-cookie-string]").addEventListener("click", function (el) {
document.cookie = el.target.dataset.cookieString;
document.querySelector("#cookieConsent").classList.add("hidden");
}, false);
})();
</script>
При развертывании в производство ведет себя случайным образом:иногда cookie получает правильное имя, иногда cookie становится неопределенным. После некоторых исследований data-cookie-string=".AspNet.Consent=yes; expires=Sat, 10 Oct 2020 09:56:49 GMT; path=/; secure; samesite=lax">
всегда одинаков (за исключением даты изменения), проблема, похоже, связана с командой document.cookie.
Браузер (последняя версия Google Chrome) сохраняет cookie с пустым именем и значением undefined.
Кто-нибудь испытывал такое поведение? Спасибо