I am using built in ASP.NET Core CookieConsent feature with no modification:
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);
}
With client-side 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>
When deployed to production, behaves randomly: sometimes cookie gets proper name, sometimes cookie gets undefined. After some investigations, data-cookie-string=".AspNet.Consent=yes; expires=Sat, 10 Oct 2020 09:56:49 GMT; path=/; secure; samesite=lax"> is always same (except changing date), issue seems to be with document.cookie command.
Browser (Google Chrome latest version) stores cookie with empty name and value undefined.
Does somebody experienced such behaviour? Thanks