@alicloud/cookie
Advanced tools
Comparing version 1.6.3-beta.1 to 1.7.0-beta.1
@@ -9,4 +9,5 @@ "use strict"; | ||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); | ||
var _setCookie = _interopRequireDefault(require("./set-cookie")); | ||
var _setCookie2 = require("./set-cookie"); | ||
var _getCookie = _interopRequireDefault(require("./get-cookie")); | ||
var _deleteCookie = _interopRequireDefault(require("./delete-cookie")); | ||
function generateRandomKeyAndValue() { | ||
@@ -37,3 +38,3 @@ var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8; | ||
tempCookieValue = _generateRandomKeyAnd2[1]; | ||
(0, _setCookie.default)(tempCookieKey, tempCookieValue, { | ||
(0, _setCookie2._setCookie)(tempCookieKey, tempCookieValue, { | ||
days: 0, | ||
@@ -43,5 +44,12 @@ // Session Cookie | ||
// 必须 HTTPS | ||
sameSite: 'None' | ||
sameSite: 'None', | ||
partitioned: false | ||
}); | ||
return (0, _getCookie.default)(tempCookieKey) === tempCookieValue; | ||
// 看下能不能写入,可以的话记得清理掉 | ||
var canSet = (0, _getCookie.default)(tempCookieKey) === tempCookieValue; | ||
if (canSet) { | ||
(0, _deleteCookie.default)(tempCookieKey); | ||
} | ||
return canSet; | ||
} |
@@ -13,2 +13,3 @@ "use strict"; | ||
var _getDomain = _interopRequireDefault(require("./get-domain")); | ||
var _shouldUseChips = _interopRequireDefault(require("./should-use-chips")); | ||
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } | ||
@@ -72,8 +73,14 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } | ||
try { | ||
// xxx: 先强行干掉所有分区 Cookie | ||
(0, _deleteCookie.default)(name, _objectSpread(_objectSpread({}, options), {}, { | ||
partitioned: true | ||
})); | ||
// xxx: 先只设置非分区 Cookie | ||
_setCookie(name, value, options); | ||
// 在特定的条件下自动设定 Partitioned Cookie | ||
if ((0, _shouldUseChips.default)()) { | ||
// 先删除非 Partitioned 值,然后再设定 Partitioned 值 | ||
(0, _deleteCookie.default)(name); | ||
_setCookie(name, value, _objectSpread(_objectSpread({}, options), {}, { | ||
partitioned: true | ||
})); | ||
} else { | ||
_setCookie(name, value, _objectSpread(_objectSpread({}, options), {}, { | ||
partitioned: false | ||
})); | ||
} | ||
} catch (e) { | ||
@@ -80,0 +87,0 @@ // 静默处理 |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -8,2 +9,5 @@ value: true | ||
var _const = require("../const"); | ||
var _canSetCookies = _interopRequireDefault(require("./can-set-cookies")); | ||
// 在模块执行之初就先判断能否写 Cookie,避免在写入的时候反复判断 | ||
var canSet = (0, _canSetCookies.default)(); | ||
function isChromeOrEdgeVersionAtLeast(version) { | ||
@@ -30,5 +34,6 @@ var userAgent = window.navigator.userAgent; | ||
// 条件 3:被 iframe 了 | ||
var isIframe = window.top !== window.self; | ||
return supportable && isHttps && isIframe; | ||
// 条件 3:经尝试,无法设置非 Partitioned Cookie | ||
// 而非之前认为的在 iframe 中 | ||
var canNotSet = !canSet; | ||
return supportable && isHttps && canNotSet; | ||
} |
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; | ||
import setCookie from './set-cookie'; | ||
import { _setCookie } from './set-cookie'; | ||
import getCookie from './get-cookie'; | ||
import deleteCookie from './delete-cookie'; | ||
function generateRandomKeyAndValue() { | ||
@@ -29,3 +30,3 @@ var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8; | ||
tempCookieValue = _generateRandomKeyAnd2[1]; | ||
setCookie(tempCookieKey, tempCookieValue, { | ||
_setCookie(tempCookieKey, tempCookieValue, { | ||
days: 0, | ||
@@ -35,5 +36,12 @@ // Session Cookie | ||
// 必须 HTTPS | ||
sameSite: 'None' | ||
sameSite: 'None', | ||
partitioned: false | ||
}); | ||
return getCookie(tempCookieKey) === tempCookieValue; | ||
// 看下能不能写入,可以的话记得清理掉 | ||
var canSet = getCookie(tempCookieKey) === tempCookieValue; | ||
if (canSet) { | ||
deleteCookie(tempCookieKey); | ||
} | ||
return canSet; | ||
} |
@@ -7,2 +7,3 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; | ||
import getDomain from './get-domain'; | ||
import shouldUseChips from './should-use-chips'; | ||
@@ -65,8 +66,14 @@ /** | ||
try { | ||
// xxx: 先强行干掉所有分区 Cookie | ||
deleteCookie(name, _objectSpread(_objectSpread({}, options), {}, { | ||
partitioned: true | ||
})); | ||
// xxx: 先只设置非分区 Cookie | ||
_setCookie(name, value, options); | ||
// 在特定的条件下自动设定 Partitioned Cookie | ||
if (shouldUseChips()) { | ||
// 先删除非 Partitioned 值,然后再设定 Partitioned 值 | ||
deleteCookie(name); | ||
_setCookie(name, value, _objectSpread(_objectSpread({}, options), {}, { | ||
partitioned: true | ||
})); | ||
} else { | ||
_setCookie(name, value, _objectSpread(_objectSpread({}, options), {}, { | ||
partitioned: false | ||
})); | ||
} | ||
} catch (e) { | ||
@@ -73,0 +80,0 @@ // 静默处理 |
import { LOWEST_VERSION_THAT_SUPPORTS_CHIPS } from '../const'; | ||
import canSetCookies from './can-set-cookies'; | ||
// 在模块执行之初就先判断能否写 Cookie,避免在写入的时候反复判断 | ||
var canSet = canSetCookies(); | ||
function isChromeOrEdgeVersionAtLeast(version) { | ||
@@ -23,5 +27,6 @@ var userAgent = window.navigator.userAgent; | ||
// 条件 3:被 iframe 了 | ||
var isIframe = window.top !== window.self; | ||
return supportable && isHttps && isIframe; | ||
// 条件 3:经尝试,无法设置非 Partitioned Cookie | ||
// 而非之前认为的在 iframe 中 | ||
var canNotSet = !canSet; | ||
return supportable && isHttps && canNotSet; | ||
} |
{ | ||
"name": "@alicloud/cookie", | ||
"version": "1.6.3-beta.1", | ||
"version": "1.7.0-beta.1", | ||
"description": "ConsoleBase Cookie", | ||
@@ -38,3 +38,4 @@ "license": "MIT", | ||
}, | ||
"gitHead": "e3daf0b177915f37e8beae4ecee204d8c62f9507" | ||
} | ||
"gitHead": "e3daf0b177915f37e8beae4ecee204d8c62f9507", | ||
"repository": "git@gitlab.alibaba-inc.com:aliyun/console-base.git" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
38918
592
0