@axa-fr/oidc-client 7.22.18 → 7.22.19
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 +31 -39
- package/bin/copy-service-worker-files.mjs +24 -17
- package/dist/OidcTrustedDomains.js +14 -12
- package/dist/cache.d.ts.map +1 -1
- package/dist/checkSession.d.ts +1 -1
- package/dist/checkSession.d.ts.map +1 -1
- package/dist/checkSessionIFrame.d.ts.map +1 -1
- package/dist/crypto.d.ts.map +1 -1
- package/dist/fetch.d.ts +2 -1
- package/dist/fetch.d.ts.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +935 -601
- package/dist/index.umd.cjs +2 -2
- package/dist/initSession.d.ts +1 -1
- package/dist/initSession.d.ts.map +1 -1
- package/dist/initWorker.d.ts +2 -2
- package/dist/initWorker.d.ts.map +1 -1
- package/dist/initWorkerOption.d.ts.map +1 -1
- package/dist/jwt.d.ts +2 -2
- package/dist/jwt.d.ts.map +1 -1
- package/dist/keepSession.d.ts.map +1 -1
- package/dist/location.d.ts.map +1 -1
- package/dist/login.d.ts +1 -1
- package/dist/login.d.ts.map +1 -1
- package/dist/logout.d.ts +1 -1
- package/dist/logout.d.ts.map +1 -1
- package/dist/oidc.d.ts +1 -1
- package/dist/oidc.d.ts.map +1 -1
- package/dist/oidcClient.d.ts +2 -2
- package/dist/oidcClient.d.ts.map +1 -1
- package/dist/parseTokens.d.ts.map +1 -1
- package/dist/renewTokens.d.ts.map +1 -1
- package/dist/requests.d.ts +1 -1
- package/dist/requests.d.ts.map +1 -1
- package/dist/silentLogin.d.ts.map +1 -1
- package/dist/timer.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/user.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +2 -2
- package/src/cache.ts +21 -18
- package/src/checkSession.ts +89 -54
- package/src/checkSessionIFrame.ts +70 -69
- package/src/crypto.ts +27 -25
- package/src/events.ts +28 -28
- package/src/fetch.ts +40 -21
- package/src/index.ts +6 -17
- package/src/iniWorker.spec.ts +26 -16
- package/src/initSession.ts +115 -113
- package/src/initWorker.ts +299 -212
- package/src/initWorkerOption.ts +121 -114
- package/src/jwt.ts +150 -136
- package/src/keepSession.ts +100 -81
- package/src/location.ts +24 -26
- package/src/login.ts +246 -189
- package/src/logout.spec.ts +131 -76
- package/src/logout.ts +130 -115
- package/src/oidc.ts +426 -337
- package/src/oidcClient.ts +129 -105
- package/src/parseTokens.spec.ts +198 -179
- package/src/parseTokens.ts +221 -186
- package/src/renewTokens.ts +397 -284
- package/src/requests.spec.ts +5 -7
- package/src/requests.ts +142 -114
- package/src/route-utils.spec.ts +17 -19
- package/src/route-utils.ts +29 -26
- package/src/silentLogin.ts +145 -127
- package/src/timer.ts +10 -11
- package/src/types.ts +56 -46
- package/src/user.ts +17 -12
- package/src/version.ts +1 -1
package/src/initSession.ts
CHANGED
|
@@ -1,115 +1,117 @@
|
|
|
1
1
|
export const initSession = (configurationName, storage = sessionStorage) => {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
2
|
+
const clearAsync = status => {
|
|
3
|
+
storage[`oidc.${configurationName}`] = JSON.stringify({ tokens: null, status });
|
|
4
|
+
return Promise.resolve();
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
const initAsync = async () => {
|
|
8
|
+
if (!storage[`oidc.${configurationName}`]) {
|
|
9
|
+
storage[`oidc.${configurationName}`] = JSON.stringify({ tokens: null, status: null });
|
|
10
|
+
return { tokens: null, status: null };
|
|
11
|
+
}
|
|
12
|
+
const data = JSON.parse(storage[`oidc.${configurationName}`]);
|
|
13
|
+
return Promise.resolve({ tokens: data.tokens, status: data.status });
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const setTokens = tokens => {
|
|
17
|
+
storage[`oidc.${configurationName}`] = JSON.stringify({ tokens });
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const setSessionStateAsync = async sessionState => {
|
|
21
|
+
storage[`oidc.session_state.${configurationName}`] = sessionState;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const getSessionStateAsync = async () => {
|
|
25
|
+
return storage[`oidc.session_state.${configurationName}`];
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const setNonceAsync = nonce => {
|
|
29
|
+
storage[`oidc.nonce.${configurationName}`] = nonce.nonce;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const setDemonstratingProofOfPossessionJwkAsync = (jwk: JsonWebKey) => {
|
|
33
|
+
storage[`oidc.jwk.${configurationName}`] = JSON.stringify(jwk);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const getDemonstratingProofOfPossessionJwkAsync = () => {
|
|
37
|
+
return JSON.parse(storage[`oidc.jwk.${configurationName}`]);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const getNonceAsync = async () => {
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
return { nonce: storage[`oidc.nonce.${configurationName}`] };
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const setDemonstratingProofOfPossessionNonce = async (dpopNonce: string) => {
|
|
46
|
+
storage[`oidc.dpop_nonce.${configurationName}`] = dpopNonce;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const getDemonstratingProofOfPossessionNonce = (): string => {
|
|
50
|
+
return storage[`oidc.dpop_nonce.${configurationName}`];
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const getTokens = () => {
|
|
54
|
+
if (!storage[`oidc.${configurationName}`]) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return JSON.stringify({ tokens: JSON.parse(storage[`oidc.${configurationName}`]).tokens });
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const getLoginParamsCache = {};
|
|
61
|
+
const setLoginParams = data => {
|
|
62
|
+
getLoginParamsCache[configurationName] = data;
|
|
63
|
+
storage[`oidc.login.${configurationName}`] = JSON.stringify(data);
|
|
64
|
+
};
|
|
65
|
+
const getLoginParams = () => {
|
|
66
|
+
const dataString = storage[`oidc.login.${configurationName}`];
|
|
67
|
+
|
|
68
|
+
if (!dataString) {
|
|
69
|
+
console.warn(
|
|
70
|
+
`storage[oidc.login.${configurationName}] is empty, you should have an bad OIDC or code configuration somewhere.`,
|
|
71
|
+
);
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (!getLoginParamsCache[configurationName]) {
|
|
76
|
+
getLoginParamsCache[configurationName] = JSON.parse(dataString);
|
|
77
|
+
}
|
|
78
|
+
return getLoginParamsCache[configurationName];
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const getStateAsync = async () => {
|
|
82
|
+
return storage[`oidc.state.${configurationName}`];
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
const setStateAsync = async (state: string) => {
|
|
86
|
+
storage[`oidc.state.${configurationName}`] = state;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const getCodeVerifierAsync = async () => {
|
|
90
|
+
return storage[`oidc.code_verifier.${configurationName}`];
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
const setCodeVerifierAsync = async codeVerifier => {
|
|
94
|
+
storage[`oidc.code_verifier.${configurationName}`] = codeVerifier;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
return {
|
|
98
|
+
clearAsync,
|
|
99
|
+
initAsync,
|
|
100
|
+
setTokens,
|
|
101
|
+
getTokens,
|
|
102
|
+
setSessionStateAsync,
|
|
103
|
+
getSessionStateAsync,
|
|
104
|
+
setNonceAsync,
|
|
105
|
+
getNonceAsync,
|
|
106
|
+
setLoginParams,
|
|
107
|
+
getLoginParams,
|
|
108
|
+
getStateAsync,
|
|
109
|
+
setStateAsync,
|
|
110
|
+
getCodeVerifierAsync,
|
|
111
|
+
setCodeVerifierAsync,
|
|
112
|
+
setDemonstratingProofOfPossessionNonce,
|
|
113
|
+
getDemonstratingProofOfPossessionNonce,
|
|
114
|
+
setDemonstratingProofOfPossessionJwkAsync,
|
|
115
|
+
getDemonstratingProofOfPossessionJwkAsync,
|
|
116
|
+
};
|
|
115
117
|
};
|