oidc-spa 7.3.1 → 8.0.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/core/AuthResponse.d.ts +5 -0
- package/core/AuthResponse.js +25 -0
- package/core/AuthResponse.js.map +1 -1
- package/core/StateData.d.ts +2 -6
- package/core/StateData.js +0 -13
- package/core/StateData.js.map +1 -1
- package/core/createOidc.d.ts +2 -2
- package/core/createOidc.js +70 -19
- package/core/createOidc.js.map +1 -1
- package/core/diagnostic.js +3 -3
- package/core/earlyInit.d.ts +16 -0
- package/core/earlyInit.js +157 -0
- package/core/earlyInit.js.map +1 -0
- package/core/index.d.ts +0 -1
- package/core/index.js +1 -3
- package/core/index.js.map +1 -1
- package/core/loginOrGoToAuthServer.js +19 -6
- package/core/loginOrGoToAuthServer.js.map +1 -1
- package/entrypoint.d.ts +1 -7
- package/entrypoint.js +3 -46
- package/entrypoint.js.map +1 -1
- package/esm/core/AuthResponse.d.ts +5 -0
- package/esm/core/AuthResponse.js +23 -0
- package/esm/core/AuthResponse.js.map +1 -1
- package/esm/core/StateData.d.ts +2 -6
- package/esm/core/StateData.js +0 -12
- package/esm/core/StateData.js.map +1 -1
- package/esm/core/createOidc.d.ts +2 -2
- package/esm/core/createOidc.js +72 -21
- package/esm/core/createOidc.js.map +1 -1
- package/esm/core/diagnostic.js +3 -3
- package/esm/core/earlyInit.d.ts +16 -0
- package/esm/core/earlyInit.js +152 -0
- package/esm/core/earlyInit.js.map +1 -0
- package/esm/core/index.d.ts +0 -1
- package/esm/core/index.js +0 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/loginOrGoToAuthServer.js +19 -6
- package/esm/core/loginOrGoToAuthServer.js.map +1 -1
- package/esm/entrypoint.d.ts +1 -7
- package/esm/entrypoint.js +1 -45
- package/esm/entrypoint.js.map +1 -1
- package/esm/mock/oidc.js +15 -4
- package/esm/mock/oidc.js.map +1 -1
- package/esm/mock/react.d.ts +1 -1
- package/esm/mock/react.js +1 -1
- package/esm/react/react.d.ts +1 -1
- package/esm/react/react.js +2 -10
- package/esm/react/react.js.map +1 -1
- package/mock/oidc.js +15 -4
- package/mock/oidc.js.map +1 -1
- package/mock/react.d.ts +1 -1
- package/mock/react.js +1 -1
- package/package.json +1 -1
- package/react/react.d.ts +1 -1
- package/react/react.js +1 -9
- package/react/react.js.map +1 -1
- package/src/core/AuthResponse.ts +36 -0
- package/src/core/StateData.ts +2 -22
- package/src/core/createOidc.ts +108 -24
- package/src/core/diagnostic.ts +3 -3
- package/src/core/earlyInit.ts +213 -0
- package/src/core/index.ts +0 -1
- package/src/core/loginOrGoToAuthServer.ts +24 -6
- package/src/entrypoint.ts +1 -69
- package/src/mock/oidc.ts +15 -4
- package/src/mock/react.tsx +1 -1
- package/src/react/react.tsx +2 -18
- package/core/handleOidcCallback.d.ts +0 -13
- package/core/handleOidcCallback.js +0 -228
- package/core/handleOidcCallback.js.map +0 -1
- package/core/initialLocationHref.d.ts +0 -1
- package/core/initialLocationHref.js +0 -8
- package/core/initialLocationHref.js.map +0 -1
- package/esm/core/handleOidcCallback.d.ts +0 -13
- package/esm/core/handleOidcCallback.js +0 -223
- package/esm/core/handleOidcCallback.js.map +0 -1
- package/esm/core/initialLocationHref.d.ts +0 -1
- package/esm/core/initialLocationHref.js +0 -5
- package/esm/core/initialLocationHref.js.map +0 -1
- package/src/core/handleOidcCallback.ts +0 -318
- package/src/core/initialLocationHref.ts +0 -5
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.oidcEarlyInit = oidcEarlyInit;
|
|
4
|
+
exports.getRedirectAuthResponse = getRedirectAuthResponse;
|
|
5
|
+
exports.getRootRelativeOriginalLocationHref = getRootRelativeOriginalLocationHref;
|
|
6
|
+
const StateData_1 = require("./StateData");
|
|
7
|
+
const tsafe_1 = require("../vendor/frontend/tsafe");
|
|
8
|
+
const iframeMessageProtection_1 = require("./iframeMessageProtection");
|
|
9
|
+
let hasEarlyInitBeenCalled = false;
|
|
10
|
+
function oidcEarlyInit(params) {
|
|
11
|
+
if (hasEarlyInitBeenCalled) {
|
|
12
|
+
throw new Error("oidc-spa: oidcEarlyInit() Should be called only once");
|
|
13
|
+
}
|
|
14
|
+
hasEarlyInitBeenCalled = true;
|
|
15
|
+
const { freezeFetch, freezeXMLHttpRequest, freezeWebSocket = false } = params ?? {};
|
|
16
|
+
const { shouldLoadApp } = handleOidcCallback();
|
|
17
|
+
if (shouldLoadApp) {
|
|
18
|
+
if (freezeXMLHttpRequest) {
|
|
19
|
+
const XMLHttpRequest_trusted = globalThis.XMLHttpRequest;
|
|
20
|
+
Object.freeze(XMLHttpRequest_trusted.prototype);
|
|
21
|
+
Object.freeze(XMLHttpRequest_trusted);
|
|
22
|
+
Object.defineProperty(globalThis, "XMLHttpRequest", {
|
|
23
|
+
configurable: false,
|
|
24
|
+
writable: false,
|
|
25
|
+
enumerable: true,
|
|
26
|
+
value: XMLHttpRequest_trusted
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (freezeFetch) {
|
|
30
|
+
const fetch_trusted = globalThis.fetch;
|
|
31
|
+
Object.freeze(fetch_trusted);
|
|
32
|
+
Object.defineProperty(globalThis, "fetch", {
|
|
33
|
+
configurable: false,
|
|
34
|
+
writable: false,
|
|
35
|
+
enumerable: true,
|
|
36
|
+
value: fetch_trusted
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (freezeWebSocket) {
|
|
40
|
+
const WebSocket_trusted = globalThis.WebSocket;
|
|
41
|
+
Object.freeze(WebSocket_trusted.prototype);
|
|
42
|
+
Object.freeze(WebSocket_trusted);
|
|
43
|
+
Object.defineProperty(globalThis, "WebSocket", {
|
|
44
|
+
configurable: false,
|
|
45
|
+
writable: false,
|
|
46
|
+
enumerable: true,
|
|
47
|
+
value: WebSocket_trusted
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
(0, iframeMessageProtection_1.preventSessionStorageSetItemOfPublicKeyByThirdParty)();
|
|
51
|
+
}
|
|
52
|
+
return { shouldLoadApp };
|
|
53
|
+
}
|
|
54
|
+
let redirectAuthResponse = undefined;
|
|
55
|
+
function getRedirectAuthResponse() {
|
|
56
|
+
if (!hasEarlyInitBeenCalled) {
|
|
57
|
+
throw new Error([
|
|
58
|
+
"oidc-spa setup error.",
|
|
59
|
+
"oidcEarlyInit() wasn't called.",
|
|
60
|
+
"In newer version, using oidc-spa/entrypoint is no longer optional."
|
|
61
|
+
].join(" "));
|
|
62
|
+
}
|
|
63
|
+
return redirectAuthResponse === undefined
|
|
64
|
+
? { authResponse: undefined }
|
|
65
|
+
: {
|
|
66
|
+
authResponse: redirectAuthResponse,
|
|
67
|
+
clearAuthResponse: () => {
|
|
68
|
+
redirectAuthResponse = undefined;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
let rootRelativeOriginalLocationHref = undefined;
|
|
73
|
+
function getRootRelativeOriginalLocationHref() {
|
|
74
|
+
(0, tsafe_1.assert)(rootRelativeOriginalLocationHref !== undefined, "033292");
|
|
75
|
+
return rootRelativeOriginalLocationHref;
|
|
76
|
+
}
|
|
77
|
+
function handleOidcCallback() {
|
|
78
|
+
const location_urlObj = new URL(window.location.href);
|
|
79
|
+
const locationHrefAssessment = (() => {
|
|
80
|
+
fragment: {
|
|
81
|
+
const stateUrlParamValue = new URLSearchParams(location_urlObj.hash.replace(/^#/, "")).get("state");
|
|
82
|
+
if (stateUrlParamValue === null) {
|
|
83
|
+
break fragment;
|
|
84
|
+
}
|
|
85
|
+
if (!(0, StateData_1.getIsStatQueryParamValue)({ maybeStateUrlParamValue: stateUrlParamValue })) {
|
|
86
|
+
break fragment;
|
|
87
|
+
}
|
|
88
|
+
return { hasAuthResponseInUrl: true, responseMode: "fragment" };
|
|
89
|
+
}
|
|
90
|
+
query: {
|
|
91
|
+
const stateUrlParamValue = location_urlObj.searchParams.get("state");
|
|
92
|
+
if (stateUrlParamValue === null) {
|
|
93
|
+
break query;
|
|
94
|
+
}
|
|
95
|
+
if (!(0, StateData_1.getIsStatQueryParamValue)({ maybeStateUrlParamValue: stateUrlParamValue })) {
|
|
96
|
+
break query;
|
|
97
|
+
}
|
|
98
|
+
if (location_urlObj.searchParams.get("client_id") !== null &&
|
|
99
|
+
location_urlObj.searchParams.get("response_type") !== null &&
|
|
100
|
+
location_urlObj.searchParams.get("redirect_uri") !== null) {
|
|
101
|
+
// NOTE: We are probably in a Keycloakify theme and oidc-spa was loaded by mistake.
|
|
102
|
+
break query;
|
|
103
|
+
}
|
|
104
|
+
return { hasAuthResponseInUrl: true, responseMode: "query" };
|
|
105
|
+
}
|
|
106
|
+
return { hasAuthResponseInUrl: false };
|
|
107
|
+
})();
|
|
108
|
+
if (!locationHrefAssessment.hasAuthResponseInUrl) {
|
|
109
|
+
rootRelativeOriginalLocationHref = location_urlObj.href.slice(location_urlObj.origin.length);
|
|
110
|
+
return { shouldLoadApp: true };
|
|
111
|
+
}
|
|
112
|
+
rootRelativeOriginalLocationHref = location_urlObj.pathname;
|
|
113
|
+
const { authResponse } = (() => {
|
|
114
|
+
const authResponse = { state: "" };
|
|
115
|
+
const searchParams = (() => {
|
|
116
|
+
switch (locationHrefAssessment.responseMode) {
|
|
117
|
+
case "fragment":
|
|
118
|
+
return new URLSearchParams(location_urlObj.hash.replace(/^#/, ""));
|
|
119
|
+
case "query":
|
|
120
|
+
return location_urlObj.searchParams;
|
|
121
|
+
default:
|
|
122
|
+
(0, tsafe_1.assert)(false);
|
|
123
|
+
}
|
|
124
|
+
})();
|
|
125
|
+
for (const [key, value] of searchParams) {
|
|
126
|
+
authResponse[key] = value;
|
|
127
|
+
}
|
|
128
|
+
(0, tsafe_1.assert)(authResponse.state !== "", "063965");
|
|
129
|
+
return { authResponse };
|
|
130
|
+
})();
|
|
131
|
+
const stateData = (0, StateData_1.getStateData)({ stateUrlParamValue: authResponse.state });
|
|
132
|
+
if (stateData === undefined) {
|
|
133
|
+
history.replaceState({}, "", rootRelativeOriginalLocationHref);
|
|
134
|
+
return { shouldLoadApp: true };
|
|
135
|
+
}
|
|
136
|
+
switch (stateData.context) {
|
|
137
|
+
case "iframe":
|
|
138
|
+
(0, iframeMessageProtection_1.encryptAuthResponse)({
|
|
139
|
+
authResponse
|
|
140
|
+
}).then(({ encryptedMessage }) => parent.postMessage(encryptedMessage, location.origin));
|
|
141
|
+
return { shouldLoadApp: false };
|
|
142
|
+
case "redirect": {
|
|
143
|
+
redirectAuthResponse = authResponse;
|
|
144
|
+
const rootRelativeRedirectUrl = (() => {
|
|
145
|
+
if (stateData.action === "login" && authResponse.error === "consent_required") {
|
|
146
|
+
return stateData.rootRelativeRedirectUrl_consentRequiredCase;
|
|
147
|
+
}
|
|
148
|
+
return stateData.rootRelativeRedirectUrl;
|
|
149
|
+
})();
|
|
150
|
+
history.replaceState({}, "", rootRelativeRedirectUrl);
|
|
151
|
+
return { shouldLoadApp: true };
|
|
152
|
+
}
|
|
153
|
+
default:
|
|
154
|
+
(0, tsafe_1.assert)(false);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=earlyInit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"earlyInit.js","sourceRoot":"","sources":["../src/core/earlyInit.ts"],"names":[],"mappings":"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"}
|
package/core/index.d.ts
CHANGED
package/core/index.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.OidcInitializationError = exports.createOidc = void 0;
|
|
4
4
|
var createOidc_1 = require("./createOidc");
|
|
5
5
|
Object.defineProperty(exports, "createOidc", { enumerable: true, get: function () { return createOidc_1.createOidc; } });
|
|
6
6
|
var OidcInitializationError_1 = require("./OidcInitializationError");
|
|
7
7
|
Object.defineProperty(exports, "OidcInitializationError", { enumerable: true, get: function () { return OidcInitializationError_1.OidcInitializationError; } });
|
|
8
|
-
var handleOidcCallback_1 = require("./handleOidcCallback");
|
|
9
|
-
Object.defineProperty(exports, "handleOidcCallback", { enumerable: true, get: function () { return handleOidcCallback_1.handleOidcCallback; } });
|
|
10
8
|
//# sourceMappingURL=index.js.map
|
package/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/core/index.ts"],"names":[],"mappings":";;;AACA,2CAAmE;AAA1D,wGAAA,UAAU,OAAA;AACnB,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/core/index.ts"],"names":[],"mappings":";;;AACA,2CAAmE;AAA1D,wGAAA,UAAU,OAAA;AACnB,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA"}
|
|
@@ -95,20 +95,33 @@ function createLoginOrGoToAuthServer(params) {
|
|
|
95
95
|
urlish: redirectUrl_params,
|
|
96
96
|
doAssertNoQueryParams: false
|
|
97
97
|
});
|
|
98
|
-
|
|
98
|
+
{
|
|
99
|
+
const redirectUrl_obj = new URL(redirectUrl);
|
|
100
|
+
const redirectUrl_originAndPath = `${redirectUrl_obj.origin}${redirectUrl_obj.pathname}`;
|
|
101
|
+
if (!redirectUrl_originAndPath.startsWith(homeUrl)) {
|
|
102
|
+
throw new Error([
|
|
103
|
+
`oidc-spa: redirect target ${redirectUrl_originAndPath} is outside of your application.`,
|
|
104
|
+
`The homeUrl that you have provided defines the root where your app is hosted: ${homeUrl}.\n`,
|
|
105
|
+
`This usually means one of the following:\n`,
|
|
106
|
+
`1) The homeUrl is not set correctly. It must be the actual hosting root (for Vite, typically \`import.meta.env.BASE_URL\`).\n`,
|
|
107
|
+
`2) You are trying to redirect outside of your application, which is not allowed by OIDC.`
|
|
108
|
+
].join(" "));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
const rootRelativeRedirectUrl = redirectUrl.slice(window.location.origin.length);
|
|
112
|
+
log?.(`redirectUrl: ${rootRelativeRedirectUrl}`);
|
|
99
113
|
const stateData = {
|
|
100
114
|
context: "redirect",
|
|
101
|
-
|
|
115
|
+
rootRelativeRedirectUrl,
|
|
102
116
|
extraQueryParams: {},
|
|
103
|
-
hasBeenProcessedByCallback: false,
|
|
104
117
|
configId,
|
|
105
118
|
action: "login",
|
|
106
|
-
|
|
119
|
+
rootRelativeRedirectUrl_consentRequiredCase: (() => {
|
|
107
120
|
switch (rest.action) {
|
|
108
121
|
case "login":
|
|
109
|
-
return lastPublicUrl ?? homeUrl;
|
|
122
|
+
return (lastPublicUrl ?? homeUrl).slice(window.location.origin.length);
|
|
110
123
|
case "go to auth server":
|
|
111
|
-
return
|
|
124
|
+
return rootRelativeRedirectUrl;
|
|
112
125
|
}
|
|
113
126
|
})()
|
|
114
127
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginOrGoToAuthServer.js","sourceRoot":"","sources":["../src/core/loginOrGoToAuthServer.ts"],"names":[],"mappings":";;AAqCA,wHAWC;AAED,
|
|
1
|
+
{"version":3,"file":"loginOrGoToAuthServer.js","sourceRoot":"","sources":["../src/core/loginOrGoToAuthServer.ts"],"names":[],"mappings":"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"}
|
package/entrypoint.d.ts
CHANGED
package/entrypoint.js
CHANGED
|
@@ -1,49 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.oidcEarlyInit =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function oidcEarlyInit(params) {
|
|
7
|
-
const { freezeFetch, freezeXMLHttpRequest, freezeWebSocket = false } = params ?? {};
|
|
8
|
-
const { isHandled } = (0, handleOidcCallback_1.handleOidcCallback)();
|
|
9
|
-
const shouldLoadApp = !isHandled;
|
|
10
|
-
if (shouldLoadApp) {
|
|
11
|
-
(0, handleOidcCallback_1.moveRedirectAuthResponseFromSessionStorageToMemory)();
|
|
12
|
-
if (freezeXMLHttpRequest) {
|
|
13
|
-
const XMLHttpRequest_trusted = globalThis.XMLHttpRequest;
|
|
14
|
-
Object.freeze(XMLHttpRequest_trusted.prototype);
|
|
15
|
-
Object.freeze(XMLHttpRequest_trusted);
|
|
16
|
-
Object.defineProperty(globalThis, "XMLHttpRequest", {
|
|
17
|
-
configurable: false,
|
|
18
|
-
writable: false,
|
|
19
|
-
enumerable: true,
|
|
20
|
-
value: XMLHttpRequest_trusted
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
if (freezeFetch) {
|
|
24
|
-
const fetch_trusted = globalThis.fetch;
|
|
25
|
-
Object.freeze(fetch_trusted.prototype);
|
|
26
|
-
Object.freeze(fetch_trusted);
|
|
27
|
-
Object.defineProperty(globalThis, "fetch", {
|
|
28
|
-
configurable: false,
|
|
29
|
-
writable: false,
|
|
30
|
-
enumerable: true,
|
|
31
|
-
value: fetch_trusted
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
if (freezeWebSocket) {
|
|
35
|
-
const WebSocket_trusted = globalThis.WebSocket;
|
|
36
|
-
Object.freeze(WebSocket_trusted.prototype);
|
|
37
|
-
Object.freeze(WebSocket_trusted);
|
|
38
|
-
Object.defineProperty(globalThis, "WebSocket", {
|
|
39
|
-
configurable: false,
|
|
40
|
-
writable: false,
|
|
41
|
-
enumerable: true,
|
|
42
|
-
value: WebSocket_trusted
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
(0, iframeMessageProtection_1.preventSessionStorageSetItemOfPublicKeyByThirdParty)();
|
|
46
|
-
}
|
|
47
|
-
return { shouldLoadApp };
|
|
48
|
-
}
|
|
3
|
+
exports.oidcEarlyInit = void 0;
|
|
4
|
+
var earlyInit_1 = require("./core/earlyInit");
|
|
5
|
+
Object.defineProperty(exports, "oidcEarlyInit", { enumerable: true, get: function () { return earlyInit_1.oidcEarlyInit; } });
|
|
49
6
|
//# sourceMappingURL=entrypoint.js.map
|
package/entrypoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["./src/entrypoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["./src/entrypoint.ts"],"names":[],"mappings":";;;AAAA,8CAAiD;AAAxC,0GAAA,aAAa,OAAA"}
|
|
@@ -3,3 +3,8 @@ export type AuthResponse = {
|
|
|
3
3
|
[key: string]: string | undefined;
|
|
4
4
|
};
|
|
5
5
|
export declare function authResponseToUrl(authResponse: AuthResponse): string;
|
|
6
|
+
export declare const setPersistedRedirectAuthResponses: (params: {
|
|
7
|
+
authResponses: AuthResponse[];
|
|
8
|
+
}) => void, getPersistedRedirectAuthResponses: () => {
|
|
9
|
+
authResponses: AuthResponse[];
|
|
10
|
+
};
|
package/esm/core/AuthResponse.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { addOrUpdateSearchParam } from "../tools/urlSearchParams";
|
|
2
|
+
import { createEphemeralSessionStorage } from "../tools/EphemeralSessionStorage";
|
|
2
3
|
export function authResponseToUrl(authResponse) {
|
|
3
4
|
let authResponseUrl = "https://dummy.com";
|
|
4
5
|
for (const [name, value] of Object.entries(authResponse)) {
|
|
@@ -15,4 +16,26 @@ export function authResponseToUrl(authResponse) {
|
|
|
15
16
|
authResponseUrl = `${authResponseUrl}#${authResponseUrl.split("?")[1]}`;
|
|
16
17
|
return authResponseUrl;
|
|
17
18
|
}
|
|
19
|
+
export const { setPersistedRedirectAuthResponses, getPersistedRedirectAuthResponses } = (() => {
|
|
20
|
+
const { getEphemeralSessionStorage } = (() => {
|
|
21
|
+
let cache = undefined;
|
|
22
|
+
const getEphemeralSessionStorage = () => (cache ?? (cache = createEphemeralSessionStorage({
|
|
23
|
+
sessionStorageTtlMs: 30000
|
|
24
|
+
})));
|
|
25
|
+
return { getEphemeralSessionStorage };
|
|
26
|
+
})();
|
|
27
|
+
const KEY = "oidc-spa:persisted-redirect-auth-response";
|
|
28
|
+
function setPersistedRedirectAuthResponses(params) {
|
|
29
|
+
const { authResponses } = params;
|
|
30
|
+
const storage = getEphemeralSessionStorage();
|
|
31
|
+
storage.persistCurrentStateAndSubsequentChanges();
|
|
32
|
+
storage.setItem(KEY, JSON.stringify(authResponses));
|
|
33
|
+
}
|
|
34
|
+
function getPersistedRedirectAuthResponses() {
|
|
35
|
+
const value = getEphemeralSessionStorage().getItem(KEY);
|
|
36
|
+
const authResponses = value === null ? [] : JSON.parse(value);
|
|
37
|
+
return { authResponses };
|
|
38
|
+
}
|
|
39
|
+
return { setPersistedRedirectAuthResponses, getPersistedRedirectAuthResponses };
|
|
40
|
+
})();
|
|
18
41
|
//# sourceMappingURL=AuthResponse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthResponse.js","sourceRoot":"","sources":["../../src/core/AuthResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"AuthResponse.js","sourceRoot":"","sources":["../../src/core/AuthResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACH,6BAA6B,EAEhC,MAAM,kCAAkC,CAAC;AAO1C,MAAM,UAAU,iBAAiB,CAAC,YAA0B;IACxD,IAAI,eAAe,GAAG,mBAAmB,CAAC;IAE1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,SAAS;QACb,CAAC;QACD,eAAe,GAAG,sBAAsB,CAAC;YACrC,GAAG,EAAE,eAAe;YACpB,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,UAAU;SAC3B,CAAC,CAAC;IACP,CAAC;IAED,eAAe,GAAG,GAAG,eAAe,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExE,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,GAAG,CAAC,GAAG,EAAE;IAC1F,MAAM,EAAE,0BAA0B,EAAE,GAAG,CAAC,GAAG,EAAE;QACzC,IAAI,KAAK,GAAwC,SAAS,CAAC;QAC3D,MAAM,0BAA0B,GAAG,GAAG,EAAE,CACpC,CAAC,KAAK,KAAL,KAAK,GAAK,6BAA6B,CAAC;YACrC,mBAAmB,EAAE,KAAM;SAC9B,CAAC,EAAC,CAAC;QACR,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAC1C,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,GAAG,GAAG,2CAA2C,CAAC;IAExD,SAAS,iCAAiC,CAAC,MAAyC;QAChF,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QAEjC,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,CAAC,uCAAuC,EAAE,CAAC;QAElD,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,iCAAiC;QACtC,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAExD,MAAM,aAAa,GAAmB,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE9E,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,CAAC;AACpF,CAAC,CAAC,EAAE,CAAC"}
|
package/esm/core/StateData.d.ts
CHANGED
|
@@ -10,12 +10,11 @@ export declare namespace StateData {
|
|
|
10
10
|
export namespace Redirect {
|
|
11
11
|
type Common_Redirect = Common & {
|
|
12
12
|
context: "redirect";
|
|
13
|
-
|
|
14
|
-
hasBeenProcessedByCallback: boolean;
|
|
13
|
+
rootRelativeRedirectUrl: string;
|
|
15
14
|
};
|
|
16
15
|
export type Login = Common_Redirect & {
|
|
17
16
|
action: "login";
|
|
18
|
-
|
|
17
|
+
rootRelativeRedirectUrl_consentRequiredCase: string;
|
|
19
18
|
extraQueryParams: Record<string, string>;
|
|
20
19
|
};
|
|
21
20
|
export type Logout = Common_Redirect & {
|
|
@@ -37,6 +36,3 @@ export declare function clearStateStore(params: {
|
|
|
37
36
|
export declare function getStateData(params: {
|
|
38
37
|
stateUrlParamValue: string;
|
|
39
38
|
}): StateData | undefined;
|
|
40
|
-
export declare function markStateDataAsProcessedByCallback(params: {
|
|
41
|
-
stateUrlParamValue: string;
|
|
42
|
-
}): void;
|
package/esm/core/StateData.js
CHANGED
|
@@ -28,10 +28,6 @@ function getStateStore(params) {
|
|
|
28
28
|
assert(typeGuard(obj, obj instanceof Object && obj.data instanceof Object && typeof obj.data.context === "string"));
|
|
29
29
|
return obj;
|
|
30
30
|
}
|
|
31
|
-
function setStateStore(params) {
|
|
32
|
-
const { stateUrlParamValue, obj } = params;
|
|
33
|
-
localStorage.setItem(getKey({ stateUrlParamValue }), JSON.stringify(obj));
|
|
34
|
-
}
|
|
35
31
|
export function clearStateStore(params) {
|
|
36
32
|
const { stateUrlParamValue } = params;
|
|
37
33
|
localStorage.removeItem(getKey({ stateUrlParamValue }));
|
|
@@ -44,12 +40,4 @@ export function getStateData(params) {
|
|
|
44
40
|
}
|
|
45
41
|
return stateStore.data;
|
|
46
42
|
}
|
|
47
|
-
export function markStateDataAsProcessedByCallback(params) {
|
|
48
|
-
const { stateUrlParamValue } = params;
|
|
49
|
-
const obj = getStateStore({ stateUrlParamValue });
|
|
50
|
-
assert(obj !== undefined, "180465");
|
|
51
|
-
assert(obj.data.context === "redirect", "649531");
|
|
52
|
-
obj.data.hasBeenProcessedByCallback = true;
|
|
53
|
-
setStateStore({ stateUrlParamValue, obj });
|
|
54
|
-
}
|
|
55
43
|
//# sourceMappingURL=StateData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateData.js","sourceRoot":"","sources":["../../src/core/StateData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"StateData.js","sourceRoot":"","sources":["../../src/core/StateData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAiCvE,MAAM,yCAAyC,GAAG,cAAc,CAAC;AACjE,MAAM,oBAAoB,GAAG,EAAE,GAAG,yCAAyC,CAAC,MAAM,CAAC;AAEnF,MAAM,UAAU,0BAA0B;IACtC,OAAO,GAAG,yCAAyC,GAAG,qBAAqB,CAAC;QACxE,MAAM,EAAE,oBAAoB;KAC/B,CAAC,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAA2C;IAChF,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC;IAE3C,OAAO,CACH,uBAAuB,CAAC,UAAU,CAAC,yCAAyC,CAAC;QAC7E,uBAAuB,CAAC,MAAM;YAC1B,yCAAyC,CAAC,MAAM,GAAG,oBAAoB,CAC9E,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAE9C,SAAS,MAAM,CAAC,MAAsC;IAClD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;IAEtC,OAAO,GAAG,sBAAsB,GAAG,kBAAkB,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,aAAa,CAAC,MAAsC;IACzD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;IAEtC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAElE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,CACF,SAAS,CACL,GAAG,EACH,GAAG,YAAY,MAAM,IAAI,GAAG,CAAC,IAAI,YAAY,MAAM,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAC9F,CACJ,CAAC;IAEF,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAsC;IAClE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;IACtC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAsC;IAC/D,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;IAEtC,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAEzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC;AAC3B,CAAC"}
|
package/esm/core/createOidc.d.ts
CHANGED
|
@@ -87,7 +87,7 @@ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> =
|
|
|
87
87
|
/**
|
|
88
88
|
* Default: false
|
|
89
89
|
*
|
|
90
|
-
* See: https://docs.oidc-spa.dev/v/
|
|
90
|
+
* See: https://docs.oidc-spa.dev/v/v8/resources/iframe-related-issues
|
|
91
91
|
*/
|
|
92
92
|
noIframe?: boolean;
|
|
93
93
|
debugLogs?: boolean;
|
|
@@ -121,7 +121,7 @@ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> =
|
|
|
121
121
|
*/
|
|
122
122
|
__metadata?: Partial<OidcMetadata>;
|
|
123
123
|
};
|
|
124
|
-
/** @see: https://docs.oidc-spa.dev/v/
|
|
124
|
+
/** @see: https://docs.oidc-spa.dev/v/v8/usage */
|
|
125
125
|
export declare function createOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, AutoLogin extends boolean = false>(params: ParamsOfCreateOidc<DecodedIdToken, AutoLogin>): Promise<AutoLogin extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken>>;
|
|
126
126
|
export declare function createOidc_nonMemoized<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, AutoLogin extends boolean = false>(params: Omit<ParamsOfCreateOidc<DecodedIdToken, AutoLogin>, "issuerUri" | "clientId" | "scopes" | "debugLogs">, preProcessedParams: {
|
|
127
127
|
issuerUri: string;
|