@lvce-editor/auth-worker 3.3.0 → 3.4.0
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.
- package/dist/authWorkerMain.js +95 -90
- package/package.json +1 -1
package/dist/authWorkerMain.js
CHANGED
|
@@ -1060,6 +1060,100 @@ const initializeOpenerWorker = async () => {
|
|
|
1060
1060
|
set(rpc);
|
|
1061
1061
|
};
|
|
1062
1062
|
|
|
1063
|
+
const databaseName = 'auth-worker';
|
|
1064
|
+
const objectStoreName = 'auth';
|
|
1065
|
+
const memoryStorage = new Map();
|
|
1066
|
+
const state$1 = {
|
|
1067
|
+
databasePromise: undefined
|
|
1068
|
+
};
|
|
1069
|
+
|
|
1070
|
+
// IndexedDB request objects are mutable browser primitives and cannot satisfy the readonly rule structurally.
|
|
1071
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
1072
|
+
const requestToPromise = request => {
|
|
1073
|
+
return new Promise((resolve, reject) => {
|
|
1074
|
+
request.addEventListener('success', () => {
|
|
1075
|
+
resolve(request.result);
|
|
1076
|
+
});
|
|
1077
|
+
request.addEventListener('error', () => {
|
|
1078
|
+
reject(request.error ?? new Error('Persistent storage request failed.'));
|
|
1079
|
+
});
|
|
1080
|
+
});
|
|
1081
|
+
};
|
|
1082
|
+
|
|
1083
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
1084
|
+
const transactionToPromise = transaction => {
|
|
1085
|
+
return new Promise((resolve, reject) => {
|
|
1086
|
+
transaction.addEventListener('complete', () => {
|
|
1087
|
+
resolve();
|
|
1088
|
+
});
|
|
1089
|
+
transaction.addEventListener('abort', () => {
|
|
1090
|
+
reject(transaction.error ?? new Error('Persistent storage transaction failed.'));
|
|
1091
|
+
});
|
|
1092
|
+
transaction.addEventListener('error', () => {
|
|
1093
|
+
reject(transaction.error ?? new Error('Persistent storage transaction failed.'));
|
|
1094
|
+
});
|
|
1095
|
+
});
|
|
1096
|
+
};
|
|
1097
|
+
const getDatabase = async () => {
|
|
1098
|
+
if (typeof indexedDB === 'undefined') {
|
|
1099
|
+
return undefined;
|
|
1100
|
+
}
|
|
1101
|
+
if (!state$1.databasePromise) {
|
|
1102
|
+
state$1.databasePromise = new Promise((resolve, reject) => {
|
|
1103
|
+
const request = indexedDB.open(databaseName, 1);
|
|
1104
|
+
request.addEventListener('upgradeneeded', () => {
|
|
1105
|
+
const database = request.result;
|
|
1106
|
+
if (!database.objectStoreNames.contains(objectStoreName)) {
|
|
1107
|
+
database.createObjectStore(objectStoreName);
|
|
1108
|
+
}
|
|
1109
|
+
});
|
|
1110
|
+
request.addEventListener('success', () => {
|
|
1111
|
+
resolve(request.result);
|
|
1112
|
+
});
|
|
1113
|
+
request.addEventListener('error', () => {
|
|
1114
|
+
reject(request.error ?? new Error('Failed to open persistent auth storage.'));
|
|
1115
|
+
});
|
|
1116
|
+
});
|
|
1117
|
+
}
|
|
1118
|
+
return state$1.databasePromise;
|
|
1119
|
+
};
|
|
1120
|
+
const getPersistentAuthValue = async key => {
|
|
1121
|
+
const database = await getDatabase();
|
|
1122
|
+
if (!database) {
|
|
1123
|
+
return memoryStorage.get(key) ?? '';
|
|
1124
|
+
}
|
|
1125
|
+
const transaction = database.transaction(objectStoreName, 'readonly');
|
|
1126
|
+
const objectStore = transaction.objectStore(objectStoreName);
|
|
1127
|
+
const value = await requestToPromise(objectStore.get(key));
|
|
1128
|
+
return typeof value === 'string' ? value : '';
|
|
1129
|
+
};
|
|
1130
|
+
const setPersistentAuthValue = async (key, value) => {
|
|
1131
|
+
memoryStorage.set(key, value);
|
|
1132
|
+
const database = await getDatabase();
|
|
1133
|
+
if (!database) {
|
|
1134
|
+
return;
|
|
1135
|
+
}
|
|
1136
|
+
const transaction = database.transaction(objectStoreName, 'readwrite');
|
|
1137
|
+
const objectStore = transaction.objectStore(objectStoreName);
|
|
1138
|
+
objectStore.put(value, key);
|
|
1139
|
+
await transactionToPromise(transaction);
|
|
1140
|
+
};
|
|
1141
|
+
const clearPersistentAuthValue = async key => {
|
|
1142
|
+
memoryStorage.delete(key);
|
|
1143
|
+
const database = await getDatabase();
|
|
1144
|
+
if (!database) {
|
|
1145
|
+
return;
|
|
1146
|
+
}
|
|
1147
|
+
const transaction = database.transaction(objectStoreName, 'readwrite');
|
|
1148
|
+
const objectStore = transaction.objectStore(objectStoreName);
|
|
1149
|
+
objectStore.delete(key);
|
|
1150
|
+
await transactionToPromise(transaction);
|
|
1151
|
+
};
|
|
1152
|
+
|
|
1153
|
+
const getAccessToken = () => {
|
|
1154
|
+
return getPersistentAuthValue('accessToken');
|
|
1155
|
+
};
|
|
1156
|
+
|
|
1063
1157
|
const handleMessagePort = async (port, rpcId) => {
|
|
1064
1158
|
const rpc = await create$4({
|
|
1065
1159
|
commandMap: commandMap,
|
|
@@ -1957,96 +2051,6 @@ const getOidcUserName = async (backendUrl, accessToken, fetchFn = fetch) => {
|
|
|
1957
2051
|
return typeof displayName === 'string' ? displayName : '';
|
|
1958
2052
|
};
|
|
1959
2053
|
|
|
1960
|
-
const databaseName = 'auth-worker';
|
|
1961
|
-
const objectStoreName = 'auth';
|
|
1962
|
-
const memoryStorage = new Map();
|
|
1963
|
-
const state$1 = {
|
|
1964
|
-
databasePromise: undefined
|
|
1965
|
-
};
|
|
1966
|
-
|
|
1967
|
-
// IndexedDB request objects are mutable browser primitives and cannot satisfy the readonly rule structurally.
|
|
1968
|
-
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
1969
|
-
const requestToPromise = request => {
|
|
1970
|
-
return new Promise((resolve, reject) => {
|
|
1971
|
-
request.addEventListener('success', () => {
|
|
1972
|
-
resolve(request.result);
|
|
1973
|
-
});
|
|
1974
|
-
request.addEventListener('error', () => {
|
|
1975
|
-
reject(request.error ?? new Error('Persistent storage request failed.'));
|
|
1976
|
-
});
|
|
1977
|
-
});
|
|
1978
|
-
};
|
|
1979
|
-
|
|
1980
|
-
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
1981
|
-
const transactionToPromise = transaction => {
|
|
1982
|
-
return new Promise((resolve, reject) => {
|
|
1983
|
-
transaction.addEventListener('complete', () => {
|
|
1984
|
-
resolve();
|
|
1985
|
-
});
|
|
1986
|
-
transaction.addEventListener('abort', () => {
|
|
1987
|
-
reject(transaction.error ?? new Error('Persistent storage transaction failed.'));
|
|
1988
|
-
});
|
|
1989
|
-
transaction.addEventListener('error', () => {
|
|
1990
|
-
reject(transaction.error ?? new Error('Persistent storage transaction failed.'));
|
|
1991
|
-
});
|
|
1992
|
-
});
|
|
1993
|
-
};
|
|
1994
|
-
const getDatabase = async () => {
|
|
1995
|
-
if (typeof indexedDB === 'undefined') {
|
|
1996
|
-
return undefined;
|
|
1997
|
-
}
|
|
1998
|
-
if (!state$1.databasePromise) {
|
|
1999
|
-
state$1.databasePromise = new Promise((resolve, reject) => {
|
|
2000
|
-
const request = indexedDB.open(databaseName, 1);
|
|
2001
|
-
request.addEventListener('upgradeneeded', () => {
|
|
2002
|
-
const database = request.result;
|
|
2003
|
-
if (!database.objectStoreNames.contains(objectStoreName)) {
|
|
2004
|
-
database.createObjectStore(objectStoreName);
|
|
2005
|
-
}
|
|
2006
|
-
});
|
|
2007
|
-
request.addEventListener('success', () => {
|
|
2008
|
-
resolve(request.result);
|
|
2009
|
-
});
|
|
2010
|
-
request.addEventListener('error', () => {
|
|
2011
|
-
reject(request.error ?? new Error('Failed to open persistent auth storage.'));
|
|
2012
|
-
});
|
|
2013
|
-
});
|
|
2014
|
-
}
|
|
2015
|
-
return state$1.databasePromise;
|
|
2016
|
-
};
|
|
2017
|
-
const getPersistentAuthValue = async key => {
|
|
2018
|
-
const database = await getDatabase();
|
|
2019
|
-
if (!database) {
|
|
2020
|
-
return memoryStorage.get(key) ?? '';
|
|
2021
|
-
}
|
|
2022
|
-
const transaction = database.transaction(objectStoreName, 'readonly');
|
|
2023
|
-
const objectStore = transaction.objectStore(objectStoreName);
|
|
2024
|
-
const value = await requestToPromise(objectStore.get(key));
|
|
2025
|
-
return typeof value === 'string' ? value : '';
|
|
2026
|
-
};
|
|
2027
|
-
const setPersistentAuthValue = async (key, value) => {
|
|
2028
|
-
memoryStorage.set(key, value);
|
|
2029
|
-
const database = await getDatabase();
|
|
2030
|
-
if (!database) {
|
|
2031
|
-
return;
|
|
2032
|
-
}
|
|
2033
|
-
const transaction = database.transaction(objectStoreName, 'readwrite');
|
|
2034
|
-
const objectStore = transaction.objectStore(objectStoreName);
|
|
2035
|
-
objectStore.put(value, key);
|
|
2036
|
-
await transactionToPromise(transaction);
|
|
2037
|
-
};
|
|
2038
|
-
const clearPersistentAuthValue = async key => {
|
|
2039
|
-
memoryStorage.delete(key);
|
|
2040
|
-
const database = await getDatabase();
|
|
2041
|
-
if (!database) {
|
|
2042
|
-
return;
|
|
2043
|
-
}
|
|
2044
|
-
const transaction = database.transaction(objectStoreName, 'readwrite');
|
|
2045
|
-
const objectStore = transaction.objectStore(objectStoreName);
|
|
2046
|
-
objectStore.delete(key);
|
|
2047
|
-
await transactionToPromise(transaction);
|
|
2048
|
-
};
|
|
2049
|
-
|
|
2050
2054
|
const callbackUrlKey = 'oidcCallbackUrl';
|
|
2051
2055
|
const clientIdKey = 'oidcClientId';
|
|
2052
2056
|
const pendingClientIdKey = 'pendingOidcClientId';
|
|
@@ -2973,6 +2977,7 @@ const commandMap = {
|
|
|
2973
2977
|
'Auth.clearMocks': clear,
|
|
2974
2978
|
'Auth.consumeNextLoginResponse': consumeNextLoginResponse,
|
|
2975
2979
|
'Auth.consumeNextRefreshResponse': consumeNextRefreshResponse,
|
|
2980
|
+
'Auth.getAccessToken': getAccessToken,
|
|
2976
2981
|
'Auth.hasPendingMockLoginResponse': hasPendingMockLoginResponse,
|
|
2977
2982
|
'Auth.hasPendingMockRefreshResponse': hasPendingMockRefreshResponse,
|
|
2978
2983
|
'Auth.initialize': initialize,
|