oidc-spa 6.4.0 → 6.5.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/oidc/createOidc.d.ts +0 -2
- package/oidc/createOidc.js +307 -355
- package/oidc/createOidc.js.map +1 -1
- package/oidc/{createIsUserActive.js → isUserActive.js} +1 -1
- package/oidc/isUserActive.js.map +1 -0
- package/oidc/loginOrGoToAuthServer.d.ts +41 -0
- package/oidc/loginOrGoToAuthServer.js +296 -0
- package/oidc/loginOrGoToAuthServer.js.map +1 -0
- package/oidc/loginSilent.d.ts +2 -2
- package/oidc/loginSilent.js +2 -2
- package/oidc/loginSilent.js.map +1 -1
- package/oidc/oidcClientTsUserToTokens.d.ts +1 -0
- package/oidc/oidcClientTsUserToTokens.js +16 -0
- package/oidc/oidcClientTsUserToTokens.js.map +1 -1
- package/oidc/persistedAuthState.d.ts +9 -0
- package/oidc/persistedAuthState.js +28 -0
- package/oidc/persistedAuthState.js.map +1 -0
- package/package.json +26 -11
- package/src/oidc/createOidc.ts +291 -353
- package/src/oidc/loginOrGoToAuthServer.ts +267 -0
- package/src/oidc/loginSilent.ts +4 -4
- package/src/oidc/oidcClientTsUserToTokens.ts +24 -0
- package/src/oidc/persistedAuthState.ts +36 -0
- package/src/tools/ephemeralSessionStorage.ts +191 -0
- package/src/tools/haveSharedParentDomain.ts +13 -0
- package/tools/ephemeralSessionStorage.d.ts +3 -0
- package/tools/ephemeralSessionStorage.js +133 -0
- package/tools/ephemeralSessionStorage.js.map +1 -0
- package/tools/haveSharedParentDomain.d.ts +4 -0
- package/tools/haveSharedParentDomain.js +14 -0
- package/tools/haveSharedParentDomain.js.map +1 -0
- package/vendor/frontend/oidc-client-ts-and-jwt-decode.js +1 -1
- package/oidc/createIsUserActive.js.map +0 -1
- package/oidc/persistedLogoutState.d.ts +0 -9
- package/oidc/persistedLogoutState.js +0 -25
- package/oidc/persistedLogoutState.js.map +0 -1
- package/src/oidc/persistedLogoutState.ts +0 -29
- /package/oidc/{createIsUserActive.d.ts → isUserActive.d.ts} +0 -0
- /package/src/oidc/{createIsUserActive.ts → isUserActive.ts} +0 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createEphemeralSessionStorage = createEphemeralSessionStorage;
|
|
4
|
+
var tsafe_1 = require("../vendor/frontend/tsafe");
|
|
5
|
+
var SessionStorageItem_Parsed;
|
|
6
|
+
(function (SessionStorageItem_Parsed) {
|
|
7
|
+
SessionStorageItem_Parsed.brand = "SessionStorageItem_Parsed";
|
|
8
|
+
})(SessionStorageItem_Parsed || (SessionStorageItem_Parsed = {}));
|
|
9
|
+
function parseSessionStorageItem(sessionStorageItemValue) {
|
|
10
|
+
var json;
|
|
11
|
+
try {
|
|
12
|
+
json = JSON.parse(sessionStorageItemValue);
|
|
13
|
+
}
|
|
14
|
+
catch (_a) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
if (!(0, tsafe_1.typeGuard)(json, json instanceof Object &&
|
|
18
|
+
"__brand" in json &&
|
|
19
|
+
json.__brand === SessionStorageItem_Parsed.brand)) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
return json;
|
|
23
|
+
}
|
|
24
|
+
var SESSION_STORAGE_PREFIX = "ephemeral:";
|
|
25
|
+
function createStoreInSessionStorageAndScheduleRemovalInMemoryItem(params) {
|
|
26
|
+
var key = params.key, value = params.value, remainingTtlMs = params.remainingTtlMs;
|
|
27
|
+
var sessionStorageKey = "".concat(SESSION_STORAGE_PREFIX).concat(key);
|
|
28
|
+
var removeFromSessionStorage = function () {
|
|
29
|
+
inMemoryItem.removeFromSessionStorage = undefined;
|
|
30
|
+
clearTimeout(timer);
|
|
31
|
+
sessionStorage.removeItem(sessionStorageKey);
|
|
32
|
+
};
|
|
33
|
+
var timer = setTimeout(function () { return removeFromSessionStorage(); }, remainingTtlMs);
|
|
34
|
+
var inMemoryItem = {
|
|
35
|
+
key: key,
|
|
36
|
+
value: value,
|
|
37
|
+
removeFromSessionStorage: removeFromSessionStorage
|
|
38
|
+
};
|
|
39
|
+
sessionStorage.removeItem(sessionStorageKey);
|
|
40
|
+
sessionStorage.setItem(sessionStorageKey, JSON.stringify((0, tsafe_1.id)({
|
|
41
|
+
__brand: "SessionStorageItem_Parsed",
|
|
42
|
+
value: value,
|
|
43
|
+
expiresAtTime: Date.now() + remainingTtlMs
|
|
44
|
+
})));
|
|
45
|
+
return inMemoryItem;
|
|
46
|
+
}
|
|
47
|
+
function createEphemeralSessionStorage(params) {
|
|
48
|
+
var sessionStorageTtlMs = params.sessionStorageTtlMs;
|
|
49
|
+
var inMemoryItems = [];
|
|
50
|
+
for (var i = 0; i < sessionStorage.length; i++) {
|
|
51
|
+
var sessionStorageKey = sessionStorage.key(i);
|
|
52
|
+
(0, tsafe_1.assert)(sessionStorageKey !== null);
|
|
53
|
+
if (!sessionStorageKey.startsWith(SESSION_STORAGE_PREFIX)) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
var sessionStorageItem = sessionStorage.getItem(sessionStorageKey);
|
|
57
|
+
(0, tsafe_1.assert)(sessionStorageItem !== null);
|
|
58
|
+
var sessionStorageItem_parsed = parseSessionStorageItem(sessionStorageItem);
|
|
59
|
+
if (sessionStorageItem_parsed === undefined) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
var remainingTtlMs = sessionStorageItem_parsed.expiresAtTime - Date.now();
|
|
63
|
+
if (remainingTtlMs <= 0) {
|
|
64
|
+
sessionStorage.removeItem(sessionStorageKey);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
inMemoryItems.push(createStoreInSessionStorageAndScheduleRemovalInMemoryItem({
|
|
68
|
+
key: sessionStorageKey.slice(SESSION_STORAGE_PREFIX.length),
|
|
69
|
+
value: sessionStorageItem_parsed.value,
|
|
70
|
+
remainingTtlMs: remainingTtlMs
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
var storage = {
|
|
74
|
+
get length() {
|
|
75
|
+
return inMemoryItems.length;
|
|
76
|
+
},
|
|
77
|
+
key: function (index) {
|
|
78
|
+
var inMemoryItem = inMemoryItems[index];
|
|
79
|
+
if (inMemoryItem === undefined) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
return inMemoryItem.key;
|
|
83
|
+
},
|
|
84
|
+
removeItem: function (key) {
|
|
85
|
+
var _a;
|
|
86
|
+
var inMemoryItem = inMemoryItems.find(function (item) { return item.key === key; });
|
|
87
|
+
if (inMemoryItem === undefined) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
(_a = inMemoryItem.removeFromSessionStorage) === null || _a === void 0 ? void 0 : _a.call(inMemoryItem);
|
|
91
|
+
var index = inMemoryItems.indexOf(inMemoryItem);
|
|
92
|
+
inMemoryItems.splice(index, 1);
|
|
93
|
+
},
|
|
94
|
+
clear: function () {
|
|
95
|
+
for (var i = 0; i < storage.length; i++) {
|
|
96
|
+
var key = storage.key(i);
|
|
97
|
+
(0, tsafe_1.assert)(key !== null);
|
|
98
|
+
storage.removeItem(key);
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
getItem: function (key) {
|
|
102
|
+
var inMemoryItem = inMemoryItems.find(function (item) { return item.key === key; });
|
|
103
|
+
if (inMemoryItem === undefined) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
return inMemoryItem.value;
|
|
107
|
+
},
|
|
108
|
+
setItem: function (key, value) {
|
|
109
|
+
var _a;
|
|
110
|
+
var existingInMemoryItemIndex = undefined;
|
|
111
|
+
{
|
|
112
|
+
var inMemoryItem = inMemoryItems.find(function (item) { return item.key === key; });
|
|
113
|
+
if (inMemoryItem !== undefined) {
|
|
114
|
+
(_a = inMemoryItem.removeFromSessionStorage) === null || _a === void 0 ? void 0 : _a.call(inMemoryItem);
|
|
115
|
+
existingInMemoryItemIndex = inMemoryItems.indexOf(inMemoryItem);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
var inMemoryItem_new = createStoreInSessionStorageAndScheduleRemovalInMemoryItem({
|
|
119
|
+
key: key,
|
|
120
|
+
value: value,
|
|
121
|
+
remainingTtlMs: sessionStorageTtlMs
|
|
122
|
+
});
|
|
123
|
+
if (existingInMemoryItemIndex !== undefined) {
|
|
124
|
+
inMemoryItems[existingInMemoryItemIndex] = inMemoryItem_new;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
inMemoryItems.push(inMemoryItem_new);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
return storage;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=ephemeralSessionStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ephemeralSessionStorage.js","sourceRoot":"","sources":["../src/tools/ephemeralSessionStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getHaveSharedParentDomain = getHaveSharedParentDomain;
|
|
4
|
+
function getHaveSharedParentDomain(params) {
|
|
5
|
+
var url1 = params.url1, url2 = params.url2;
|
|
6
|
+
var url1Domain = new URL(url1).hostname;
|
|
7
|
+
var url2Domain = new URL(url2).hostname;
|
|
8
|
+
var getLevel2Domain = function (url) {
|
|
9
|
+
var parts = url.split(".");
|
|
10
|
+
return parts.slice(parts.length - 2).join(".");
|
|
11
|
+
};
|
|
12
|
+
return getLevel2Domain(url1Domain) === getLevel2Domain(url2Domain);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=haveSharedParentDomain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"haveSharedParentDomain.js","sourceRoot":"","sources":["../src/tools/haveSharedParentDomain.ts"],"names":[],"mappings":";;AAAA,8DAYC;AAZD,SAAgB,yBAAyB,CAAC,MAAsC;IACpE,IAAA,IAAI,GAAW,MAAM,KAAjB,EAAE,IAAI,GAAK,MAAM,KAAX,CAAY;IAE9B,IAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAC1C,IAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAE1C,IAAM,eAAe,GAAG,UAAC,GAAW;QAChC,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,OAAO,eAAe,CAAC,UAAU,CAAC,KAAK,eAAe,CAAC,UAAU,CAAC,CAAC;AACvE,CAAC"}
|