@axa-fr/react-oidc 6.5.9 → 6.6.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.
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
const id = Math.round(new Date().getTime() / 1000).toString();
|
|
4
4
|
|
|
5
|
+
const acceptAnyDomainToken = "*";
|
|
6
|
+
|
|
5
7
|
const keepAliveJsonFilename = "OidcKeepAliveServiceWorker.json";
|
|
6
8
|
const handleInstall = (event) => {
|
|
7
9
|
console.log('[OidcServiceWorker] service worker installed ' + id);
|
|
@@ -29,13 +31,16 @@ const countLetter = (str, find)=> {
|
|
|
29
31
|
return (str.split(find)).length - 1;
|
|
30
32
|
}
|
|
31
33
|
|
|
32
|
-
const
|
|
34
|
+
const b64DecodeUnicode = (str) =>
|
|
35
|
+
decodeURIComponent(Array.prototype.map.call(atob(str), (c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));
|
|
36
|
+
const parseJwt = (token) => JSON.parse(b64DecodeUnicode(token.split('.')[1].replace('-', '+').replace('_', '/')));
|
|
37
|
+
const extractTokenPayload=(token)=> {
|
|
33
38
|
try{
|
|
34
|
-
if (!
|
|
39
|
+
if (!token) {
|
|
35
40
|
return null;
|
|
36
41
|
}
|
|
37
|
-
if(countLetter(
|
|
38
|
-
return
|
|
42
|
+
if(countLetter(token,'.') === 2) {
|
|
43
|
+
return parseJwt(token);
|
|
39
44
|
} else {
|
|
40
45
|
return null;
|
|
41
46
|
}
|
|
@@ -179,11 +184,15 @@ const getCurrentDatabaseDomain = (database, url) => {
|
|
|
179
184
|
] : [...trustedDomains[key]];
|
|
180
185
|
|
|
181
186
|
let hasToSendToken = false;
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
+
if (domainsToSendTokens.find((f) => f === acceptAnyDomainToken)) {
|
|
188
|
+
hasToSendToken= true;
|
|
189
|
+
} else {
|
|
190
|
+
for (let i = 0; i < domainsToSendTokens.length; i++) {
|
|
191
|
+
const domain = domainsToSendTokens[i];
|
|
192
|
+
if (url.startsWith(domain)) {
|
|
193
|
+
hasToSendToken = true;
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
187
196
|
}
|
|
188
197
|
}
|
|
189
198
|
|
|
@@ -332,15 +341,14 @@ self.addEventListener('activate', handleActivate);
|
|
|
332
341
|
self.addEventListener('fetch', handleFetch);
|
|
333
342
|
|
|
334
343
|
|
|
335
|
-
const checkDomain =(domains,
|
|
336
|
-
|
|
337
|
-
if(!tokenEndpoint){
|
|
344
|
+
const checkDomain = (domains, endpoint) => {
|
|
345
|
+
if(!endpoint){
|
|
338
346
|
return;
|
|
339
347
|
}
|
|
340
348
|
|
|
341
|
-
const domain = domains.find(domain =>
|
|
349
|
+
const domain = domains.find(domain => endpoint.startsWith(domain));
|
|
342
350
|
if(!domain){
|
|
343
|
-
throw new Error("Domain " +
|
|
351
|
+
throw new Error("Domain " + endpoint + " is not trusted, please add domain in TrustedDomains.js");
|
|
344
352
|
}
|
|
345
353
|
}
|
|
346
354
|
|
|
@@ -375,13 +383,12 @@ addEventListener('message', event => {
|
|
|
375
383
|
return;
|
|
376
384
|
case "init":
|
|
377
385
|
const oidcServerConfiguration = data.data.oidcServerConfiguration;
|
|
378
|
-
const tokenEndpoint = oidcServerConfiguration.tokenEndpoint;
|
|
379
386
|
const domains = trustedDomains[configurationName];
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
387
|
+
if (!domains.find(f => f === acceptAnyDomainToken)) {
|
|
388
|
+
checkDomain(domains, oidcServerConfiguration.tokenEndpoint);
|
|
389
|
+
checkDomain(domains, oidcServerConfiguration.userInfoEndpoint);
|
|
390
|
+
checkDomain(domains, oidcServerConfiguration.issuer);
|
|
391
|
+
}
|
|
385
392
|
currentDatabase.oidcServerConfiguration = oidcServerConfiguration;
|
|
386
393
|
const where = data.data.where;
|
|
387
394
|
if(where === "loginCallbackAsync" || where === "tryKeepExistingSessionAsync") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTokens.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parseTokens.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,SAAS,uCAgCrB,CAAA;AAID,eAAO,MAAM,mBAAmB,sCAmC/B,CAAA;AAED,eAAO,MAAM,eAAe,4EAG3B,CAAA;AAED,eAAO,MAAM,aAAa,0BAKzB,CAAA;AAID,eAAO,MAAM,iBAAiB,oEA2B7B,CAAA"}
|
|
@@ -1,36 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isTokensOidcValid = exports.isTokensValid = exports.computeTimeLeft = exports.parseOriginalTokens = exports.setTokens = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
const base64Url = token.split('.')[1];
|
|
9
|
-
const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
|
|
10
|
-
const jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) {
|
|
11
|
-
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
|
12
|
-
}).join(''));
|
|
13
|
-
return JSON.parse(jsonPayload);
|
|
14
|
-
};
|
|
15
|
-
const countLetter = (str, find) => {
|
|
16
|
-
return (str.split(find)).length - 1;
|
|
17
|
-
};
|
|
18
|
-
const extractAccessTokenPayload = tokens => {
|
|
19
|
-
if (tokens.accessTokenPayload) {
|
|
20
|
-
return tokens.accessTokenPayload;
|
|
21
|
-
}
|
|
22
|
-
const accessToken = tokens.accessToken;
|
|
4
|
+
const b64DecodeUnicode = (str) => decodeURIComponent(Array.prototype.map.call(atob(str), (c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));
|
|
5
|
+
const parseJwt = (token) => JSON.parse(b64DecodeUnicode(token.split('.')[1].replace('-', '+').replace('_', '/')));
|
|
6
|
+
const extractTokenPayload = (token) => {
|
|
23
7
|
try {
|
|
24
|
-
if (!
|
|
8
|
+
if (!token) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
if (countLetter(token, '.') === 2) {
|
|
12
|
+
return parseJwt(token);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
25
15
|
return null;
|
|
26
16
|
}
|
|
27
|
-
return JSON.parse(atob(accessToken.split('.')[1]));
|
|
28
17
|
}
|
|
29
18
|
catch (e) {
|
|
30
19
|
console.warn(e);
|
|
31
20
|
}
|
|
32
21
|
return null;
|
|
33
22
|
};
|
|
23
|
+
const countLetter = (str, find) => {
|
|
24
|
+
return (str.split(find)).length - 1;
|
|
25
|
+
};
|
|
34
26
|
const setTokens = (tokens, oldTokens = null) => {
|
|
35
27
|
if (!tokens) {
|
|
36
28
|
return null;
|
|
@@ -44,9 +36,9 @@ const setTokens = (tokens, oldTokens = null) => {
|
|
|
44
36
|
accessTokenPayload = tokens.accessTokenPayload;
|
|
45
37
|
}
|
|
46
38
|
else {
|
|
47
|
-
accessTokenPayload =
|
|
39
|
+
accessTokenPayload = extractTokenPayload(tokens);
|
|
48
40
|
}
|
|
49
|
-
const _idTokenPayload = tokens.idTokenPayload ? tokens.idTokenPayload :
|
|
41
|
+
const _idTokenPayload = tokens.idTokenPayload ? tokens.idTokenPayload : extractTokenPayload(tokens.idToken);
|
|
50
42
|
const idTokenExipreAt = (_idTokenPayload && _idTokenPayload.exp) ? _idTokenPayload.exp : Number.MAX_VALUE;
|
|
51
43
|
const accessTokenExpiresAt = (accessTokenPayload && accessTokenPayload.exp) ? accessTokenPayload.exp : tokens.issuedAt + tokens.expiresIn;
|
|
52
44
|
const expiresAt = idTokenExipreAt < accessTokenExpiresAt ? idTokenExipreAt : accessTokenExpiresAt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTokens.js","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"parseTokens.js","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":"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"}
|