oidc-spa 6.14.0 → 6.14.2
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/README.md +5 -2
- package/core/createOidc.js +1 -1
- package/core/debug966975.d.ts +7 -0
- package/core/debug966975.js +88 -0
- package/core/debug966975.js.map +1 -0
- package/core/handleOidcCallback.js +49 -11
- package/core/handleOidcCallback.js.map +1 -1
- package/core/oidcClientTsUserToTokens.js +1 -1
- package/core/oidcClientTsUserToTokens.js.map +1 -1
- package/package.json +9 -1
- package/src/core/debug966975.ts +85 -0
- package/src/core/handleOidcCallback.ts +75 -9
- package/src/core/oidcClientTsUserToTokens.ts +1 -1
- package/src/tools/getUserEnvironmentInfo.ts +42 -0
- package/src/tools/toFullyQualifiedUrl.ts +4 -1
- package/tools/getUserEnvironmentInfo.d.ts +1 -0
- package/tools/getUserEnvironmentInfo.js +48 -0
- package/tools/getUserEnvironmentInfo.js.map +1 -0
- package/tools/toFullyQualifiedUrl.js +4 -1
- package/tools/toFullyQualifiedUrl.js.map +1 -1
package/README.md
CHANGED
|
@@ -160,9 +160,12 @@ Project backers, we trust and recommend their services.
|
|
|
160
160
|
</a>
|
|
161
161
|
</p>
|
|
162
162
|
|
|
163
|
-
##
|
|
163
|
+
## We built it because we needed it.
|
|
164
164
|
|
|
165
|
-
This library
|
|
165
|
+
This library isn't a theoretical exercise or a tool for hobby projects.
|
|
166
|
+
We developed it to solve real-world problems we faced ourselves.
|
|
167
|
+
Today, it powers authentication for [Onyxia](https://onyxia.sh)—
|
|
168
|
+
a data science platform deployed across multiple large organizations.
|
|
166
169
|
|
|
167
170
|
### Onyxia
|
|
168
171
|
|
package/core/createOidc.js
CHANGED
|
@@ -125,7 +125,7 @@ var isNewBrowserSession_1 = require("./isNewBrowserSession");
|
|
|
125
125
|
var trustedFetch_1 = require("./trustedFetch");
|
|
126
126
|
(0, handleOidcCallback_1.handleOidcCallback)();
|
|
127
127
|
// NOTE: Replaced at build time
|
|
128
|
-
var VERSION = "6.14.
|
|
128
|
+
var VERSION = "6.14.2";
|
|
129
129
|
var globalContext = {
|
|
130
130
|
prOidcByConfigId: new Map(),
|
|
131
131
|
hasLogoutBeenCalled: (0, tsafe_1.id)(false),
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.debug966975 = void 0;
|
|
29
|
+
var getUserEnvironmentInfo_1 = require("../tools/getUserEnvironmentInfo");
|
|
30
|
+
var LOCAL_STORAGE_KEY = "oidc-spa_966975_diagnostic";
|
|
31
|
+
var appInstanceId = Math.random().toString(36).slice(2);
|
|
32
|
+
function log(message) {
|
|
33
|
+
var logEntry = {
|
|
34
|
+
appInstanceId: appInstanceId,
|
|
35
|
+
time: Date.now(),
|
|
36
|
+
message: message
|
|
37
|
+
};
|
|
38
|
+
var value = localStorage.getItem(LOCAL_STORAGE_KEY);
|
|
39
|
+
var value_parsed = value === null ? [] : JSON.parse(value);
|
|
40
|
+
if (value_parsed.length === 100) {
|
|
41
|
+
value_parsed.shift();
|
|
42
|
+
}
|
|
43
|
+
value_parsed.push(logEntry);
|
|
44
|
+
localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(value_parsed));
|
|
45
|
+
}
|
|
46
|
+
function report() {
|
|
47
|
+
var logEntries = (function () {
|
|
48
|
+
var value = localStorage.getItem(LOCAL_STORAGE_KEY);
|
|
49
|
+
if (value === null) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
return JSON.parse(value);
|
|
53
|
+
})();
|
|
54
|
+
localStorage.removeItem(LOCAL_STORAGE_KEY);
|
|
55
|
+
var report = __spreadArray(__spreadArray([
|
|
56
|
+
(0, getUserEnvironmentInfo_1.getUserEnvironmentInfo)()
|
|
57
|
+
], __read(logEntries.map(function (_a) {
|
|
58
|
+
var appInstanceId = _a.appInstanceId, time = _a.time, message = _a.message;
|
|
59
|
+
return "".concat(appInstanceId, " (").concat(time, "): ").concat(message);
|
|
60
|
+
})), false), [
|
|
61
|
+
getOidcLocalStorageDump()
|
|
62
|
+
], false).join("\n");
|
|
63
|
+
var key_report = "".concat(LOCAL_STORAGE_KEY, "_report_b64");
|
|
64
|
+
localStorage.setItem(key_report, btoa(report));
|
|
65
|
+
console.warn([
|
|
66
|
+
"If you see this message there's been unexpected behavior in oidc-spa",
|
|
67
|
+
"It is a hard to reproduce case, could you please open an issue on https://github.com/keycloakify/oidc-spa",
|
|
68
|
+
"and include the value of `localStorage[\"".concat(key_report, "\"]` in the message?"),
|
|
69
|
+
"Alternatively, you can send an email at joseph.garrone@protonmail.com",
|
|
70
|
+
"Thanks in advance for helping me figure this out"
|
|
71
|
+
].join(" "));
|
|
72
|
+
}
|
|
73
|
+
exports.debug966975 = {
|
|
74
|
+
log: log,
|
|
75
|
+
report: report
|
|
76
|
+
};
|
|
77
|
+
function getOidcLocalStorageDump() {
|
|
78
|
+
var entries = [];
|
|
79
|
+
for (var i = 0; i < localStorage.length; i++) {
|
|
80
|
+
var key = localStorage.key(i);
|
|
81
|
+
if (key && key.startsWith("oidc.")) {
|
|
82
|
+
var value = localStorage.getItem(key);
|
|
83
|
+
entries.push("".concat(key, " = ").concat(value));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return entries.join("\n");
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=debug966975.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug966975.js","sourceRoot":"","sources":["../src/core/debug966975.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0EAAyE;AAEzE,IAAM,iBAAiB,GAAG,4BAA4B,CAAC;AACvD,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAQ1D,SAAS,GAAG,CAAC,OAAe;IACxB,IAAM,QAAQ,GAAa;QACvB,aAAa,eAAA;QACb,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;QAChB,OAAO,SAAA;KACV,CAAC;IAEF,IAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEtD,IAAM,YAAY,GAAe,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzE,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC9B,YAAY,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE5B,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,MAAM;IACX,IAAM,UAAU,GAAe,CAAC;QAC5B,IAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEtD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,EAAE,CAAC;IAEL,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE3C,IAAM,MAAM,GAAG;QACX,IAAA,+CAAsB,GAAE;cACrB,UAAU,CAAC,GAAG,CACb,UAAC,EAAgC;YAA9B,aAAa,mBAAA,EAAE,IAAI,UAAA,EAAE,OAAO,aAAA;QAAO,OAAA,UAAG,aAAa,eAAK,IAAI,gBAAM,OAAO,CAAE;IAAxC,CAAwC,CACjF;QACD,uBAAuB,EAAE;cAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAM,UAAU,GAAG,UAAG,iBAAiB,gBAAa,CAAC;IAErD,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/C,OAAO,CAAC,IAAI,CACR;QACI,sEAAsE;QACtE,2GAA2G;QAC3G,mDAA4C,UAAU,yBAAsB;QAC5E,uEAAuE;QACvE,kDAAkD;KACrD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;AACN,CAAC;AAEY,QAAA,WAAW,GAAG;IACvB,GAAG,KAAA;IACH,MAAM,QAAA;CACT,CAAC;AAEF,SAAS,uBAAuB;IAC5B,IAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,IAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,UAAG,GAAG,gBAAM,KAAK,CAAE,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -53,42 +53,52 @@ var StateData_1 = require("./StateData");
|
|
|
53
53
|
var tsafe_1 = require("../vendor/frontend/tsafe");
|
|
54
54
|
var initialLocationHref_1 = require("./initialLocationHref");
|
|
55
55
|
var trustedFetch_1 = require("./trustedFetch");
|
|
56
|
+
var debug966975_1 = require("./debug966975");
|
|
56
57
|
(0, trustedFetch_1.captureFetch)();
|
|
57
58
|
var globalContext = {
|
|
58
59
|
previousCall: (0, tsafe_1.id)(undefined)
|
|
59
60
|
};
|
|
61
|
+
debug966975_1.debug966975.log("=================== Evaluating the handleOidcCallback file, isInIframe: ".concat(window.self !== window.top ? "true" : "false", ", location.href: ").concat(initialLocationHref_1.initialLocationHref));
|
|
60
62
|
function handleOidcCallback() {
|
|
61
63
|
if (globalContext.previousCall !== undefined) {
|
|
64
|
+
debug966975_1.debug966975.log("handleOidcCallback() call, it has been called previously ".concat(JSON.stringify(globalContext.previousCall)));
|
|
62
65
|
return globalContext.previousCall;
|
|
63
66
|
}
|
|
64
67
|
return (globalContext.previousCall = handleOidcCallback_nonMemoized());
|
|
65
68
|
}
|
|
66
69
|
function handleOidcCallback_nonMemoized() {
|
|
67
70
|
var e_1, _a;
|
|
71
|
+
debug966975_1.debug966975.log("In handleOidcCallback_nonMemoized()");
|
|
68
72
|
var location_urlObj = new URL(initialLocationHref_1.initialLocationHref);
|
|
69
73
|
var stateQueryParamValue = (function () {
|
|
70
74
|
var stateQueryParamValue = location_urlObj.searchParams.get("state");
|
|
71
75
|
if (stateQueryParamValue === null) {
|
|
76
|
+
debug966975_1.debug966975.log("No state in url");
|
|
72
77
|
return undefined;
|
|
73
78
|
}
|
|
74
79
|
if (!(0, StateData_1.getIsStatQueryParamValue)({ maybeStateQueryParamValue: stateQueryParamValue })) {
|
|
80
|
+
debug966975_1.debug966975.log("State query param value ".concat(stateQueryParamValue, " is malformed"));
|
|
75
81
|
return undefined;
|
|
76
82
|
}
|
|
77
83
|
if (location_urlObj.searchParams.get("client_id") !== null &&
|
|
78
84
|
location_urlObj.searchParams.get("response_type") !== null &&
|
|
79
85
|
location_urlObj.searchParams.get("redirect_uri") !== null) {
|
|
86
|
+
debug966975_1.debug966975.log("NOTE: We are probably in a Keycloakify theme and oidc-spa was loaded by mistake.");
|
|
80
87
|
// NOTE: We are probably in a Keycloakify theme and oidc-spa was loaded by mistake.
|
|
81
88
|
return undefined;
|
|
82
89
|
}
|
|
83
90
|
return stateQueryParamValue;
|
|
84
91
|
})();
|
|
92
|
+
debug966975_1.debug966975.log("state query param value ".concat(stateQueryParamValue !== null && stateQueryParamValue !== void 0 ? stateQueryParamValue : "undefined"));
|
|
85
93
|
if (stateQueryParamValue === undefined) {
|
|
86
94
|
var backForwardTracker = readBackForwardTracker();
|
|
95
|
+
debug966975_1.debug966975.log("backForwardTracker: ".concat(JSON.stringify(backForwardTracker)));
|
|
87
96
|
if (backForwardTracker !== undefined) {
|
|
88
97
|
writeBackForwardTracker({
|
|
89
98
|
backForwardTracker: __assign(__assign({}, backForwardTracker), { hasExitedCallback: true })
|
|
90
99
|
});
|
|
91
100
|
}
|
|
101
|
+
debug966975_1.debug966975.log("returning isHandled false");
|
|
92
102
|
return { isHandled: false };
|
|
93
103
|
}
|
|
94
104
|
var isHandled = true;
|
|
@@ -97,9 +107,10 @@ function handleOidcCallback_nonMemoized() {
|
|
|
97
107
|
console.error = function () { };
|
|
98
108
|
console.debug = function () { };
|
|
99
109
|
var stateData = (0, StateData_1.getStateData)({ stateQueryParamValue: stateQueryParamValue });
|
|
110
|
+
debug966975_1.debug966975.log("stateData: ".concat(JSON.stringify(stateData)));
|
|
100
111
|
if (stateData === undefined ||
|
|
101
112
|
(stateData.context === "redirect" && stateData.hasBeenProcessedByCallback)) {
|
|
102
|
-
var
|
|
113
|
+
var historyMethod_1 = (function () {
|
|
103
114
|
var backForwardTracker = readBackForwardTracker();
|
|
104
115
|
if (backForwardTracker === undefined) {
|
|
105
116
|
return "back";
|
|
@@ -114,14 +125,19 @@ function handleOidcCallback_nonMemoized() {
|
|
|
114
125
|
return "back";
|
|
115
126
|
}
|
|
116
127
|
})();
|
|
128
|
+
debug966975_1.debug966975.log("historyMethod: ".concat(historyMethod_1));
|
|
117
129
|
writeBackForwardTracker({
|
|
118
130
|
backForwardTracker: {
|
|
119
|
-
previousHistoryMethod:
|
|
131
|
+
previousHistoryMethod: historyMethod_1,
|
|
120
132
|
hasExitedCallback: false
|
|
121
133
|
}
|
|
122
134
|
});
|
|
123
135
|
reloadOnBfCacheNavigation();
|
|
124
|
-
|
|
136
|
+
setTimeout(function () {
|
|
137
|
+
debug966975_1.debug966975.log("(callback 0) Calling window.history.".concat(historyMethod_1, "()"));
|
|
138
|
+
window.history[historyMethod_1]();
|
|
139
|
+
}, 0);
|
|
140
|
+
debug966975_1.debug966975.log("returning isHandled: ".concat(isHandled ? "true" : "false"));
|
|
125
141
|
return { isHandled: isHandled };
|
|
126
142
|
}
|
|
127
143
|
var authResponse = { state: "" };
|
|
@@ -139,9 +155,13 @@ function handleOidcCallback_nonMemoized() {
|
|
|
139
155
|
finally { if (e_1) throw e_1.error; }
|
|
140
156
|
}
|
|
141
157
|
(0, tsafe_1.assert)(authResponse.state !== "", "063965");
|
|
158
|
+
debug966975_1.debug966975.log("authResponse: ".concat(JSON.stringify(authResponse)));
|
|
142
159
|
switch (stateData.context) {
|
|
143
160
|
case "iframe":
|
|
144
|
-
|
|
161
|
+
setTimeout(function () {
|
|
162
|
+
debug966975_1.debug966975.log("(callback 0) posting message to parent");
|
|
163
|
+
parent.postMessage(authResponse, location.origin);
|
|
164
|
+
}, 0);
|
|
145
165
|
break;
|
|
146
166
|
case "redirect":
|
|
147
167
|
(0, StateData_1.markStateDataAsProcessedByCallback)({ stateQueryParamValue: stateQueryParamValue });
|
|
@@ -150,14 +170,19 @@ function handleOidcCallback_nonMemoized() {
|
|
|
150
170
|
authResponses: __spreadArray(__spreadArray([], __read(readRedirectAuthResponses()), false), [authResponse], false)
|
|
151
171
|
});
|
|
152
172
|
reloadOnBfCacheNavigation();
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
173
|
+
setTimeout(function () {
|
|
174
|
+
var href = (function () {
|
|
175
|
+
if (stateData.action === "login" && authResponse.error === "consent_required") {
|
|
176
|
+
return stateData.redirectUrl_consentRequiredCase;
|
|
177
|
+
}
|
|
178
|
+
return stateData.redirectUrl;
|
|
179
|
+
})();
|
|
180
|
+
debug966975_1.debug966975.log("(callback 0) location.href = \"".concat(href, "\";"));
|
|
181
|
+
location.href = href;
|
|
182
|
+
}, 0);
|
|
159
183
|
break;
|
|
160
184
|
}
|
|
185
|
+
debug966975_1.debug966975.log("Returning isHandled: ".concat(isHandled ? "true" : "false"));
|
|
161
186
|
return { isHandled: isHandled };
|
|
162
187
|
}
|
|
163
188
|
var _a = (function () {
|
|
@@ -182,13 +207,24 @@ var _a = (function () {
|
|
|
182
207
|
function retrieveRedirectAuthResponseAndStateData(params) {
|
|
183
208
|
var e_2, _a;
|
|
184
209
|
var configId = params.configId;
|
|
210
|
+
debug966975_1.debug966975.log(">>> In retrieveRedirectAuthResponseAndStateData(".concat(JSON.stringify({ configId: configId }), ")"));
|
|
185
211
|
var authResponses = readRedirectAuthResponses();
|
|
212
|
+
debug966975_1.debug966975.log("authResponses: ".concat(JSON.stringify(authResponses)));
|
|
186
213
|
var authResponseAndStateData = undefined;
|
|
187
214
|
try {
|
|
188
215
|
for (var _b = __values(__spreadArray([], __read(authResponses), false)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
189
216
|
var authResponse = _c.value;
|
|
217
|
+
debug966975_1.debug966975.log("authResponse: ".concat(JSON.stringify(authResponse)));
|
|
190
218
|
var stateData = (0, StateData_1.getStateData)({ stateQueryParamValue: authResponse.state });
|
|
191
|
-
(
|
|
219
|
+
debug966975_1.debug966975.log("stateDate: ".concat(JSON.stringify(stateData)));
|
|
220
|
+
try {
|
|
221
|
+
(0, tsafe_1.assert)(stateData !== undefined, "966975");
|
|
222
|
+
}
|
|
223
|
+
catch (_d) {
|
|
224
|
+
authResponses.splice(authResponses.indexOf(authResponse), 1);
|
|
225
|
+
debug966975_1.debug966975.report();
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
192
228
|
(0, tsafe_1.assert)(stateData.context === "redirect", "474728");
|
|
193
229
|
if (stateData.configId !== configId) {
|
|
194
230
|
continue;
|
|
@@ -205,8 +241,10 @@ function retrieveRedirectAuthResponseAndStateData(params) {
|
|
|
205
241
|
finally { if (e_2) throw e_2.error; }
|
|
206
242
|
}
|
|
207
243
|
if (authResponseAndStateData !== undefined) {
|
|
244
|
+
debug966975_1.debug966975.log("writeRedirectAuthResponses(".concat(JSON.stringify({ authResponses: authResponses }), ")"));
|
|
208
245
|
writeRedirectAuthResponses({ authResponses: authResponses });
|
|
209
246
|
}
|
|
247
|
+
debug966975_1.debug966975.log("Returning ".concat(JSON.stringify({ authResponseAndStateData: authResponseAndStateData }), " <<<<<<<<<"));
|
|
210
248
|
return authResponseAndStateData;
|
|
211
249
|
}
|
|
212
250
|
function reloadOnBfCacheNavigation() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleOidcCallback.js","sourceRoot":"","sources":["../src/core/handleOidcCallback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"handleOidcCallback.js","sourceRoot":"","sources":["../src/core/handleOidcCallback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,gDAWC;AAsLD,4FAiDC;AA1QD,yCAKqB;AACrB,kDAAsD;AAEtD,6DAA4D;AAC5D,+CAA8C;AAC9C,6CAA4C;AAE5C,IAAA,2BAAY,GAAE,CAAC;AAEf,IAAM,aAAa,GAAG;IAClB,YAAY,EAAE,IAAA,UAAE,EAAqC,SAAS,CAAC;CAClE,CAAC;AAEF,yBAAW,CAAC,GAAG,CACX,kFACI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,8BAC7B,yCAAmB,CAAE,CAC5C,CAAC;AAEF,SAAgB,kBAAkB;IAC9B,IAAI,aAAa,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC3C,yBAAW,CAAC,GAAG,CACX,mEAA4D,IAAI,CAAC,SAAS,CACtE,aAAa,CAAC,YAAY,CAC7B,CAAE,CACN,CAAC;QACF,OAAO,aAAa,CAAC,YAAY,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,aAAa,CAAC,YAAY,GAAG,8BAA8B,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,8BAA8B;;IACnC,yBAAW,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEvD,IAAM,eAAe,GAAG,IAAI,GAAG,CAAC,yCAAmB,CAAC,CAAC;IAErD,IAAM,oBAAoB,GAAG,CAAC;QAC1B,IAAM,oBAAoB,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvE,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAChC,yBAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACnC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,IAAA,oCAAwB,EAAC,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC;YACjF,yBAAW,CAAC,GAAG,CAAC,kCAA2B,oBAAoB,kBAAe,CAAC,CAAC;YAChF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IACI,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI;YACtD,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI;YAC1D,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,EAC3D,CAAC;YACC,yBAAW,CAAC,GAAG,CACX,kFAAkF,CACrF,CAAC;YACF,mFAAmF;YACnF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,oBAAoB,CAAC;IAChC,CAAC,CAAC,EAAE,CAAC;IAEL,yBAAW,CAAC,GAAG,CAAC,kCAA2B,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,WAAW,CAAE,CAAC,CAAC;IAElF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACrC,IAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAC;QAEpD,yBAAW,CAAC,GAAG,CAAC,8BAAuB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAE,CAAC,CAAC;QAE7E,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,uBAAuB,CAAC;gBACpB,kBAAkB,wBACX,kBAAkB,KACrB,iBAAiB,EAAE,IAAI,GAC1B;aACJ,CAAC,CAAC;QACP,CAAC;QAED,yBAAW,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAE7C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,IAAM,SAAS,GAAG,IAAI,CAAC;IAEvB,OAAO,CAAC,GAAG,GAAG,cAAO,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,GAAG,cAAO,CAAC,CAAC;IACxB,OAAO,CAAC,KAAK,GAAG,cAAO,CAAC,CAAC;IACzB,OAAO,CAAC,KAAK,GAAG,cAAO,CAAC,CAAC;IAEzB,IAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC;IAEzD,yBAAW,CAAC,GAAG,CAAC,qBAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAE,CAAC,CAAC;IAE3D,IACI,SAAS,KAAK,SAAS;QACvB,CAAC,SAAS,CAAC,OAAO,KAAK,UAAU,IAAI,SAAS,CAAC,0BAA0B,CAAC,EAC5E,CAAC;QACC,IAAM,eAAa,GAAuB,CAAC;YACvC,IAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAC;YAEpD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;gBACxC,OAAO,kBAAkB,CAAC,qBAAqB,CAAC;YACpD,CAAC;YAED,QAAQ,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;gBAC/C,KAAK,MAAM;oBACP,OAAO,SAAS,CAAC;gBACrB,KAAK,SAAS;oBACV,OAAO,MAAM,CAAC;YACtB,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QAEL,yBAAW,CAAC,GAAG,CAAC,yBAAkB,eAAa,CAAE,CAAC,CAAC;QAEnD,uBAAuB,CAAC;YACpB,kBAAkB,EAAE;gBAChB,qBAAqB,EAAE,eAAa;gBACpC,iBAAiB,EAAE,KAAK;aAC3B;SACJ,CAAC,CAAC;QAEH,yBAAyB,EAAE,CAAC;QAE5B,UAAU,CAAC;YACP,yBAAW,CAAC,GAAG,CAAC,8CAAuC,eAAa,OAAI,CAAC,CAAC;YAE1E,MAAM,CAAC,OAAO,CAAC,eAAa,CAAC,EAAE,CAAC;QACpC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,yBAAW,CAAC,GAAG,CAAC,+BAAwB,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAE,CAAC,CAAC;QAExE,OAAO,EAAE,SAAS,WAAA,EAAE,CAAC;IACzB,CAAC;IAED,IAAM,YAAY,GAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;;QAEjD,KAA2B,IAAA,KAAA,SAAA,eAAe,CAAC,YAAY,CAAA,gBAAA,4BAAE,CAAC;YAA/C,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YAClB,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;;;;;;;;;IAED,IAAA,cAAM,EAAC,YAAY,CAAC,KAAK,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE5C,yBAAW,CAAC,GAAG,CAAC,wBAAiB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAE,CAAC,CAAC;IAEjE,QAAQ,SAAS,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,QAAQ;YACT,UAAU,CAAC;gBACP,yBAAW,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBAC1D,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,MAAM;QACV,KAAK,UAAU;YACX,IAAA,8CAAkC,EAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC;YAC7D,uBAAuB,EAAE,CAAC;YAC1B,0BAA0B,CAAC;gBACvB,aAAa,yCAAM,yBAAyB,EAAE,YAAE,YAAY,SAAC;aAChE,CAAC,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,UAAU,CAAC;gBACP,IAAM,IAAI,GAAG,CAAC;oBACV,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,YAAY,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;wBAC5E,OAAO,SAAS,CAAC,+BAA+B,CAAC;oBACrD,CAAC;oBAED,OAAO,SAAS,CAAC,WAAW,CAAC;gBACjC,CAAC,CAAC,EAAE,CAAC;gBAEL,yBAAW,CAAC,GAAG,CAAC,yCAAiC,IAAI,QAAI,CAAC,CAAC;gBAE3D,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACzB,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,MAAM;IACd,CAAC;IAED,yBAAW,CAAC,GAAG,CAAC,+BAAwB,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAE,CAAC,CAAC;IAExE,OAAO,EAAE,SAAS,WAAA,EAAE,CAAC;AACzB,CAAC;AAEK,IAAA,KAA4D,CAAC;IAC/D,IAAM,kBAAkB,GAAG,wBAAwB,CAAC;IAEpD,SAAS,0BAA0B,CAAC,MAAyC;QACjE,IAAA,aAAa,GAAK,MAAM,cAAX,CAAY;QACjC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC9C,OAAO;QACX,CAAC;QACD,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,SAAS,yBAAyB;QAC9B,IAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEvD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,0BAA0B,4BAAA,EAAE,yBAAyB,2BAAA,EAAE,CAAC;AACrE,CAAC,CAAC,EAAE,EAvBI,yBAAyB,+BAAA,EAAE,0BAA0B,gCAuBzD,CAAC;AAEL,SAAgB,wCAAwC,CAAC,MAExD;;IACW,IAAA,QAAQ,GAAK,MAAM,SAAX,CAAY;IAE5B,yBAAW,CAAC,GAAG,CAAC,0DAAmD,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,MAAG,CAAC,CAAC;IAEpG,IAAM,aAAa,GAAG,yBAAyB,EAAE,CAAC;IAElD,yBAAW,CAAC,GAAG,CAAC,yBAAkB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAE,CAAC,CAAC;IAEnE,IAAI,wBAAwB,GAEV,SAAS,CAAC;;QAE5B,KAA2B,IAAA,KAAA,kCAAI,aAAa,UAAC,gBAAA,4BAAE,CAAC;YAA3C,IAAM,YAAY,WAAA;YACnB,yBAAW,CAAC,GAAG,CAAC,wBAAiB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAE,CAAC,CAAC;YAEjE,IAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,EAAE,oBAAoB,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAE7E,yBAAW,CAAC,GAAG,CAAC,qBAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAE,CAAC,CAAC;YAE3D,IAAI,CAAC;gBACD,IAAA,cAAM,EAAC,SAAS,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC;YAAC,WAAM,CAAC;gBACL,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7D,yBAAW,CAAC,MAAM,EAAE,CAAC;gBACrB,SAAS;YACb,CAAC;YAED,IAAA,cAAM,EAAC,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEnD,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClC,SAAS;YACb,CAAC;YAED,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAE7D,wBAAwB,GAAG,EAAE,YAAY,cAAA,EAAE,SAAS,WAAA,EAAE,CAAC;QAC3D,CAAC;;;;;;;;;IAED,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;QACzC,yBAAW,CAAC,GAAG,CAAC,qCAA8B,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,eAAA,EAAE,CAAC,MAAG,CAAC,CAAC;QACpF,0BAA0B,CAAC,EAAE,aAAa,eAAA,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,yBAAW,CAAC,GAAG,CAAC,oBAAa,IAAI,CAAC,SAAS,CAAC,EAAE,wBAAwB,0BAAA,EAAE,CAAC,eAAY,CAAC,CAAC;IAEvF,OAAO,wBAAwB,CAAC;AACpC,CAAC;AAED,SAAS,yBAAyB;IAC9B,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChC,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAEnC,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QACD,QAAQ,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC;AAEK,IAAA,KAA+E,CAAC;IAClF,IAAM,2BAA2B,GAAG,wCAAwC,CAAC;IAO7E,SAAS,uBAAuB,CAAC,MAAkD;QACvE,IAAA,kBAAkB,GAAK,MAAM,mBAAX,CAAY;QAEtC,cAAc,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS,sBAAsB;QAC3B,IAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAEhE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS,uBAAuB;QAC5B,cAAc,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,uBAAuB,yBAAA,EAAE,sBAAsB,wBAAA,EAAE,uBAAuB,yBAAA,EAAE,CAAC;AACxF,CAAC,CAAC,EAAE,EA7BI,uBAAuB,6BAAA,EAAE,sBAAsB,4BAAA,EAAE,uBAAuB,6BA6B5E,CAAC"}
|
|
@@ -95,7 +95,7 @@ function oidcClientTsUserToTokens(params) {
|
|
|
95
95
|
tokens.refreshTokenExpirationTime !== undefined &&
|
|
96
96
|
tokens.refreshTokenExpirationTime < tokens.accessTokenExpirationTime) {
|
|
97
97
|
console.warn([
|
|
98
|
-
"The OIDC refresh token shorter than the one of the access token.",
|
|
98
|
+
"The OIDC refresh token expirationTime is shorter than the one of the access token.",
|
|
99
99
|
"This is very unusual and probably a misconfiguration."
|
|
100
100
|
].join(" "));
|
|
101
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidcClientTsUserToTokens.js","sourceRoot":"","sources":["../src/core/oidcClientTsUserToTokens.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"oidcClientTsUserToTokens.js","sourceRoot":"","sources":["../src/core/oidcClientTsUserToTokens.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oidc-spa",
|
|
3
|
-
"version": "6.14.
|
|
3
|
+
"version": "6.14.2",
|
|
4
4
|
"description": "Openidconnect client for Single Page Applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"./src/core/StateData.ts",
|
|
40
40
|
"./src/core/configId.ts",
|
|
41
41
|
"./src/core/createOidc.ts",
|
|
42
|
+
"./src/core/debug966975.ts",
|
|
42
43
|
"./src/core/evtIsUserActive.ts",
|
|
43
44
|
"./src/core/handleOidcCallback.ts",
|
|
44
45
|
"./src/core/index.ts",
|
|
@@ -71,6 +72,7 @@
|
|
|
71
72
|
"./src/tools/getDownlinkAndRtt.ts",
|
|
72
73
|
"./src/tools/getIsValidRemoteJson.ts",
|
|
73
74
|
"./src/tools/getPrUserInteraction.ts",
|
|
75
|
+
"./src/tools/getUserEnvironmentInfo.ts",
|
|
74
76
|
"./src/tools/haveSharedParentDomain.ts",
|
|
75
77
|
"./src/tools/isDev.ts",
|
|
76
78
|
"./src/tools/parseKeycloakIssuerUri.ts",
|
|
@@ -114,6 +116,9 @@
|
|
|
114
116
|
"./core/createOidc.d.ts",
|
|
115
117
|
"./core/createOidc.js",
|
|
116
118
|
"./core/createOidc.js.map",
|
|
119
|
+
"./core/debug966975.d.ts",
|
|
120
|
+
"./core/debug966975.js",
|
|
121
|
+
"./core/debug966975.js.map",
|
|
117
122
|
"./core/evtIsUserActive.d.ts",
|
|
118
123
|
"./core/evtIsUserActive.js",
|
|
119
124
|
"./core/evtIsUserActive.js.map",
|
|
@@ -210,6 +215,9 @@
|
|
|
210
215
|
"./tools/getPrUserInteraction.d.ts",
|
|
211
216
|
"./tools/getPrUserInteraction.js",
|
|
212
217
|
"./tools/getPrUserInteraction.js.map",
|
|
218
|
+
"./tools/getUserEnvironmentInfo.d.ts",
|
|
219
|
+
"./tools/getUserEnvironmentInfo.js",
|
|
220
|
+
"./tools/getUserEnvironmentInfo.js.map",
|
|
213
221
|
"./tools/haveSharedParentDomain.d.ts",
|
|
214
222
|
"./tools/haveSharedParentDomain.js",
|
|
215
223
|
"./tools/haveSharedParentDomain.js.map",
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { getUserEnvironmentInfo } from "../tools/getUserEnvironmentInfo";
|
|
2
|
+
|
|
3
|
+
const LOCAL_STORAGE_KEY = "oidc-spa_966975_diagnostic";
|
|
4
|
+
const appInstanceId = Math.random().toString(36).slice(2);
|
|
5
|
+
|
|
6
|
+
type LogEntry = {
|
|
7
|
+
appInstanceId: string;
|
|
8
|
+
time: number;
|
|
9
|
+
message: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
function log(message: string) {
|
|
13
|
+
const logEntry: LogEntry = {
|
|
14
|
+
appInstanceId,
|
|
15
|
+
time: Date.now(),
|
|
16
|
+
message
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const value = localStorage.getItem(LOCAL_STORAGE_KEY);
|
|
20
|
+
|
|
21
|
+
const value_parsed: LogEntry[] = value === null ? [] : JSON.parse(value);
|
|
22
|
+
|
|
23
|
+
if (value_parsed.length === 100) {
|
|
24
|
+
value_parsed.shift();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
value_parsed.push(logEntry);
|
|
28
|
+
|
|
29
|
+
localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(value_parsed));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function report() {
|
|
33
|
+
const logEntries: LogEntry[] = (() => {
|
|
34
|
+
const value = localStorage.getItem(LOCAL_STORAGE_KEY);
|
|
35
|
+
|
|
36
|
+
if (value === null) {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return JSON.parse(value);
|
|
41
|
+
})();
|
|
42
|
+
|
|
43
|
+
localStorage.removeItem(LOCAL_STORAGE_KEY);
|
|
44
|
+
|
|
45
|
+
const report = [
|
|
46
|
+
getUserEnvironmentInfo(),
|
|
47
|
+
...logEntries.map(
|
|
48
|
+
({ appInstanceId, time, message }) => `${appInstanceId} (${time}): ${message}`
|
|
49
|
+
),
|
|
50
|
+
getOidcLocalStorageDump()
|
|
51
|
+
].join("\n");
|
|
52
|
+
|
|
53
|
+
const key_report = `${LOCAL_STORAGE_KEY}_report_b64`;
|
|
54
|
+
|
|
55
|
+
localStorage.setItem(key_report, btoa(report));
|
|
56
|
+
|
|
57
|
+
console.warn(
|
|
58
|
+
[
|
|
59
|
+
"If you see this message there's been unexpected behavior in oidc-spa",
|
|
60
|
+
"It is a hard to reproduce case, could you please open an issue on https://github.com/keycloakify/oidc-spa",
|
|
61
|
+
`and include the value of \`localStorage["${key_report}"]\` in the message?`,
|
|
62
|
+
"Alternatively, you can send an email at joseph.garrone@protonmail.com",
|
|
63
|
+
"Thanks in advance for helping me figure this out"
|
|
64
|
+
].join(" ")
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export const debug966975 = {
|
|
69
|
+
log,
|
|
70
|
+
report
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
function getOidcLocalStorageDump(): string {
|
|
74
|
+
const entries: string[] = [];
|
|
75
|
+
|
|
76
|
+
for (let i = 0; i < localStorage.length; i++) {
|
|
77
|
+
const key = localStorage.key(i);
|
|
78
|
+
if (key && key.startsWith("oidc.")) {
|
|
79
|
+
const value = localStorage.getItem(key);
|
|
80
|
+
entries.push(`${key} = ${value}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return entries.join("\n");
|
|
85
|
+
}
|
|
@@ -8,6 +8,7 @@ import { assert, id } from "../vendor/frontend/tsafe";
|
|
|
8
8
|
import type { AuthResponse } from "./AuthResponse";
|
|
9
9
|
import { initialLocationHref } from "./initialLocationHref";
|
|
10
10
|
import { captureFetch } from "./trustedFetch";
|
|
11
|
+
import { debug966975 } from "./debug966975";
|
|
11
12
|
|
|
12
13
|
captureFetch();
|
|
13
14
|
|
|
@@ -15,8 +16,19 @@ const globalContext = {
|
|
|
15
16
|
previousCall: id<{ isHandled: boolean } | undefined>(undefined)
|
|
16
17
|
};
|
|
17
18
|
|
|
19
|
+
debug966975.log(
|
|
20
|
+
`=================== Evaluating the handleOidcCallback file, isInIframe: ${
|
|
21
|
+
window.self !== window.top ? "true" : "false"
|
|
22
|
+
}, location.href: ${initialLocationHref}`
|
|
23
|
+
);
|
|
24
|
+
|
|
18
25
|
export function handleOidcCallback(): { isHandled: boolean } {
|
|
19
26
|
if (globalContext.previousCall !== undefined) {
|
|
27
|
+
debug966975.log(
|
|
28
|
+
`handleOidcCallback() call, it has been called previously ${JSON.stringify(
|
|
29
|
+
globalContext.previousCall
|
|
30
|
+
)}`
|
|
31
|
+
);
|
|
20
32
|
return globalContext.previousCall;
|
|
21
33
|
}
|
|
22
34
|
|
|
@@ -24,16 +36,20 @@ export function handleOidcCallback(): { isHandled: boolean } {
|
|
|
24
36
|
}
|
|
25
37
|
|
|
26
38
|
function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
|
|
39
|
+
debug966975.log(`In handleOidcCallback_nonMemoized()`);
|
|
40
|
+
|
|
27
41
|
const location_urlObj = new URL(initialLocationHref);
|
|
28
42
|
|
|
29
43
|
const stateQueryParamValue = (() => {
|
|
30
44
|
const stateQueryParamValue = location_urlObj.searchParams.get("state");
|
|
31
45
|
|
|
32
46
|
if (stateQueryParamValue === null) {
|
|
47
|
+
debug966975.log("No state in url");
|
|
33
48
|
return undefined;
|
|
34
49
|
}
|
|
35
50
|
|
|
36
51
|
if (!getIsStatQueryParamValue({ maybeStateQueryParamValue: stateQueryParamValue })) {
|
|
52
|
+
debug966975.log(`State query param value ${stateQueryParamValue} is malformed`);
|
|
37
53
|
return undefined;
|
|
38
54
|
}
|
|
39
55
|
|
|
@@ -42,6 +58,9 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
|
|
|
42
58
|
location_urlObj.searchParams.get("response_type") !== null &&
|
|
43
59
|
location_urlObj.searchParams.get("redirect_uri") !== null
|
|
44
60
|
) {
|
|
61
|
+
debug966975.log(
|
|
62
|
+
"NOTE: We are probably in a Keycloakify theme and oidc-spa was loaded by mistake."
|
|
63
|
+
);
|
|
45
64
|
// NOTE: We are probably in a Keycloakify theme and oidc-spa was loaded by mistake.
|
|
46
65
|
return undefined;
|
|
47
66
|
}
|
|
@@ -49,9 +68,13 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
|
|
|
49
68
|
return stateQueryParamValue;
|
|
50
69
|
})();
|
|
51
70
|
|
|
71
|
+
debug966975.log(`state query param value ${stateQueryParamValue ?? "undefined"}`);
|
|
72
|
+
|
|
52
73
|
if (stateQueryParamValue === undefined) {
|
|
53
74
|
const backForwardTracker = readBackForwardTracker();
|
|
54
75
|
|
|
76
|
+
debug966975.log(`backForwardTracker: ${JSON.stringify(backForwardTracker)}`);
|
|
77
|
+
|
|
55
78
|
if (backForwardTracker !== undefined) {
|
|
56
79
|
writeBackForwardTracker({
|
|
57
80
|
backForwardTracker: {
|
|
@@ -61,6 +84,8 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
|
|
|
61
84
|
});
|
|
62
85
|
}
|
|
63
86
|
|
|
87
|
+
debug966975.log("returning isHandled false");
|
|
88
|
+
|
|
64
89
|
return { isHandled: false };
|
|
65
90
|
}
|
|
66
91
|
|
|
@@ -73,6 +98,8 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
|
|
|
73
98
|
|
|
74
99
|
const stateData = getStateData({ stateQueryParamValue });
|
|
75
100
|
|
|
101
|
+
debug966975.log(`stateData: ${JSON.stringify(stateData)}`);
|
|
102
|
+
|
|
76
103
|
if (
|
|
77
104
|
stateData === undefined ||
|
|
78
105
|
(stateData.context === "redirect" && stateData.hasBeenProcessedByCallback)
|
|
@@ -96,6 +123,8 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
|
|
|
96
123
|
}
|
|
97
124
|
})();
|
|
98
125
|
|
|
126
|
+
debug966975.log(`historyMethod: ${historyMethod}`);
|
|
127
|
+
|
|
99
128
|
writeBackForwardTracker({
|
|
100
129
|
backForwardTracker: {
|
|
101
130
|
previousHistoryMethod: historyMethod,
|
|
@@ -105,7 +134,13 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
|
|
|
105
134
|
|
|
106
135
|
reloadOnBfCacheNavigation();
|
|
107
136
|
|
|
108
|
-
|
|
137
|
+
setTimeout(() => {
|
|
138
|
+
debug966975.log(`(callback 0) Calling window.history.${historyMethod}()`);
|
|
139
|
+
|
|
140
|
+
window.history[historyMethod]();
|
|
141
|
+
}, 0);
|
|
142
|
+
|
|
143
|
+
debug966975.log(`returning isHandled: ${isHandled ? "true" : "false"}`);
|
|
109
144
|
|
|
110
145
|
return { isHandled };
|
|
111
146
|
}
|
|
@@ -118,9 +153,14 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
|
|
|
118
153
|
|
|
119
154
|
assert(authResponse.state !== "", "063965");
|
|
120
155
|
|
|
156
|
+
debug966975.log(`authResponse: ${JSON.stringify(authResponse)}`);
|
|
157
|
+
|
|
121
158
|
switch (stateData.context) {
|
|
122
159
|
case "iframe":
|
|
123
|
-
|
|
160
|
+
setTimeout(() => {
|
|
161
|
+
debug966975.log(`(callback 0) posting message to parent`);
|
|
162
|
+
parent.postMessage(authResponse, location.origin);
|
|
163
|
+
}, 0);
|
|
124
164
|
break;
|
|
125
165
|
case "redirect":
|
|
126
166
|
markStateDataAsProcessedByCallback({ stateQueryParamValue });
|
|
@@ -129,16 +169,24 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
|
|
|
129
169
|
authResponses: [...readRedirectAuthResponses(), authResponse]
|
|
130
170
|
});
|
|
131
171
|
reloadOnBfCacheNavigation();
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
172
|
+
setTimeout(() => {
|
|
173
|
+
const href = (() => {
|
|
174
|
+
if (stateData.action === "login" && authResponse.error === "consent_required") {
|
|
175
|
+
return stateData.redirectUrl_consentRequiredCase;
|
|
176
|
+
}
|
|
136
177
|
|
|
137
|
-
|
|
138
|
-
|
|
178
|
+
return stateData.redirectUrl;
|
|
179
|
+
})();
|
|
180
|
+
|
|
181
|
+
debug966975.log(`(callback 0) location.href = "${href}";`);
|
|
182
|
+
|
|
183
|
+
location.href = href;
|
|
184
|
+
}, 0);
|
|
139
185
|
break;
|
|
140
186
|
}
|
|
141
187
|
|
|
188
|
+
debug966975.log(`Returning isHandled: ${isHandled ? "true" : "false"}`);
|
|
189
|
+
|
|
142
190
|
return { isHandled };
|
|
143
191
|
}
|
|
144
192
|
|
|
@@ -172,16 +220,31 @@ export function retrieveRedirectAuthResponseAndStateData(params: {
|
|
|
172
220
|
}): { authResponse: AuthResponse; stateData: StateData.Redirect } | undefined {
|
|
173
221
|
const { configId } = params;
|
|
174
222
|
|
|
223
|
+
debug966975.log(`>>> In retrieveRedirectAuthResponseAndStateData(${JSON.stringify({ configId })})`);
|
|
224
|
+
|
|
175
225
|
const authResponses = readRedirectAuthResponses();
|
|
176
226
|
|
|
227
|
+
debug966975.log(`authResponses: ${JSON.stringify(authResponses)}`);
|
|
228
|
+
|
|
177
229
|
let authResponseAndStateData:
|
|
178
230
|
| { authResponse: AuthResponse; stateData: StateData.Redirect }
|
|
179
231
|
| undefined = undefined;
|
|
180
232
|
|
|
181
233
|
for (const authResponse of [...authResponses]) {
|
|
234
|
+
debug966975.log(`authResponse: ${JSON.stringify(authResponse)}`);
|
|
235
|
+
|
|
182
236
|
const stateData = getStateData({ stateQueryParamValue: authResponse.state });
|
|
183
237
|
|
|
184
|
-
|
|
238
|
+
debug966975.log(`stateDate: ${JSON.stringify(stateData)}`);
|
|
239
|
+
|
|
240
|
+
try {
|
|
241
|
+
assert(stateData !== undefined, "966975");
|
|
242
|
+
} catch {
|
|
243
|
+
authResponses.splice(authResponses.indexOf(authResponse), 1);
|
|
244
|
+
debug966975.report();
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
|
|
185
248
|
assert(stateData.context === "redirect", "474728");
|
|
186
249
|
|
|
187
250
|
if (stateData.configId !== configId) {
|
|
@@ -194,9 +257,12 @@ export function retrieveRedirectAuthResponseAndStateData(params: {
|
|
|
194
257
|
}
|
|
195
258
|
|
|
196
259
|
if (authResponseAndStateData !== undefined) {
|
|
260
|
+
debug966975.log(`writeRedirectAuthResponses(${JSON.stringify({ authResponses })})`);
|
|
197
261
|
writeRedirectAuthResponses({ authResponses });
|
|
198
262
|
}
|
|
199
263
|
|
|
264
|
+
debug966975.log(`Returning ${JSON.stringify({ authResponseAndStateData })} <<<<<<<<<`);
|
|
265
|
+
|
|
200
266
|
return authResponseAndStateData;
|
|
201
267
|
}
|
|
202
268
|
|
|
@@ -148,7 +148,7 @@ export function oidcClientTsUserToTokens<DecodedIdToken extends Record<string, u
|
|
|
148
148
|
) {
|
|
149
149
|
console.warn(
|
|
150
150
|
[
|
|
151
|
-
"The OIDC refresh token shorter than the one of the access token.",
|
|
151
|
+
"The OIDC refresh token expirationTime is shorter than the one of the access token.",
|
|
152
152
|
"This is very unusual and probably a misconfiguration."
|
|
153
153
|
].join(" ")
|
|
154
154
|
);
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export function getUserEnvironmentInfo(): string {
|
|
2
|
+
function safeGet<T>(getter: () => T, fallback: string = "Unknown"): string {
|
|
3
|
+
try {
|
|
4
|
+
const value = getter();
|
|
5
|
+
return value != null ? String(value) : fallback;
|
|
6
|
+
} catch {
|
|
7
|
+
return fallback;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const ua = safeGet(() => navigator.userAgent);
|
|
12
|
+
const platform = safeGet(() => navigator.platform);
|
|
13
|
+
const language = safeGet(() => navigator.language || (navigator as any).userLanguage);
|
|
14
|
+
const screenSize = safeGet(() => `${screen.width}x${screen.height}`);
|
|
15
|
+
const timezone = safeGet(() => Intl.DateTimeFormat().resolvedOptions().timeZone);
|
|
16
|
+
|
|
17
|
+
const browser: string = (() => {
|
|
18
|
+
if (ua.includes("Firefox/")) return "Firefox";
|
|
19
|
+
if (ua.includes("Edg/")) return "Edge";
|
|
20
|
+
if (ua.includes("Chrome/") && !ua.includes("Edg/")) return "Chrome";
|
|
21
|
+
if (ua.includes("Safari/") && !ua.includes("Chrome/")) return "Safari";
|
|
22
|
+
if (ua.includes("OPR/") || ua.includes("Opera/")) return "Opera";
|
|
23
|
+
return "Unknown";
|
|
24
|
+
})();
|
|
25
|
+
|
|
26
|
+
const os: string = (() => {
|
|
27
|
+
if (platform.startsWith("Win")) return "Windows";
|
|
28
|
+
if (platform.startsWith("Mac")) return "macOS";
|
|
29
|
+
if (platform.startsWith("Linux")) return "Linux";
|
|
30
|
+
if (/Android/.test(ua)) return "Android";
|
|
31
|
+
if (/iPhone|iPad|iPod/.test(ua)) return "iOS";
|
|
32
|
+
return "Unknown";
|
|
33
|
+
})();
|
|
34
|
+
|
|
35
|
+
return `Browser: ${browser}
|
|
36
|
+
OS: ${os}
|
|
37
|
+
Platform: ${platform}
|
|
38
|
+
Language: ${language}
|
|
39
|
+
Screen: ${screenSize}
|
|
40
|
+
Timezone: ${timezone}
|
|
41
|
+
User Agent: ${ua}`;
|
|
42
|
+
}
|
|
@@ -36,7 +36,10 @@ export function toFullyQualifiedUrl(params: Params): string {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
if (params.doAssertNoQueryParams) {
|
|
39
|
-
if
|
|
39
|
+
// Check if the URL has query parameters.
|
|
40
|
+
// Note: `searchParams.size` can be `undefined` in some runtime environments.
|
|
41
|
+
// See https://github.com/keycloakify/oidc-spa/issues/63#issue-3080503083
|
|
42
|
+
if (new URL(url).searchParams.size) {
|
|
40
43
|
throw new Error(`The ${params.urlish} URL should not have query parameters`);
|
|
41
44
|
}
|
|
42
45
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getUserEnvironmentInfo(): string;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUserEnvironmentInfo = getUserEnvironmentInfo;
|
|
4
|
+
function getUserEnvironmentInfo() {
|
|
5
|
+
function safeGet(getter, fallback) {
|
|
6
|
+
if (fallback === void 0) { fallback = "Unknown"; }
|
|
7
|
+
try {
|
|
8
|
+
var value = getter();
|
|
9
|
+
return value != null ? String(value) : fallback;
|
|
10
|
+
}
|
|
11
|
+
catch (_a) {
|
|
12
|
+
return fallback;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
var ua = safeGet(function () { return navigator.userAgent; });
|
|
16
|
+
var platform = safeGet(function () { return navigator.platform; });
|
|
17
|
+
var language = safeGet(function () { return navigator.language || navigator.userLanguage; });
|
|
18
|
+
var screenSize = safeGet(function () { return "".concat(screen.width, "x").concat(screen.height); });
|
|
19
|
+
var timezone = safeGet(function () { return Intl.DateTimeFormat().resolvedOptions().timeZone; });
|
|
20
|
+
var browser = (function () {
|
|
21
|
+
if (ua.includes("Firefox/"))
|
|
22
|
+
return "Firefox";
|
|
23
|
+
if (ua.includes("Edg/"))
|
|
24
|
+
return "Edge";
|
|
25
|
+
if (ua.includes("Chrome/") && !ua.includes("Edg/"))
|
|
26
|
+
return "Chrome";
|
|
27
|
+
if (ua.includes("Safari/") && !ua.includes("Chrome/"))
|
|
28
|
+
return "Safari";
|
|
29
|
+
if (ua.includes("OPR/") || ua.includes("Opera/"))
|
|
30
|
+
return "Opera";
|
|
31
|
+
return "Unknown";
|
|
32
|
+
})();
|
|
33
|
+
var os = (function () {
|
|
34
|
+
if (platform.startsWith("Win"))
|
|
35
|
+
return "Windows";
|
|
36
|
+
if (platform.startsWith("Mac"))
|
|
37
|
+
return "macOS";
|
|
38
|
+
if (platform.startsWith("Linux"))
|
|
39
|
+
return "Linux";
|
|
40
|
+
if (/Android/.test(ua))
|
|
41
|
+
return "Android";
|
|
42
|
+
if (/iPhone|iPad|iPod/.test(ua))
|
|
43
|
+
return "iOS";
|
|
44
|
+
return "Unknown";
|
|
45
|
+
})();
|
|
46
|
+
return "Browser: ".concat(browser, "\nOS: ").concat(os, "\nPlatform: ").concat(platform, "\nLanguage: ").concat(language, "\nScreen: ").concat(screenSize, "\nTimezone: ").concat(timezone, "\nUser Agent: ").concat(ua);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=getUserEnvironmentInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserEnvironmentInfo.js","sourceRoot":"","sources":["../src/tools/getUserEnvironmentInfo.ts"],"names":[],"mappings":";;AAAA,wDAyCC;AAzCD,SAAgB,sBAAsB;IAClC,SAAS,OAAO,CAAI,MAAe,EAAE,QAA4B;QAA5B,yBAAA,EAAA,oBAA4B;QAC7D,IAAI,CAAC;YACD,IAAM,KAAK,GAAG,MAAM,EAAE,CAAC;YACvB,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpD,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,QAAQ,CAAC;QACpB,CAAC;IACL,CAAC;IAED,IAAM,EAAE,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,SAAS,EAAnB,CAAmB,CAAC,CAAC;IAC9C,IAAM,QAAQ,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,QAAQ,EAAlB,CAAkB,CAAC,CAAC;IACnD,IAAM,QAAQ,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,QAAQ,IAAK,SAAiB,CAAC,YAAY,EAArD,CAAqD,CAAC,CAAC;IACtF,IAAM,UAAU,GAAG,OAAO,CAAC,cAAM,OAAA,UAAG,MAAM,CAAC,KAAK,cAAI,MAAM,CAAC,MAAM,CAAE,EAAlC,CAAkC,CAAC,CAAC;IACrE,IAAM,QAAQ,GAAG,OAAO,CAAC,cAAM,OAAA,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAhD,CAAgD,CAAC,CAAC;IAEjF,IAAM,OAAO,GAAW,CAAC;QACrB,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACvC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpE,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,QAAQ,CAAC;QACvE,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QACjE,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAM,EAAE,GAAW,CAAC;QAChB,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QAC/C,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QACjD,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,mBAAY,OAAO,mBACxB,EAAE,yBACI,QAAQ,yBACR,QAAQ,uBACV,UAAU,yBACR,QAAQ,2BACN,EAAE,CAAE,CAAC;AACnB,CAAC"}
|
|
@@ -21,7 +21,10 @@ function toFullyQualifiedUrl(params) {
|
|
|
21
21
|
url = urlObj.href;
|
|
22
22
|
}
|
|
23
23
|
if (params.doAssertNoQueryParams) {
|
|
24
|
-
if
|
|
24
|
+
// Check if the URL has query parameters.
|
|
25
|
+
// Note: `searchParams.size` can be `undefined` in some runtime environments.
|
|
26
|
+
// See https://github.com/keycloakify/oidc-spa/issues/63#issue-3080503083
|
|
27
|
+
if (new URL(url).searchParams.size) {
|
|
25
28
|
throw new Error("The ".concat(params.urlish, " URL should not have query parameters"));
|
|
26
29
|
}
|
|
27
30
|
if (params.doOutputWithTrailingSlash) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toFullyQualifiedUrl.js","sourceRoot":"","sources":["../src/tools/toFullyQualifiedUrl.ts"],"names":[],"mappings":";;AAYA,
|
|
1
|
+
{"version":3,"file":"toFullyQualifiedUrl.js","sourceRoot":"","sources":["../src/tools/toFullyQualifiedUrl.ts"],"names":[],"mappings":";;AAYA,kDA6CC;AA7CD,SAAgB,mBAAmB,CAAC,MAAc;IAC9C,IAAI,GAAW,CAAC;IAEhB,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,CAAC;SAAM,CAAC;QACJ,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,GAAG,WAAI,IAAI,CAAE,CAAC;QACtB,CAAC;QAED,GAAG,GAAG,UAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAG,IAAI,CAAE,CAAC;IAC7C,CAAC;IAED,CAAC;QACG,IAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5B,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ;YAC7B,6EAA6E;aAC5E,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAE3B,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC/B,yCAAyC;QACzC,6EAA6E;QAC7E,yEAAyE;QACzE,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,cAAO,MAAM,CAAC,MAAM,0CAAuC,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,GAAG,UAAG,GAAG,MAAG,CAAC;YACpB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
|