diff --git a/vendor/magento/module-cookie/view/base/web/js/jquery.storageapi.extended.js b/vendor/magento/module-cookie/view/base/web/js/jquery.storageapi.extended.js index dfbd70f477a6..c16586652264 100644 --- a/vendor/magento/module-cookie/view/base/web/js/jquery.storageapi.extended.js +++ b/vendor/magento/module-cookie/view/base/web/js/jquery.storageapi.extended.js @@ -16,9 +16,11 @@ define([ * @private */ function _extend(storage) { + var cookiesConfig = window.cookiesConfig || {}; + $.extend(storage, { - _secure: window.cookiesConfig ? window.cookiesConfig.secure : false, - _samesite: window.cookiesConfig ? window.cookiesConfig.samesite : 'lax', + _secure: !!cookiesConfig.secure, + _samesite: cookiesConfig.samesite ? cookiesConfig.samesite : 'lax', /** * Set value under name diff --git a/lib/web/jquery/jquery.cookie.js b/lib/web/jquery/jquery.cookie.js index 973e8ad9b792..654b4619fdb4 100644 --- a/lib/web/jquery/jquery.cookie.js +++ b/lib/web/jquery/jquery.cookie.js @@ -47,7 +47,7 @@ options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : '', - options.samesite ? '; samesite=' + options.samesite : 'lax', + '; samesite=' + (options.samesite ? options.samesite : 'lax'), ].join('')); } diff --git a/lib/web/mage/adminhtml/tools.js b/lib/web/mage/adminhtml/tools.js index 27f6efcfc587..12fe88bb171a 100644 --- a/lib/web/mage/adminhtml/tools.js +++ b/lib/web/mage/adminhtml/tools.js @@ -267,7 +267,7 @@ var Cookie = { return null; }, - write: function (cookieName, cookieValue, cookieLifeTime) { + write: function (cookieName, cookieValue, cookieLifeTime, samesite) { var expires = ''; if (cookieLifeTime) { @@ -278,7 +278,9 @@ var Cookie = { } var urlPath = '/' + BASE_URL.split('/').slice(3).join('/'); // Get relative path - document.cookie = escape(cookieName) + '=' + escape(cookieValue) + expires + '; path=' + urlPath; + samesite = '; samesite=' + (samesite ? samesite : 'lax'); + + document.cookie = escape(cookieName) + '=' + escape(cookieValue) + expires + '; path=' + urlPath + samesite; }, clear: function (cookieName) { this.write(cookieName, '', -1); diff --git a/lib/web/mage/cookies.js b/lib/web/mage/cookies.js index 317c39609608..3e42ff9c404c 100644 --- a/lib/web/mage/cookies.js +++ b/lib/web/mage/cookies.js @@ -76,7 +76,7 @@ define([ (path ? '; path=' + path : '') + (domain ? '; domain=' + domain : '') + (secure ? '; secure' : '') + - (samesite ? '; samesite=' + samesite : 'lax'); + '; samesite=' + (samesite ? samesite : 'lax'); }; /**