login-authorization-v2 2.0.0-beta.1 → 2.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +45 -47
  2. package/dist/index.d.ts +14 -4
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.esm.js +405 -497
  5. package/dist/index.umd.js +424 -537
  6. package/dist/src/request.d.ts.map +1 -1
  7. package/package.json +29 -25
  8. package/babel.config.js +0 -6
  9. package/coverage/clover.xml +0 -140
  10. package/coverage/coverage-final.json +0 -8
  11. package/coverage/lcov-report/base.css +0 -224
  12. package/coverage/lcov-report/block-navigation.js +0 -87
  13. package/coverage/lcov-report/common-authorization-v2/index.html +0 -116
  14. package/coverage/lcov-report/common-authorization-v2/index.ts.html +0 -547
  15. package/coverage/lcov-report/common-authorization-v2/src/compatible.ts.html +0 -223
  16. package/coverage/lcov-report/common-authorization-v2/src/constance.ts.html +0 -106
  17. package/coverage/lcov-report/common-authorization-v2/src/cookie.ts.html +0 -346
  18. package/coverage/lcov-report/common-authorization-v2/src/dom.ts.html +0 -262
  19. package/coverage/lcov-report/common-authorization-v2/src/index.html +0 -206
  20. package/coverage/lcov-report/common-authorization-v2/src/request.ts.html +0 -361
  21. package/coverage/lcov-report/common-authorization-v2/src/shares.ts.html +0 -163
  22. package/coverage/lcov-report/common-authorization-v2/src/types.ts.html +0 -412
  23. package/coverage/lcov-report/common-authorization-v2/src/utils.ts.html +0 -145
  24. package/coverage/lcov-report/compatible.ts.html +0 -223
  25. package/coverage/lcov-report/constance.ts.html +0 -106
  26. package/coverage/lcov-report/cookie.ts.html +0 -310
  27. package/coverage/lcov-report/dom.ts.html +0 -262
  28. package/coverage/lcov-report/favicon.png +0 -0
  29. package/coverage/lcov-report/index.html +0 -206
  30. package/coverage/lcov-report/prettify.css +0 -1
  31. package/coverage/lcov-report/prettify.js +0 -2
  32. package/coverage/lcov-report/shares.ts.html +0 -163
  33. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  34. package/coverage/lcov-report/sorter.js +0 -210
  35. package/coverage/lcov-report/types.ts.html +0 -412
  36. package/coverage/lcov-report/utils.ts.html +0 -145
  37. package/coverage/lcov.info +0 -268
  38. package/dist/compatible.d.ts +0 -10
  39. package/dist/compatible.d.ts.map +0 -1
  40. package/dist/constance.d.ts +0 -6
  41. package/dist/constance.d.ts.map +0 -1
  42. package/dist/cookie.d.ts +0 -8
  43. package/dist/cookie.d.ts.map +0 -1
  44. package/dist/dom.d.ts +0 -2
  45. package/dist/dom.d.ts.map +0 -1
  46. package/dist/index.js.LICENSE.txt +0 -1
  47. package/dist/request.d.ts +0 -36
  48. package/dist/request.d.ts.map +0 -1
  49. package/dist/shares.d.ts +0 -10
  50. package/dist/shares.d.ts.map +0 -1
  51. package/dist/test/cookie.test.d.ts +0 -2
  52. package/dist/test/cookie.test.d.ts.map +0 -1
  53. package/dist/test/shares.test.d.ts +0 -2
  54. package/dist/test/shares.test.d.ts.map +0 -1
  55. package/dist/types.d.ts +0 -89
  56. package/dist/types.d.ts.map +0 -1
  57. package/dist/utils.d.ts +0 -2
  58. package/dist/utils.d.ts.map +0 -1
  59. package/index.html +0 -28
  60. package/index.ts +0 -154
  61. package/jest.config.js +0 -6
  62. package/src/compatible.ts +0 -46
  63. package/src/constance.ts +0 -7
  64. package/src/cookie.ts +0 -75
  65. package/src/dom.ts +0 -59
  66. package/src/request.ts +0 -99
  67. package/src/shares.ts +0 -26
  68. package/src/types.ts +0 -109
  69. package/src/utils.ts +0 -20
  70. package/tests/compatible.test.ts +0 -420
  71. package/tests/cookie.test.ts +0 -78
  72. package/tests/dom.test.ts +0 -95
  73. package/tests/index.test.ts +0 -126
  74. package/tests/shares.test.ts +0 -52
  75. package/tests/utils.test.ts +0 -79
  76. package/tsconfig.json +0 -49
  77. package/webpack.config.mjs +0 -47
package/dist/index.esm.js CHANGED
@@ -1,498 +1,406 @@
1
- /*
2
- * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
3
- * This devtool is neither made for production nor for readable output files.
4
- * It uses "eval()" calls to create a separate source file in the browser devtools.
5
- * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
6
- * or disable the default devtool with "devtool: false".
7
- * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
1
+ import Cookie from 'js-cookie';
2
+ import { Base64 } from 'js-base64';
3
+ import axios from 'axios';
4
+
5
+ /******************************************************************************
6
+ Copyright (c) Microsoft Corporation.
7
+
8
+ Permission to use, copy, modify, and/or distribute this software for any
9
+ purpose with or without fee is hereby granted.
10
+
11
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
12
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
14
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
16
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17
+ PERFORMANCE OF THIS SOFTWARE.
18
+ ***************************************************************************** */
19
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
20
+
21
+
22
+ function __awaiter(thisArg, _arguments, P, generator) {
23
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24
+ return new (P || (P = Promise))(function (resolve, reject) {
25
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
26
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
27
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
28
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
29
+ });
30
+ }
31
+
32
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
33
+ var e = new Error(message);
34
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
35
+ };
36
+
37
+ const NO_ACCESS_TOKEN = 'Access token not found';
38
+ const INVALID_ACCESS_TOKEN = 'Invalid access token';
39
+ const INVALID_REFRESH_TOKEN = 'Invalid refresh token';
40
+ const NO_REFRESH_TOKEN = 'Refresh token not found';
41
+ const NO_MODULE_BASE_URL = 'Module base URL is required';
42
+ const INVALID_TENANT_ID = 'Invalid tenant ID';
43
+ const INVALID_BRAND = 'Invalid brand';
44
+
45
+ const makeSetCookieFn = (key, options) => {
46
+ const index = window.location.hostname.indexOf('.');
47
+ const domain = index === -1
48
+ ? window.location.hostname
49
+ : window.location.hostname.slice(index);
50
+ return (value) => {
51
+ if (value === null) {
52
+ return Cookie.remove(key, Object.assign({ domain }, options));
53
+ }
54
+ Cookie.set(key, value, Object.assign({ domain, expires: 30 }, options));
55
+ };
56
+ };
57
+ const setIdTokenFront = makeSetCookieFn('idTokenFront');
58
+ const setIdTokenBack = makeSetCookieFn('idTokenBack');
59
+ const setRefreshTokenFront = makeSetCookieFn('refreshTokenFront');
60
+ const setRefreshTokenBack = makeSetCookieFn('refreshTokenBack');
61
+ const setRefreshToken = (token) => {
62
+ if (!token) {
63
+ setIdTokenBack(null);
64
+ setIdTokenFront(null);
65
+ makeSetCookieFn('refresh_token')(null);
66
+ return;
67
+ }
68
+ const splits = token.split('.');
69
+ if (splits.length < 5)
70
+ throw new Error(INVALID_REFRESH_TOKEN);
71
+ const refreshTokenFront = splits[0] + '.' + splits[1];
72
+ const refreshTokenBack = splits[2] + '.' + splits[3] + '.' + splits[4];
73
+ setRefreshTokenFront(refreshTokenFront);
74
+ setRefreshTokenBack(refreshTokenBack);
75
+ makeSetCookieFn('refresh_token')(token);
76
+ };
77
+ const setAccessToken = (token) => {
78
+ if (!token) {
79
+ setIdTokenBack(null);
80
+ setIdTokenFront(null);
81
+ makeSetCookieFn('access_token')(null);
82
+ return;
83
+ }
84
+ const splits = token.split('.');
85
+ if (splits.length < 3)
86
+ throw new Error(INVALID_ACCESS_TOKEN);
87
+ const idTokenFront = splits[0] + '.' + splits[1];
88
+ const idTokenBack = splits[2] || '';
89
+ setIdTokenFront(idTokenFront);
90
+ setIdTokenBack(idTokenBack);
91
+ makeSetCookieFn('access_token')(token);
92
+ };
93
+ const getAccessToken = () => Cookie.get('access_token');
94
+ const getRefreshToken = () => Cookie.get('refresh_token');
95
+ const setSystemType = makeSetCookieFn('currentSystemType');
96
+ const getSystemType = () => Cookie.get('currentSystemType');
97
+
98
+ /**
99
+ * 这个文件是写一些兼容的方法,避免各个项目做出大量调整
8
100
  */
9
- /******/ var __webpack_modules__ = ({
10
-
11
- /***/ "./node_modules/axios/index.js":
12
- /*!*************************************!*\
13
- !*** ./node_modules/axios/index.js ***!
14
- \*************************************/
15
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
16
-
17
- eval("module.exports = __webpack_require__(/*! ./lib/axios */ \"./node_modules/axios/lib/axios.js\");\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/index.js?");
18
-
19
- /***/ }),
20
-
21
- /***/ "./node_modules/axios/lib/adapters/xhr.js":
22
- /*!************************************************!*\
23
- !*** ./node_modules/axios/lib/adapters/xhr.js ***!
24
- \************************************************/
25
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
26
-
27
- eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar settle = __webpack_require__(/*! ./../core/settle */ \"./node_modules/axios/lib/core/settle.js\");\nvar cookies = __webpack_require__(/*! ./../helpers/cookies */ \"./node_modules/axios/lib/helpers/cookies.js\");\nvar buildURL = __webpack_require__(/*! ./../helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\nvar buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ \"./node_modules/axios/lib/core/buildFullPath.js\");\nvar parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ \"./node_modules/axios/lib/helpers/parseHeaders.js\");\nvar isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ \"./node_modules/axios/lib/helpers/isURLSameOrigin.js\");\nvar createError = __webpack_require__(/*! ../core/createError */ \"./node_modules/axios/lib/core/createError.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"./node_modules/axios/lib/defaults.js\");\nvar Cancel = __webpack_require__(/*! ../cancel/Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/adapters/xhr.js?");
28
-
29
- /***/ }),
30
-
31
- /***/ "./node_modules/axios/lib/axios.js":
32
- /*!*****************************************!*\
33
- !*** ./node_modules/axios/lib/axios.js ***!
34
- \*****************************************/
35
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
36
-
37
- eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/axios/lib/utils.js\");\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\nvar Axios = __webpack_require__(/*! ./core/Axios */ \"./node_modules/axios/lib/core/Axios.js\");\nvar mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ \"./node_modules/axios/lib/core/mergeConfig.js\");\nvar defaults = __webpack_require__(/*! ./defaults */ \"./node_modules/axios/lib/defaults.js\");\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\naxios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ \"./node_modules/axios/lib/cancel/CancelToken.js\");\naxios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ \"./node_modules/axios/lib/cancel/isCancel.js\");\naxios.VERSION = (__webpack_require__(/*! ./env/data */ \"./node_modules/axios/lib/env/data.js\").version);\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(/*! ./helpers/spread */ \"./node_modules/axios/lib/helpers/spread.js\");\n\n// Expose isAxiosError\naxios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ \"./node_modules/axios/lib/helpers/isAxiosError.js\");\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports[\"default\"] = axios;\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/axios.js?");
38
-
39
- /***/ }),
40
-
41
- /***/ "./node_modules/axios/lib/cancel/Cancel.js":
42
- /*!*************************************************!*\
43
- !*** ./node_modules/axios/lib/cancel/Cancel.js ***!
44
- \*************************************************/
45
- /***/ ((module) => {
46
-
47
- eval("\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/cancel/Cancel.js?");
48
-
49
- /***/ }),
50
-
51
- /***/ "./node_modules/axios/lib/cancel/CancelToken.js":
52
- /*!******************************************************!*\
53
- !*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
54
- \******************************************************/
55
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
56
-
57
- eval("\n\nvar Cancel = __webpack_require__(/*! ./Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/cancel/CancelToken.js?");
58
-
59
- /***/ }),
60
-
61
- /***/ "./node_modules/axios/lib/cancel/isCancel.js":
62
- /*!***************************************************!*\
63
- !*** ./node_modules/axios/lib/cancel/isCancel.js ***!
64
- \***************************************************/
65
- /***/ ((module) => {
66
-
67
- eval("\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/cancel/isCancel.js?");
68
-
69
- /***/ }),
70
-
71
- /***/ "./node_modules/axios/lib/core/Axios.js":
72
- /*!**********************************************!*\
73
- !*** ./node_modules/axios/lib/core/Axios.js ***!
74
- \**********************************************/
75
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
76
-
77
- eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar buildURL = __webpack_require__(/*! ../helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\nvar InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ \"./node_modules/axios/lib/core/InterceptorManager.js\");\nvar dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ \"./node_modules/axios/lib/core/dispatchRequest.js\");\nvar mergeConfig = __webpack_require__(/*! ./mergeConfig */ \"./node_modules/axios/lib/core/mergeConfig.js\");\nvar validator = __webpack_require__(/*! ../helpers/validator */ \"./node_modules/axios/lib/helpers/validator.js\");\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/core/Axios.js?");
78
-
79
- /***/ }),
80
-
81
- /***/ "./node_modules/axios/lib/core/InterceptorManager.js":
82
- /*!***********************************************************!*\
83
- !*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
84
- \***********************************************************/
85
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
86
-
87
- eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/core/InterceptorManager.js?");
88
-
89
- /***/ }),
90
-
91
- /***/ "./node_modules/axios/lib/core/buildFullPath.js":
92
- /*!******************************************************!*\
93
- !*** ./node_modules/axios/lib/core/buildFullPath.js ***!
94
- \******************************************************/
95
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
96
-
97
- eval("\n\nvar isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ \"./node_modules/axios/lib/helpers/isAbsoluteURL.js\");\nvar combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ \"./node_modules/axios/lib/helpers/combineURLs.js\");\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/core/buildFullPath.js?");
98
-
99
- /***/ }),
100
-
101
- /***/ "./node_modules/axios/lib/core/createError.js":
102
- /*!****************************************************!*\
103
- !*** ./node_modules/axios/lib/core/createError.js ***!
104
- \****************************************************/
105
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
106
-
107
- eval("\n\nvar enhanceError = __webpack_require__(/*! ./enhanceError */ \"./node_modules/axios/lib/core/enhanceError.js\");\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/core/createError.js?");
108
-
109
- /***/ }),
110
-
111
- /***/ "./node_modules/axios/lib/core/dispatchRequest.js":
112
- /*!********************************************************!*\
113
- !*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
114
- \********************************************************/
115
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
116
-
117
- eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar transformData = __webpack_require__(/*! ./transformData */ \"./node_modules/axios/lib/core/transformData.js\");\nvar isCancel = __webpack_require__(/*! ../cancel/isCancel */ \"./node_modules/axios/lib/cancel/isCancel.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"./node_modules/axios/lib/defaults.js\");\nvar Cancel = __webpack_require__(/*! ../cancel/Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/core/dispatchRequest.js?");
118
-
119
- /***/ }),
120
-
121
- /***/ "./node_modules/axios/lib/core/enhanceError.js":
122
- /*!*****************************************************!*\
123
- !*** ./node_modules/axios/lib/core/enhanceError.js ***!
124
- \*****************************************************/
125
- /***/ ((module) => {
126
-
127
- eval("\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/core/enhanceError.js?");
128
-
129
- /***/ }),
130
-
131
- /***/ "./node_modules/axios/lib/core/mergeConfig.js":
132
- /*!****************************************************!*\
133
- !*** ./node_modules/axios/lib/core/mergeConfig.js ***!
134
- \****************************************************/
135
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
136
-
137
- eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/axios/lib/utils.js\");\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/core/mergeConfig.js?");
138
-
139
- /***/ }),
140
-
141
- /***/ "./node_modules/axios/lib/core/settle.js":
142
- /*!***********************************************!*\
143
- !*** ./node_modules/axios/lib/core/settle.js ***!
144
- \***********************************************/
145
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
146
-
147
- eval("\n\nvar createError = __webpack_require__(/*! ./createError */ \"./node_modules/axios/lib/core/createError.js\");\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/core/settle.js?");
148
-
149
- /***/ }),
150
-
151
- /***/ "./node_modules/axios/lib/core/transformData.js":
152
- /*!******************************************************!*\
153
- !*** ./node_modules/axios/lib/core/transformData.js ***!
154
- \******************************************************/
155
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
156
-
157
- eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar defaults = __webpack_require__(/*! ./../defaults */ \"./node_modules/axios/lib/defaults.js\");\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/core/transformData.js?");
158
-
159
- /***/ }),
160
-
161
- /***/ "./node_modules/axios/lib/defaults.js":
162
- /*!********************************************!*\
163
- !*** ./node_modules/axios/lib/defaults.js ***!
164
- \********************************************/
165
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
166
-
167
- eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/axios/lib/utils.js\");\nvar normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ \"./node_modules/axios/lib/helpers/normalizeHeaderName.js\");\nvar enhanceError = __webpack_require__(/*! ./core/enhanceError */ \"./node_modules/axios/lib/core/enhanceError.js\");\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = __webpack_require__(/*! ./adapters/xhr */ \"./node_modules/axios/lib/adapters/xhr.js\");\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = __webpack_require__(/*! ./adapters/http */ \"./node_modules/axios/lib/adapters/xhr.js\");\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/defaults.js?");
168
-
169
- /***/ }),
170
-
171
- /***/ "./node_modules/axios/lib/env/data.js":
172
- /*!********************************************!*\
173
- !*** ./node_modules/axios/lib/env/data.js ***!
174
- \********************************************/
175
- /***/ ((module) => {
176
-
177
- eval("module.exports = {\n \"version\": \"0.24.0\"\n};\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/env/data.js?");
178
-
179
- /***/ }),
180
-
181
- /***/ "./node_modules/axios/lib/helpers/bind.js":
182
- /*!************************************************!*\
183
- !*** ./node_modules/axios/lib/helpers/bind.js ***!
184
- \************************************************/
185
- /***/ ((module) => {
186
-
187
- eval("\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/bind.js?");
188
-
189
- /***/ }),
190
-
191
- /***/ "./node_modules/axios/lib/helpers/buildURL.js":
192
- /*!****************************************************!*\
193
- !*** ./node_modules/axios/lib/helpers/buildURL.js ***!
194
- \****************************************************/
195
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
196
-
197
- eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/buildURL.js?");
198
-
199
- /***/ }),
200
-
201
- /***/ "./node_modules/axios/lib/helpers/combineURLs.js":
202
- /*!*******************************************************!*\
203
- !*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
204
- \*******************************************************/
205
- /***/ ((module) => {
206
-
207
- eval("\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/combineURLs.js?");
208
-
209
- /***/ }),
210
-
211
- /***/ "./node_modules/axios/lib/helpers/cookies.js":
212
- /*!***************************************************!*\
213
- !*** ./node_modules/axios/lib/helpers/cookies.js ***!
214
- \***************************************************/
215
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
216
-
217
- eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/cookies.js?");
218
-
219
- /***/ }),
220
-
221
- /***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js":
222
- /*!*********************************************************!*\
223
- !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
224
- \*********************************************************/
225
- /***/ ((module) => {
226
-
227
- eval("\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/isAbsoluteURL.js?");
228
-
229
- /***/ }),
230
-
231
- /***/ "./node_modules/axios/lib/helpers/isAxiosError.js":
232
- /*!********************************************************!*\
233
- !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***!
234
- \********************************************************/
235
- /***/ ((module) => {
236
-
237
- eval("\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/isAxiosError.js?");
238
-
239
- /***/ }),
240
-
241
- /***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
242
- /*!***********************************************************!*\
243
- !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
244
- \***********************************************************/
245
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
246
-
247
- eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/isURLSameOrigin.js?");
248
-
249
- /***/ }),
250
-
251
- /***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js":
252
- /*!***************************************************************!*\
253
- !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
254
- \***************************************************************/
255
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
256
-
257
- eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/normalizeHeaderName.js?");
258
-
259
- /***/ }),
260
-
261
- /***/ "./node_modules/axios/lib/helpers/parseHeaders.js":
262
- /*!********************************************************!*\
263
- !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
264
- \********************************************************/
265
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
266
-
267
- eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/parseHeaders.js?");
268
-
269
- /***/ }),
270
-
271
- /***/ "./node_modules/axios/lib/helpers/spread.js":
272
- /*!**************************************************!*\
273
- !*** ./node_modules/axios/lib/helpers/spread.js ***!
274
- \**************************************************/
275
- /***/ ((module) => {
276
-
277
- eval("\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/spread.js?");
278
-
279
- /***/ }),
280
-
281
- /***/ "./node_modules/axios/lib/helpers/validator.js":
282
- /*!*****************************************************!*\
283
- !*** ./node_modules/axios/lib/helpers/validator.js ***!
284
- \*****************************************************/
285
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
286
-
287
- eval("\n\nvar VERSION = (__webpack_require__(/*! ../env/data */ \"./node_modules/axios/lib/env/data.js\").version);\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/helpers/validator.js?");
288
-
289
- /***/ }),
290
-
291
- /***/ "./node_modules/axios/lib/utils.js":
292
- /*!*****************************************!*\
293
- !*** ./node_modules/axios/lib/utils.js ***!
294
- \*****************************************/
295
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
296
-
297
- eval("\n\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/axios/lib/utils.js?");
298
-
299
- /***/ }),
300
-
301
- /***/ "./index.ts":
302
- /*!******************!*\
303
- !*** ./index.ts ***!
304
- \******************/
305
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
306
-
307
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getAccessToken\": () => (/* reexport safe */ _src_cookie__WEBPACK_IMPORTED_MODULE_0__.getAccessToken),\n/* harmony export */ \"getRefreshToken\": () => (/* reexport safe */ _src_cookie__WEBPACK_IMPORTED_MODULE_0__.getRefreshToken),\n/* harmony export */ \"getSystemType\": () => (/* reexport safe */ _src_cookie__WEBPACK_IMPORTED_MODULE_0__.getSystemType),\n/* harmony export */ \"setAccessToken\": () => (/* reexport safe */ _src_cookie__WEBPACK_IMPORTED_MODULE_0__.setAccessToken),\n/* harmony export */ \"setRefreshToken\": () => (/* reexport safe */ _src_cookie__WEBPACK_IMPORTED_MODULE_0__.setRefreshToken),\n/* harmony export */ \"setSystemType\": () => (/* reexport safe */ _src_cookie__WEBPACK_IMPORTED_MODULE_0__.setSystemType),\n/* harmony export */ \"clearLoginCookie\": () => (/* reexport safe */ _src_compatible__WEBPACK_IMPORTED_MODULE_1__.clearLoginCookie),\n/* harmony export */ \"getCookie\": () => (/* reexport safe */ _src_compatible__WEBPACK_IMPORTED_MODULE_1__.getCookie),\n/* harmony export */ \"getIdToken\": () => (/* reexport safe */ _src_compatible__WEBPACK_IMPORTED_MODULE_1__.getIdToken),\n/* harmony export */ \"getUrlParam\": () => (/* reexport safe */ _src_compatible__WEBPACK_IMPORTED_MODULE_1__.getUrlParam),\n/* harmony export */ \"setCookie\": () => (/* reexport safe */ _src_compatible__WEBPACK_IMPORTED_MODULE_1__.setCookie),\n/* harmony export */ \"setIdToken\": () => (/* reexport safe */ _src_compatible__WEBPACK_IMPORTED_MODULE_1__.setIdToken),\n/* harmony export */ \"make\": () => (/* binding */ make)\n/* harmony export */ });\n/* harmony import */ var _src_cookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/cookie */ \"./src/cookie.ts\");\n/* harmony import */ var _src_compatible__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/compatible */ \"./src/compatible.ts\");\n/* harmony import */ var _src_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/dom */ \"./src/dom.ts\");\n/* harmony import */ var _src_request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/request */ \"./src/request.ts\");\n/* harmony import */ var _src_constance__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/constance */ \"./src/constance.ts\");\n/* harmony import */ var _src_shares__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/shares */ \"./src/shares.ts\");\n/* harmony import */ var _src_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/types */ \"./src/types.ts\");\n/* harmony import */ var _src_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/utils */ \"./src/utils.ts\");\n\n\n\n\n\n\n\n\n\n\nconst make = (config) => {\n if (!config.moduleBaseUrl) {\n throw new Error(_src_constance__WEBPACK_IMPORTED_MODULE_4__.NO_MODULE_BASE_URL);\n }\n let timer = undefined;\n (0,_src_shares__WEBPACK_IMPORTED_MODULE_5__.setModuleBaseUrl)(config.moduleBaseUrl);\n (0,_src_shares__WEBPACK_IMPORTED_MODULE_5__.setLoginPageUrl)(config.loginPageUrl);\n (0,_src_shares__WEBPACK_IMPORTED_MODULE_5__.setTenantId)(config.tenantId);\n (0,_src_shares__WEBPACK_IMPORTED_MODULE_5__.setBrand)(config.brand);\n (0,_src_request__WEBPACK_IMPORTED_MODULE_3__.initInstance)();\n const init = () => {\n const token = (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.getAccessToken)();\n const refreshToken = (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.getRefreshToken)();\n if (!token) {\n (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.setAccessToken)(null);\n (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.setRefreshToken)(null);\n return Promise.reject(new Error(_src_constance__WEBPACK_IMPORTED_MODULE_4__.NO_ACCESS_TOKEN));\n }\n if (!refreshToken) {\n (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.setAccessToken)(null);\n (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.setRefreshToken)(null);\n return Promise.reject(new Error(_src_constance__WEBPACK_IMPORTED_MODULE_4__.NO_REFRESH_TOKEN));\n }\n return (0,_src_utils__WEBPACK_IMPORTED_MODULE_7__.getUserInfo)()\n .then(async (userInfo) => {\n const valid = detectUserInfoGroupAuth(userInfo);\n if (!valid) {\n return Promise.reject();\n }\n return (0,_src_request__WEBPACK_IMPORTED_MODULE_3__.fetchServerListHTTP)();\n })\n .catch(error => {\n (0,_src_dom__WEBPACK_IMPORTED_MODULE_2__.openDialog)();\n throw error;\n })\n .then(resp => {\n const menus = resp.data.content || [];\n if (menus.length <= 0)\n return Promise.reject();\n const group = menus.find(menu => menu.groupName === config.moduleName);\n if (group) {\n (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.setSystemType)(group.staffEndpoint ? _src_types__WEBPACK_IMPORTED_MODULE_6__.SystemType.Staff : _src_types__WEBPACK_IMPORTED_MODULE_6__.SystemType.Client);\n }\n setupRefreshTokenTimer();\n return Promise.resolve();\n })\n .catch(async (error) => {\n clearRefreshTokenTimer();\n (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.setAccessToken)(null);\n (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.setRefreshToken)(null);\n await logout();\n throw error;\n });\n };\n const detectUserInfoGroupAuth = (userInfo) => {\n const groups = userInfo['cognito:groups'] || [];\n if (!groups.includes(config.moduleName)\n && config.moduleName !== 'commonLogin'\n && config.moduleName !== 'App') {\n return false;\n }\n return true;\n };\n const setupRefreshTokenTimer = () => {\n const refreshToken = (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.getRefreshToken)();\n if (!refreshToken)\n return;\n if (timer) {\n clearInterval(timer);\n }\n timer = setInterval(() => {\n (0,_src_request__WEBPACK_IMPORTED_MODULE_3__.fetchRefreshTokenHTTP)(refreshToken)\n .then(resp => {\n const { content: { idToken } } = resp.data;\n (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.setAccessToken)(idToken);\n return (0,_src_utils__WEBPACK_IMPORTED_MODULE_7__.getUserInfo)();\n })\n .then(userInfo => {\n const valid = detectUserInfoGroupAuth(userInfo);\n if (!valid) {\n clearRefreshTokenTimer();\n (0,_src_dom__WEBPACK_IMPORTED_MODULE_2__.openDialog)();\n return logout();\n }\n })\n .catch(error => {\n clearRefreshTokenTimer();\n throw error;\n });\n }, 1e3 * 60 * 3); // 3 minutes\n };\n const logout = () => {\n return (0,_src_request__WEBPACK_IMPORTED_MODULE_3__.fetchLogoutHTTP)()\n .finally(() => {\n clearRefreshTokenTimer();\n (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.setAccessToken)(null);\n (0,_src_cookie__WEBPACK_IMPORTED_MODULE_0__.setRefreshToken)(null);\n });\n };\n const clearRefreshTokenTimer = () => {\n if (!timer)\n return;\n clearInterval(timer);\n timer = null;\n };\n return {\n init,\n logout\n };\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./index.ts?");
308
-
309
- /***/ }),
310
-
311
- /***/ "./src/compatible.ts":
312
- /*!***************************!*\
313
- !*** ./src/compatible.ts ***!
314
- \***************************/
315
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
316
-
317
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"setIdToken\": () => (/* binding */ setIdToken),\n/* harmony export */ \"getIdToken\": () => (/* binding */ getIdToken),\n/* harmony export */ \"setCookie\": () => (/* binding */ setCookie),\n/* harmony export */ \"clearLoginCookie\": () => (/* binding */ clearLoginCookie),\n/* harmony export */ \"getCookie\": () => (/* binding */ getCookie),\n/* harmony export */ \"getUrlParam\": () => (/* binding */ getUrlParam)\n/* harmony export */ });\n/* harmony import */ var _cookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cookie */ \"./src/cookie.ts\");\n/* harmony import */ var js_cookie__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! js-cookie */ \"./node_modules/js-cookie/dist/js.cookie.mjs\");\n/**\n * 这个文件是写一些兼容的方法,避免各个项目做出大量调整\n */\n\n\nconst setIdToken = _cookie__WEBPACK_IMPORTED_MODULE_0__.setAccessToken;\nconst getIdToken = _cookie__WEBPACK_IMPORTED_MODULE_0__.getAccessToken;\nconst setCookie = (name, value, domain, path = '/', time = 30 * 24 * 60 * 60 * 1000) => {\n if (value === null || value === undefined) {\n return js_cookie__WEBPACK_IMPORTED_MODULE_1__[\"default\"].remove(name);\n }\n js_cookie__WEBPACK_IMPORTED_MODULE_1__[\"default\"].set(name, value, {\n domain,\n path,\n expires: time / (24 * 60 * 60 * 1000)\n });\n};\nconst clearLoginCookie = () => {\n (0,_cookie__WEBPACK_IMPORTED_MODULE_0__.setAccessToken)(null);\n (0,_cookie__WEBPACK_IMPORTED_MODULE_0__.setRefreshToken)(null);\n};\nconst getCookie = (c_name) => {\n if (!c_name)\n return null;\n const reg = new RegExp('(?:^|; )' + encodeURIComponent(c_name) + '=([^;]*)');\n const result = reg.exec(document.cookie);\n return result ? decodeURIComponent(result[1] || '') : null;\n};\nconst getUrlParam = (key, href) => {\n const search = '?' + ((href || window.location.href).split('?')[1] || '');\n const searchParams = new URLSearchParams(search);\n return searchParams.get(key);\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./src/compatible.ts?");
318
-
319
- /***/ }),
320
-
321
- /***/ "./src/constance.ts":
322
- /*!**************************!*\
323
- !*** ./src/constance.ts ***!
324
- \**************************/
325
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
326
-
327
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"NO_ACCESS_TOKEN\": () => (/* binding */ NO_ACCESS_TOKEN),\n/* harmony export */ \"INVALID_ACCESS_TOKEN\": () => (/* binding */ INVALID_ACCESS_TOKEN),\n/* harmony export */ \"INVALID_REFRESH_TOKEN\": () => (/* binding */ INVALID_REFRESH_TOKEN),\n/* harmony export */ \"NO_REFRESH_TOKEN\": () => (/* binding */ NO_REFRESH_TOKEN),\n/* harmony export */ \"NO_MODULE_BASE_URL\": () => (/* binding */ NO_MODULE_BASE_URL),\n/* harmony export */ \"INVALID_TENANT_ID\": () => (/* binding */ INVALID_TENANT_ID),\n/* harmony export */ \"INVALID_BRAND\": () => (/* binding */ INVALID_BRAND)\n/* harmony export */ });\nconst NO_ACCESS_TOKEN = 'Access token not found';\nconst INVALID_ACCESS_TOKEN = 'Invalid access token';\nconst INVALID_REFRESH_TOKEN = 'Invalid refresh token';\nconst NO_REFRESH_TOKEN = 'Refresh token not found';\nconst NO_MODULE_BASE_URL = 'Module base URL is required';\nconst INVALID_TENANT_ID = 'Invalid tenant ID';\nconst INVALID_BRAND = 'Invalid brand';\n\n\n//# sourceURL=webpack://login-authorization-v2/./src/constance.ts?");
328
-
329
- /***/ }),
330
-
331
- /***/ "./src/cookie.ts":
332
- /*!***********************!*\
333
- !*** ./src/cookie.ts ***!
334
- \***********************/
335
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
336
-
337
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"setRefreshToken\": () => (/* binding */ setRefreshToken),\n/* harmony export */ \"setAccessToken\": () => (/* binding */ setAccessToken),\n/* harmony export */ \"getAccessToken\": () => (/* binding */ getAccessToken),\n/* harmony export */ \"getRefreshToken\": () => (/* binding */ getRefreshToken),\n/* harmony export */ \"setSystemType\": () => (/* binding */ setSystemType),\n/* harmony export */ \"getSystemType\": () => (/* binding */ getSystemType)\n/* harmony export */ });\n/* harmony import */ var js_cookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! js-cookie */ \"./node_modules/js-cookie/dist/js.cookie.mjs\");\n/* harmony import */ var _constance__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constance */ \"./src/constance.ts\");\n\n\nconst makeSetCookieFn = (key, options) => {\n const index = window.location.hostname.indexOf('.');\n const domain = index === -1\n ? window.location.hostname\n : window.location.hostname.slice(index);\n return (value) => {\n if (value === null) {\n return js_cookie__WEBPACK_IMPORTED_MODULE_0__[\"default\"].remove(key, { domain, ...options });\n }\n js_cookie__WEBPACK_IMPORTED_MODULE_0__[\"default\"].set(key, value, {\n domain,\n expires: 30,\n ...options\n });\n };\n};\nconst setIdTokenFront = makeSetCookieFn('idTokenFront');\nconst setIdTokenBack = makeSetCookieFn('idTokenBack');\nconst setRefreshTokenFront = makeSetCookieFn('refreshTokenFront');\nconst setRefreshTokenBack = makeSetCookieFn('refreshTokenBack');\nconst setRefreshToken = (token) => {\n if (!token) {\n setIdTokenBack(null);\n setIdTokenFront(null);\n makeSetCookieFn('refresh_token')(null);\n return;\n }\n const splits = token.split('.');\n if (splits.length < 5)\n throw new Error(_constance__WEBPACK_IMPORTED_MODULE_1__.INVALID_REFRESH_TOKEN);\n const refreshTokenFront = splits[0] + '.' + splits[1];\n const refreshTokenBack = splits[2] + '.' + splits[3] + '.' + splits[4];\n setRefreshTokenFront(refreshTokenFront);\n setRefreshTokenBack(refreshTokenBack);\n makeSetCookieFn('refresh_token')(token);\n};\nconst setAccessToken = (token) => {\n if (!token) {\n setIdTokenBack(null);\n setIdTokenFront(null);\n makeSetCookieFn('access_token')(null);\n return;\n }\n const splits = token.split('.');\n if (splits.length < 3)\n throw new Error(_constance__WEBPACK_IMPORTED_MODULE_1__.INVALID_ACCESS_TOKEN);\n const idTokenFront = splits[0] + '.' + splits[1];\n const idTokenBack = splits[2] || '';\n setIdTokenFront(idTokenFront);\n setIdTokenBack(idTokenBack);\n makeSetCookieFn('access_token')(token);\n};\nconst getAccessToken = () => js_cookie__WEBPACK_IMPORTED_MODULE_0__[\"default\"].get('access_token');\nconst getRefreshToken = () => js_cookie__WEBPACK_IMPORTED_MODULE_0__[\"default\"].get('refresh_token');\nconst setSystemType = makeSetCookieFn('currentSystemType');\nconst getSystemType = () => js_cookie__WEBPACK_IMPORTED_MODULE_0__[\"default\"].get('currentSystemType');\n\n\n//# sourceURL=webpack://login-authorization-v2/./src/cookie.ts?");
338
-
339
- /***/ }),
340
-
341
- /***/ "./src/dom.ts":
342
- /*!********************!*\
343
- !*** ./src/dom.ts ***!
344
- \********************/
345
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
346
-
347
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"closeDialog\": () => (/* binding */ closeDialog),\n/* harmony export */ \"openDialog\": () => (/* binding */ openDialog)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n/* harmony import */ var _shares__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./shares */ \"./src/shares.ts\");\n\n\nconst createPcDialog = () => {\n return `<div id=\"confirm-container\" style=\"box-sizing:border-box;position:fixed;width:615px;height:145px;box-shadow: 0 0 2px 2px #eeeeee;border-radius: 5px;z-index: 10000000;display: block;left: 35%;padding:20px 20px;top:10px;font-size: 16px;\">\n <div id=\"href\" style=\"color: rgb(32,33,36);\"></div>\n <div style=\"margin: 10px 0 20px 0;color: rgb(32,33,36);font-size: 14px;\">You do not have access to the system.</div>\n <div style=\"display: flex;justify-content: flex-end;\">\n <button id=\"cancel\" style=\"padding: 8px 15px;background: #ffffff;color:rgb(26,115,232);border:1px solid #ccc;border-radius:5px;cursor: pointer;font-size:14px;\">Cancel</button>\n <button id=\"confirm\" style=\"padding: 8px 15px;background: rgb(26,115,232);color:#ffffff;border:none;border-radius:5px;margin-left: 10px;cursor: pointer;font-size:14px;\">Sign in to another ZERO account</button>\n </div>\n </div>`;\n};\nconst createMobileDialog = () => {\n return `<div id=\"confirm-container\" style=\"box-sizing:border-box;position:fixed;width:97.6vw;height:145px;box-shadow: 0 0 2px 2px #eeeeee;border-radius: 5px;z-index: 10000000;display: block;left:0px;padding:20px 20px;top:4px;margin:0 4px;font-size: 16px;\">\n <div id=\"href\" style=\"color: rgb(32,33,36);\"></div>\n <div style=\"margin: 10px 0 20px 0;color: rgb(32,33,36);font-size: 14px;\">You do not have access to the system.</div>\n <div style=\"display: flex;justify-content: flex-end;\">\n <div style=\"display: flex;justify-content: flex-end;\">\n <button id=\"cancel\" style=\"padding: 8px 15px;background: #ffffff;color:rgb(26,115,232);border:1px solid #ccc;border-radius:5px;cursor: pointer;font-size:14px;\">Cancel</button>\n <button id=\"confirm\" style=\"padding: 8px 15px;background: rgb(26,115,232);color:#ffffff;border:none;border-radius:5px;margin-left: 10px;cursor: pointer;font-size:14px;\">Sign in to another ZERO account</button>\n </div>\n </div>\n </div>`;\n};\nconst onConfirmHandler = (evt) => {\n closeDialog();\n window.location.href = _shares__WEBPACK_IMPORTED_MODULE_1__.loginPageUrl;\n};\nconst onCancelHandler = () => {\n closeDialog();\n window.location.href = 'about:blank';\n};\nconst closeDialog = () => {\n const container = document.getElementById('confirm-container');\n if (!container || !container.parentNode)\n return;\n document.body.removeChild(container.parentNode);\n};\nconst openDialog = () => {\n const container = document.createElement('div');\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.isMobile)()\n ? container.innerHTML = createMobileDialog()\n : container.innerHTML = createPcDialog();\n const confirmButton = container.querySelector('#confirm');\n const cancelButton = container.querySelector('#cancel');\n confirmButton?.addEventListener('click', onConfirmHandler);\n cancelButton?.addEventListener('click', onCancelHandler);\n document.body.appendChild(container);\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./src/dom.ts?");
348
-
349
- /***/ }),
350
-
351
- /***/ "./src/request.ts":
352
- /*!************************!*\
353
- !*** ./src/request.ts ***!
354
- \************************/
355
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
356
-
357
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initInstance\": () => (/* binding */ initInstance),\n/* harmony export */ \"fetchRefreshTokenHTTP\": () => (/* binding */ fetchRefreshTokenHTTP),\n/* harmony export */ \"fetchLogoutHTTP\": () => (/* binding */ fetchLogoutHTTP),\n/* harmony export */ \"fetchServerListHTTP\": () => (/* binding */ fetchServerListHTTP)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shares__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./shares */ \"./src/shares.ts\");\n/* harmony import */ var _cookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cookie */ \"./src/cookie.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n\n\n\n\nlet instance;\n/**\n * 没找到更好的方式,只能这样做了\n */\nconst initInstance = async () => {\n let userInfo = null;\n try {\n userInfo = await (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getUserInfo)();\n }\n catch (error) {\n console.warn('initInstance getUserInfo error:', error);\n }\n instance = axios__WEBPACK_IMPORTED_MODULE_0___default().create({\n baseURL: _shares__WEBPACK_IMPORTED_MODULE_1__.moduleBaseUrl,\n timeout: 1.5e4,\n headers: {\n 'X-tenant-id': userInfo ? userInfo['custom:tenant_id'].toString() : _shares__WEBPACK_IMPORTED_MODULE_1__.tenantId.toString(),\n 'X-brand': _shares__WEBPACK_IMPORTED_MODULE_1__.brand.toString(),\n 'Authorization': `Bearer ${(0,_cookie__WEBPACK_IMPORTED_MODULE_2__.getAccessToken)()}`,\n }\n });\n instance.interceptors.request.use((config) => {\n return config;\n }, (error) => {\n return Promise.reject(error);\n });\n instance.interceptors.response.use((response) => {\n if (response.data.code !== 200) {\n return Promise.reject(response.data.msg);\n }\n return response;\n }, (error) => {\n return Promise.reject(error);\n });\n};\nconst fetchRefreshTokenHTTP = (refreshToken) => {\n return instance({\n method: 'post',\n url: '/user-profile/refresh-token/refresh',\n data: {\n refreshToken\n }\n });\n};\nconst fetchLogoutHTTP = () => {\n return instance({\n method: 'get',\n url: '/user-profile/logout'\n });\n};\nconst fetchServerListHTTP = () => {\n return instance({\n method: 'get',\n url: '/session/current/servers'\n });\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./src/request.ts?");
358
-
359
- /***/ }),
360
-
361
- /***/ "./src/shares.ts":
362
- /*!***********************!*\
363
- !*** ./src/shares.ts ***!
364
- \***********************/
365
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
366
-
367
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"tenantId\": () => (/* binding */ tenantId),\n/* harmony export */ \"brand\": () => (/* binding */ brand),\n/* harmony export */ \"moduleBaseUrl\": () => (/* binding */ moduleBaseUrl),\n/* harmony export */ \"loginPageUrl\": () => (/* binding */ loginPageUrl),\n/* harmony export */ \"setTenantId\": () => (/* binding */ setTenantId),\n/* harmony export */ \"setBrand\": () => (/* binding */ setBrand),\n/* harmony export */ \"setModuleBaseUrl\": () => (/* binding */ setModuleBaseUrl),\n/* harmony export */ \"setLoginPageUrl\": () => (/* binding */ setLoginPageUrl)\n/* harmony export */ });\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ \"./src/types.ts\");\n/* harmony import */ var _constance__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constance */ \"./src/constance.ts\");\n\n\nlet tenantId;\nlet brand;\nlet moduleBaseUrl = '';\nlet loginPageUrl = '';\nconst setTenantId = (id) => {\n if (!Object.values(_types__WEBPACK_IMPORTED_MODULE_0__.Tenant).includes(id)) {\n throw new Error(_constance__WEBPACK_IMPORTED_MODULE_1__.INVALID_TENANT_ID);\n }\n tenantId = id;\n};\nconst setBrand = (id) => {\n if (!Object.values(_types__WEBPACK_IMPORTED_MODULE_0__.Brand).includes(id)) {\n throw new Error(_constance__WEBPACK_IMPORTED_MODULE_1__.INVALID_BRAND);\n }\n brand = id;\n};\nconst setModuleBaseUrl = (url) => {\n moduleBaseUrl = url;\n};\nconst setLoginPageUrl = (url) => {\n loginPageUrl = url;\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./src/shares.ts?");
368
-
369
- /***/ }),
370
-
371
- /***/ "./src/types.ts":
372
- /*!**********************!*\
373
- !*** ./src/types.ts ***!
374
- \**********************/
375
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
376
-
377
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Brand\": () => (/* binding */ Brand),\n/* harmony export */ \"Tenant\": () => (/* binding */ Tenant),\n/* harmony export */ \"SystemType\": () => (/* binding */ SystemType)\n/* harmony export */ });\nconst modules = [\n {\n href: '',\n name: 'commonLogin'\n },\n {\n href: '',\n name: 'App'\n },\n {\n href: '',\n name: 'Portal'\n },\n {\n href: '',\n name: 'AgentPortal'\n },\n {\n href: '',\n name: 'AdminPortal'\n },\n {\n href: '',\n name: 'CRM'\n },\n {\n href: '',\n name: 'Finance'\n },\n {\n href: '',\n name: 'FundingAdmin'\n },\n {\n href: '',\n name: 'MessageTemplate'\n },\n {\n href: '',\n name: 'Translate'\n },\n {\n href: '',\n name: 'TradeConfig'\n },\n {\n href: '',\n name: 'Ticket'\n },\n {\n href: '',\n name: 'IBPortalAdmin'\n },\n {\n href: '',\n name: 'OPPortal'\n },\n {\n href: '',\n name: 'ClientInfoHub'\n },\n {\n href: '',\n name: 'Promotion'\n }\n];\nvar Brand;\n(function (Brand) {\n Brand[Brand[\"ZERO\"] = 1] = \"ZERO\";\n Brand[Brand[\"HEDGEHOOD\"] = 2] = \"HEDGEHOOD\";\n Brand[Brand[\"NISE\"] = 3] = \"NISE\";\n})(Brand || (Brand = {}));\nvar Tenant;\n(function (Tenant) {\n Tenant[Tenant[\"ZERO_INT\"] = 1] = \"ZERO_INT\";\n Tenant[Tenant[\"HEDGEHOOD\"] = 2] = \"HEDGEHOOD\";\n Tenant[Tenant[\"ZERO_NZ\"] = 3] = \"ZERO_NZ\";\n Tenant[Tenant[\"ZERO_LA\"] = 4] = \"ZERO_LA\";\n Tenant[Tenant[\"ZERO_BR\"] = 4] = \"ZERO_BR\";\n Tenant[Tenant[\"NISE_EU\"] = 5] = \"NISE_EU\";\n})(Tenant || (Tenant = {}));\nvar SystemType;\n(function (SystemType) {\n SystemType[\"Staff\"] = \"staff\";\n SystemType[\"Client\"] = \"client\";\n})(SystemType || (SystemType = {}));\n\n\n//# sourceURL=webpack://login-authorization-v2/./src/types.ts?");
378
-
379
- /***/ }),
380
-
381
- /***/ "./src/utils.ts":
382
- /*!**********************!*\
383
- !*** ./src/utils.ts ***!
384
- \**********************/
385
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
386
-
387
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isMobile\": () => (/* binding */ isMobile),\n/* harmony export */ \"getUserInfo\": () => (/* binding */ getUserInfo)\n/* harmony export */ });\n/* harmony import */ var _cookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cookie */ \"./src/cookie.ts\");\n/* harmony import */ var _constance__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constance */ \"./src/constance.ts\");\n/* harmony import */ var js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! js-base64 */ \"./node_modules/js-base64/base64.mjs\");\n\n\n\nconst isMobile = () => {\n const ua = navigator.userAgent;\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(ua);\n};\nconst getUserInfo = () => {\n return new Promise((resolve, reject) => {\n const token = (0,_cookie__WEBPACK_IMPORTED_MODULE_0__.getAccessToken)();\n if (!token)\n return reject(new Error(_constance__WEBPACK_IMPORTED_MODULE_1__.NO_ACCESS_TOKEN));\n const splits = token.split('.');\n if (splits.length < 3)\n return reject(new Error(_constance__WEBPACK_IMPORTED_MODULE_1__.NO_ACCESS_TOKEN));\n resolve(JSON.parse(js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.decode(splits[1])));\n });\n};\n\n\n//# sourceURL=webpack://login-authorization-v2/./src/utils.ts?");
388
-
389
- /***/ }),
390
-
391
- /***/ "./node_modules/js-base64/base64.mjs":
392
- /*!*******************************************!*\
393
- !*** ./node_modules/js-base64/base64.mjs ***!
394
- \*******************************************/
395
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
396
-
397
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"version\": () => (/* binding */ version),\n/* harmony export */ \"VERSION\": () => (/* binding */ VERSION),\n/* harmony export */ \"atob\": () => (/* binding */ _atob),\n/* harmony export */ \"atobPolyfill\": () => (/* binding */ atobPolyfill),\n/* harmony export */ \"btoa\": () => (/* binding */ _btoa),\n/* harmony export */ \"btoaPolyfill\": () => (/* binding */ btoaPolyfill),\n/* harmony export */ \"fromBase64\": () => (/* binding */ decode),\n/* harmony export */ \"toBase64\": () => (/* binding */ encode),\n/* harmony export */ \"utob\": () => (/* binding */ utob),\n/* harmony export */ \"encode\": () => (/* binding */ encode),\n/* harmony export */ \"encodeURI\": () => (/* binding */ encodeURI),\n/* harmony export */ \"encodeURL\": () => (/* binding */ encodeURI),\n/* harmony export */ \"btou\": () => (/* binding */ btou),\n/* harmony export */ \"decode\": () => (/* binding */ decode),\n/* harmony export */ \"isValid\": () => (/* binding */ isValid),\n/* harmony export */ \"fromUint8Array\": () => (/* binding */ fromUint8Array),\n/* harmony export */ \"toUint8Array\": () => (/* binding */ toUint8Array),\n/* harmony export */ \"extendString\": () => (/* binding */ extendString),\n/* harmony export */ \"extendUint8Array\": () => (/* binding */ extendUint8Array),\n/* harmony export */ \"extendBuiltins\": () => (/* binding */ extendBuiltins),\n/* harmony export */ \"Base64\": () => (/* binding */ gBase64)\n/* harmony export */ });\n/**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.7.7';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = Array.prototype.slice.call(b64ch);\nconst b64tab = ((a) => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : (it) => new Uint8Array(Array.prototype.slice.call(it, 0));\nconst _mkUriSafe = (src) => src\n .replace(/=/g, '').replace(/[+\\/]/g, (m0) => m0 == '+' ? '-' : '_');\nconst _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = (bin) => {\n // console.log('polyfilled');\n let u32, c0, c1, c2, asc = '';\n const pad = bin.length % 3;\n for (let i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = typeof btoa === 'function' ? (bin) => btoa(bin)\n : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64')\n : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer\n ? (u8a) => Buffer.from(u8a).toString('base64')\n : (u8a) => {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n const maxargs = 0x1000;\n let strs = [];\n for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = (c) => {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = (u) => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer\n ? (s) => Buffer.from(s, 'utf8').toString('base64')\n : _TE\n ? (s) => _fromUint8Array(_TE.encode(s))\n : (s) => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\nconst encodeURI = (src) => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = (cccc) => {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = (b) => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = (asc) => {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n let u24, bin = '', r1, r2;\n for (let i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = typeof atob === 'function' ? (asc) => atob(_tidyB64(asc))\n : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary')\n : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer\n ? (a) => _U8Afrom(Buffer.from(a, 'base64'))\n : (a) => _U8Afrom(_atob(a).split('').map(c => c.charCodeAt(0)));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = (a) => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer\n ? (a) => Buffer.from(a, 'base64').toString('utf8')\n : _TD\n ? (a) => _TD.decode(_toUint8Array(a))\n : (a) => btou(_atob(a));\nconst _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = (src) => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\nconst isValid = (src) => {\n if (typeof src !== 'string')\n return false;\n const s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = (v) => {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n extendString();\n extendUint8Array();\n};\nconst gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n};\n// makecjs:CUT //\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// and finally,\n\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/js-base64/base64.mjs?");
398
-
399
- /***/ }),
400
-
401
- /***/ "./node_modules/js-cookie/dist/js.cookie.mjs":
402
- /*!***************************************************!*\
403
- !*** ./node_modules/js-cookie/dist/js.cookie.mjs ***!
404
- \***************************************************/
405
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
406
-
407
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ api)\n/* harmony export */ });\n/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\n\n\n\n//# sourceURL=webpack://login-authorization-v2/./node_modules/js-cookie/dist/js.cookie.mjs?");
408
-
409
- /***/ })
410
-
411
- /******/ });
412
- /************************************************************************/
413
- /******/ // The module cache
414
- /******/ var __webpack_module_cache__ = {};
415
- /******/
416
- /******/ // The require function
417
- /******/ function __webpack_require__(moduleId) {
418
- /******/ // Check if module is in cache
419
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
420
- /******/ if (cachedModule !== undefined) {
421
- /******/ return cachedModule.exports;
422
- /******/ }
423
- /******/ // Create a new module (and put it into the cache)
424
- /******/ var module = __webpack_module_cache__[moduleId] = {
425
- /******/ // no module.id needed
426
- /******/ // no module.loaded needed
427
- /******/ exports: {}
428
- /******/ };
429
- /******/
430
- /******/ // Execute the module function
431
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
432
- /******/
433
- /******/ // Return the exports of the module
434
- /******/ return module.exports;
435
- /******/ }
436
- /******/
437
- /************************************************************************/
438
- /******/ /* webpack/runtime/compat get default export */
439
- /******/ (() => {
440
- /******/ // getDefaultExport function for compatibility with non-harmony modules
441
- /******/ __webpack_require__.n = (module) => {
442
- /******/ var getter = module && module.__esModule ?
443
- /******/ () => (module['default']) :
444
- /******/ () => (module);
445
- /******/ __webpack_require__.d(getter, { a: getter });
446
- /******/ return getter;
447
- /******/ };
448
- /******/ })();
449
- /******/
450
- /******/ /* webpack/runtime/define property getters */
451
- /******/ (() => {
452
- /******/ // define getter functions for harmony exports
453
- /******/ __webpack_require__.d = (exports, definition) => {
454
- /******/ for(var key in definition) {
455
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
456
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
457
- /******/ }
458
- /******/ }
459
- /******/ };
460
- /******/ })();
461
- /******/
462
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
463
- /******/ (() => {
464
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
465
- /******/ })();
466
- /******/
467
- /******/ /* webpack/runtime/make namespace object */
468
- /******/ (() => {
469
- /******/ // define __esModule on exports
470
- /******/ __webpack_require__.r = (exports) => {
471
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
472
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
473
- /******/ }
474
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
475
- /******/ };
476
- /******/ })();
477
- /******/
478
- /************************************************************************/
479
- /******/
480
- /******/ // startup
481
- /******/ // Load entry module and return exports
482
- /******/ // This entry module can't be inlined because the eval devtool is used.
483
- /******/ var __webpack_exports__ = __webpack_require__("./index.ts");
484
- /******/ var __webpack_exports__clearLoginCookie = __webpack_exports__.clearLoginCookie;
485
- /******/ var __webpack_exports__getAccessToken = __webpack_exports__.getAccessToken;
486
- /******/ var __webpack_exports__getCookie = __webpack_exports__.getCookie;
487
- /******/ var __webpack_exports__getIdToken = __webpack_exports__.getIdToken;
488
- /******/ var __webpack_exports__getRefreshToken = __webpack_exports__.getRefreshToken;
489
- /******/ var __webpack_exports__getSystemType = __webpack_exports__.getSystemType;
490
- /******/ var __webpack_exports__getUrlParam = __webpack_exports__.getUrlParam;
491
- /******/ var __webpack_exports__make = __webpack_exports__.make;
492
- /******/ var __webpack_exports__setAccessToken = __webpack_exports__.setAccessToken;
493
- /******/ var __webpack_exports__setCookie = __webpack_exports__.setCookie;
494
- /******/ var __webpack_exports__setIdToken = __webpack_exports__.setIdToken;
495
- /******/ var __webpack_exports__setRefreshToken = __webpack_exports__.setRefreshToken;
496
- /******/ var __webpack_exports__setSystemType = __webpack_exports__.setSystemType;
497
- /******/ export { __webpack_exports__clearLoginCookie as clearLoginCookie, __webpack_exports__getAccessToken as getAccessToken, __webpack_exports__getCookie as getCookie, __webpack_exports__getIdToken as getIdToken, __webpack_exports__getRefreshToken as getRefreshToken, __webpack_exports__getSystemType as getSystemType, __webpack_exports__getUrlParam as getUrlParam, __webpack_exports__make as make, __webpack_exports__setAccessToken as setAccessToken, __webpack_exports__setCookie as setCookie, __webpack_exports__setIdToken as setIdToken, __webpack_exports__setRefreshToken as setRefreshToken, __webpack_exports__setSystemType as setSystemType };
498
- /******/
101
+ const setIdToken = setAccessToken;
102
+ const getIdToken = getAccessToken;
103
+ const setCookie = (name, value, domain, path = '/', time = 30 * 24 * 60 * 60 * 1000) => {
104
+ if (value === null || value === undefined) {
105
+ return Cookie.remove(name);
106
+ }
107
+ Cookie.set(name, value, {
108
+ domain,
109
+ path,
110
+ expires: time / (24 * 60 * 60 * 1000)
111
+ });
112
+ };
113
+ const clearLoginCookie = () => {
114
+ setAccessToken(null);
115
+ setRefreshToken(null);
116
+ };
117
+ const getCookie = (c_name) => {
118
+ if (!c_name)
119
+ return null;
120
+ const reg = new RegExp('(?:^|; )' + encodeURIComponent(c_name) + '=([^;]*)');
121
+ const result = reg.exec(document.cookie);
122
+ return result ? decodeURIComponent(result[1] || '') : null;
123
+ };
124
+ const getUrlParam = (key, href) => {
125
+ const search = '?' + ((href || window.location.href).split('?')[1] || '');
126
+ const searchParams = new URLSearchParams(search);
127
+ return searchParams.get(key);
128
+ };
129
+
130
+ const isMobile = () => {
131
+ const ua = navigator.userAgent;
132
+ return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(ua);
133
+ };
134
+ const getUserInfo = () => {
135
+ return new Promise((resolve, reject) => {
136
+ const token = getAccessToken();
137
+ if (!token)
138
+ return reject(new Error(NO_ACCESS_TOKEN));
139
+ const splits = token.split('.');
140
+ if (splits.length < 3)
141
+ return reject(new Error(NO_ACCESS_TOKEN));
142
+ resolve(JSON.parse(Base64.decode(splits[1])));
143
+ });
144
+ };
145
+
146
+ var Brand;
147
+ (function (Brand) {
148
+ Brand[Brand["ZERO"] = 1] = "ZERO";
149
+ Brand[Brand["HEDGEHOOD"] = 2] = "HEDGEHOOD";
150
+ Brand[Brand["NISE"] = 3] = "NISE";
151
+ })(Brand || (Brand = {}));
152
+ var Tenant;
153
+ (function (Tenant) {
154
+ Tenant[Tenant["ZERO_INT"] = 1] = "ZERO_INT";
155
+ Tenant[Tenant["HEDGEHOOD"] = 2] = "HEDGEHOOD";
156
+ Tenant[Tenant["ZERO_NZ"] = 3] = "ZERO_NZ";
157
+ Tenant[Tenant["ZERO_LA"] = 4] = "ZERO_LA";
158
+ Tenant[Tenant["ZERO_BR"] = 4] = "ZERO_BR";
159
+ Tenant[Tenant["NISE_EU"] = 5] = "NISE_EU";
160
+ })(Tenant || (Tenant = {}));
161
+ var SystemType;
162
+ (function (SystemType) {
163
+ SystemType["Staff"] = "staff";
164
+ SystemType["Client"] = "client";
165
+ })(SystemType || (SystemType = {}));
166
+
167
+ let tenantId;
168
+ let brand;
169
+ let moduleBaseUrl = '';
170
+ let loginPageUrl = '';
171
+ const setTenantId = (id) => {
172
+ if (!Object.values(Tenant).includes(id)) {
173
+ throw new Error(INVALID_TENANT_ID);
174
+ }
175
+ tenantId = id;
176
+ };
177
+ const setBrand = (id) => {
178
+ if (!Object.values(Brand).includes(id)) {
179
+ throw new Error(INVALID_BRAND);
180
+ }
181
+ brand = id;
182
+ };
183
+ const setModuleBaseUrl = (url) => {
184
+ moduleBaseUrl = url;
185
+ };
186
+ const setLoginPageUrl = (url) => {
187
+ loginPageUrl = url;
188
+ };
189
+
190
+ const createPcDialog = () => {
191
+ return `<div id="confirm-container" style="box-sizing:border-box;position:fixed;width:615px;height:145px;box-shadow: 0 0 2px 2px #eeeeee;border-radius: 5px;z-index: 10000000;display: block;left: 35%;padding:20px 20px;top:10px;font-size: 16px;">
192
+ <div id="href" style="color: rgb(32,33,36);"></div>
193
+ <div style="margin: 10px 0 20px 0;color: rgb(32,33,36);font-size: 14px;">You do not have access to the system.</div>
194
+ <div style="display: flex;justify-content: flex-end;">
195
+ <button id="cancel" style="padding: 8px 15px;background: #ffffff;color:rgb(26,115,232);border:1px solid #ccc;border-radius:5px;cursor: pointer;font-size:14px;">Cancel</button>
196
+ <button id="confirm" style="padding: 8px 15px;background: rgb(26,115,232);color:#ffffff;border:none;border-radius:5px;margin-left: 10px;cursor: pointer;font-size:14px;">Sign in to another ZERO account</button>
197
+ </div>
198
+ </div>`;
199
+ };
200
+ const createMobileDialog = () => {
201
+ return `<div id="confirm-container" style="box-sizing:border-box;position:fixed;width:97.6vw;height:145px;box-shadow: 0 0 2px 2px #eeeeee;border-radius: 5px;z-index: 10000000;display: block;left:0px;padding:20px 20px;top:4px;margin:0 4px;font-size: 16px;">
202
+ <div id="href" style="color: rgb(32,33,36);"></div>
203
+ <div style="margin: 10px 0 20px 0;color: rgb(32,33,36);font-size: 14px;">You do not have access to the system.</div>
204
+ <div style="display: flex;justify-content: flex-end;">
205
+ <div style="display: flex;justify-content: flex-end;">
206
+ <button id="cancel" style="padding: 8px 15px;background: #ffffff;color:rgb(26,115,232);border:1px solid #ccc;border-radius:5px;cursor: pointer;font-size:14px;">Cancel</button>
207
+ <button id="confirm" style="padding: 8px 15px;background: rgb(26,115,232);color:#ffffff;border:none;border-radius:5px;margin-left: 10px;cursor: pointer;font-size:14px;">Sign in to another ZERO account</button>
208
+ </div>
209
+ </div>
210
+ </div>`;
211
+ };
212
+ const onConfirmHandler = (evt) => {
213
+ closeDialog();
214
+ window.location.href = loginPageUrl;
215
+ };
216
+ const onCancelHandler = () => {
217
+ closeDialog();
218
+ window.location.href = 'about:blank';
219
+ };
220
+ const closeDialog = () => {
221
+ const container = document.getElementById('confirm-container');
222
+ if (!container || !container.parentNode)
223
+ return;
224
+ document.body.removeChild(container.parentNode);
225
+ };
226
+ const openDialog = () => {
227
+ const container = document.createElement('div');
228
+ isMobile()
229
+ ? container.innerHTML = createMobileDialog()
230
+ : container.innerHTML = createPcDialog();
231
+ const confirmButton = container.querySelector('#confirm');
232
+ const cancelButton = container.querySelector('#cancel');
233
+ confirmButton === null || confirmButton === void 0 ? void 0 : confirmButton.addEventListener('click', onConfirmHandler);
234
+ cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.addEventListener('click', onCancelHandler);
235
+ document.body.appendChild(container);
236
+ };
237
+
238
+ let instance;
239
+ /**
240
+ * 没找到更好的方式,只能这样做了
241
+ */
242
+ const initInstance = () => __awaiter(void 0, void 0, void 0, function* () {
243
+ let userInfo = null;
244
+ try {
245
+ userInfo = yield getUserInfo();
246
+ }
247
+ catch (error) {
248
+ console.warn('initInstance getUserInfo error:', error);
249
+ }
250
+ instance = axios.create({
251
+ baseURL: moduleBaseUrl,
252
+ timeout: 1.5e4,
253
+ });
254
+ instance.interceptors.request.use((config) => {
255
+ config.headers = Object.assign(Object.assign({}, config.headers), { 'X-tenant-id': userInfo ? userInfo['custom:tenant_id'].toString() : tenantId.toString(), 'X-brand': brand.toString(), 'Authorization': `Bearer ${getAccessToken()}` });
256
+ return config;
257
+ }, (error) => {
258
+ return Promise.reject(error);
259
+ });
260
+ instance.interceptors.response.use((response) => {
261
+ if (response.data.code !== 200) {
262
+ return Promise.reject(response.data.msg);
263
+ }
264
+ return response;
265
+ }, (error) => {
266
+ return Promise.reject(error);
267
+ });
268
+ });
269
+ const fetchRefreshTokenHTTP = (refreshToken) => {
270
+ return instance({
271
+ method: 'post',
272
+ url: '/user-profile/refresh-token/refresh',
273
+ data: {
274
+ refreshToken
275
+ }
276
+ });
277
+ };
278
+ const fetchLogoutHTTP = () => {
279
+ return instance({
280
+ method: 'get',
281
+ url: '/user-profile/logout'
282
+ });
283
+ };
284
+ const fetchServerListHTTP = () => {
285
+ return instance({
286
+ method: 'get',
287
+ url: '/session/current/servers'
288
+ });
289
+ };
290
+
291
+ const make = (config) => {
292
+ if (!config.moduleBaseUrl) {
293
+ throw new Error(NO_MODULE_BASE_URL);
294
+ }
295
+ let timer = undefined;
296
+ setModuleBaseUrl(config.moduleBaseUrl);
297
+ setLoginPageUrl(config.loginPageUrl);
298
+ initInstance();
299
+ const init = (initConfig) => {
300
+ setTenantId(initConfig.tenantId);
301
+ setBrand(initConfig.brand || Brand.ZERO);
302
+ const token = getAccessToken();
303
+ const refreshToken = getRefreshToken();
304
+ if (!token) {
305
+ setAccessToken(null);
306
+ setRefreshToken(null);
307
+ return Promise.reject(new Error(NO_ACCESS_TOKEN));
308
+ }
309
+ if (!refreshToken) {
310
+ setAccessToken(null);
311
+ setRefreshToken(null);
312
+ return Promise.reject(new Error(NO_REFRESH_TOKEN));
313
+ }
314
+ return getUserInfo()
315
+ .then((userInfo) => __awaiter(void 0, void 0, void 0, function* () {
316
+ const valid = detectUserInfoGroupAuth(userInfo);
317
+ if (!valid) {
318
+ return Promise.reject();
319
+ }
320
+ return fetchServerListHTTP();
321
+ }))
322
+ .then(resp => {
323
+ const menus = resp.data.content || [];
324
+ const group = menus.find(menu => menu.groupName === config.moduleName);
325
+ if (menus.length <= 0) {
326
+ openDialog();
327
+ return Promise.reject();
328
+ }
329
+ if (config.moduleName === 'commonLogin') {
330
+ setupRefreshTokenTimer();
331
+ return Promise.resolve(menus);
332
+ }
333
+ if (!group) {
334
+ openDialog();
335
+ return Promise.reject();
336
+ }
337
+ setSystemType(group.staffEndpoint ? SystemType.Staff : SystemType.Client);
338
+ setupRefreshTokenTimer();
339
+ return Promise.resolve(menus);
340
+ })
341
+ .catch((error) => __awaiter(void 0, void 0, void 0, function* () {
342
+ clearRefreshTokenTimer();
343
+ setAccessToken(null);
344
+ setRefreshToken(null);
345
+ yield logout();
346
+ throw error;
347
+ }));
348
+ };
349
+ const detectUserInfoGroupAuth = (userInfo) => {
350
+ const groups = userInfo['cognito:groups'] || [];
351
+ if (!groups.includes(config.moduleName)
352
+ && config.moduleName !== 'commonLogin'
353
+ && config.moduleName !== 'App') {
354
+ return false;
355
+ }
356
+ return true;
357
+ };
358
+ const setupRefreshTokenTimer = () => {
359
+ const refreshToken = getRefreshToken();
360
+ if (!refreshToken)
361
+ return;
362
+ if (timer) {
363
+ clearInterval(timer);
364
+ }
365
+ timer = setInterval(() => {
366
+ fetchRefreshTokenHTTP(refreshToken)
367
+ .then(resp => {
368
+ const { content: { idToken } } = resp.data;
369
+ setAccessToken(idToken);
370
+ return getUserInfo();
371
+ })
372
+ .then(userInfo => {
373
+ const valid = detectUserInfoGroupAuth(userInfo);
374
+ if (!valid) {
375
+ clearRefreshTokenTimer();
376
+ openDialog();
377
+ return logout();
378
+ }
379
+ })
380
+ .catch(error => {
381
+ clearRefreshTokenTimer();
382
+ throw error;
383
+ });
384
+ }, 1e3 * 60 * 3); // 3 minutes
385
+ };
386
+ const logout = () => {
387
+ return fetchLogoutHTTP()
388
+ .finally(() => {
389
+ clearRefreshTokenTimer();
390
+ setAccessToken(null);
391
+ setRefreshToken(null);
392
+ });
393
+ };
394
+ const clearRefreshTokenTimer = () => {
395
+ if (!timer)
396
+ return;
397
+ clearInterval(timer);
398
+ timer = null;
399
+ };
400
+ return {
401
+ init,
402
+ logout
403
+ };
404
+ };
405
+
406
+ export { clearLoginCookie, getAccessToken, getCookie, getIdToken, getRefreshToken, getSystemType, getUrlParam, getUserInfo, isMobile, make, setAccessToken, setCookie, setIdToken, setRefreshToken, setSystemType };