@axa-fr/react-oidc 6.7.0 → 6.8.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.
|
@@ -13,6 +13,13 @@ const handleInstall = (event) => {
|
|
|
13
13
|
const handleActivate = (event) => {
|
|
14
14
|
console.log('[OidcServiceWorker] service worker activated ' + id);
|
|
15
15
|
event.waitUntil(self.clients.claim());
|
|
16
|
+
/*self.registration.unregister()
|
|
17
|
+
.then(function() {
|
|
18
|
+
return self.clients.matchAll();
|
|
19
|
+
})
|
|
20
|
+
.then(function(clients) {
|
|
21
|
+
clients.forEach(client => client.navigate(client.url))
|
|
22
|
+
});*/
|
|
16
23
|
};
|
|
17
24
|
|
|
18
25
|
let currentLoginCallbackConfigurationName = null;
|
|
@@ -131,21 +138,21 @@ function hideTokens(currentDatabaseElement) {
|
|
|
131
138
|
const accessTokenExpiresAt = (accessTokenPayload && accessTokenPayload.exp)? accessTokenPayload.exp : tokens.issued_at + tokens.expires_in;
|
|
132
139
|
const expiresAt = idTokenExpiresAt < accessTokenExpiresAt ? idTokenExpiresAt : accessTokenExpiresAt;
|
|
133
140
|
secureTokens.expiresAt = expiresAt;
|
|
134
|
-
|
|
141
|
+
|
|
135
142
|
tokens.expiresAt = expiresAt;
|
|
136
143
|
|
|
137
144
|
if(!isTokensOidcValid(tokens, currentDatabaseElement.nonce.nonce, currentDatabaseElement.oidcServerConfiguration)){
|
|
138
145
|
throw Error("Tokens are not OpenID valid");
|
|
139
146
|
}
|
|
140
|
-
|
|
147
|
+
|
|
141
148
|
// When refresh_token is not rotated we reuse ald refresh_token
|
|
142
149
|
if(currentDatabaseElement.tokens != null && "refresh_token" in currentDatabaseElement.tokens && !("refresh_token" in tokens)){
|
|
143
150
|
const refreshToken = currentDatabaseElement.tokens.refresh_token;
|
|
144
151
|
currentDatabaseElement.tokens = {...tokens, refresh_token : refreshToken};
|
|
145
152
|
} else{
|
|
146
|
-
currentDatabaseElement.tokens = tokens;
|
|
153
|
+
currentDatabaseElement.tokens = tokens;
|
|
147
154
|
}
|
|
148
|
-
|
|
155
|
+
|
|
149
156
|
currentDatabaseElement.status = "LOGGED_IN";
|
|
150
157
|
const body = JSON.stringify(secureTokens);
|
|
151
158
|
return new Response(body, response);
|
|
@@ -156,8 +163,12 @@ function hideTokens(currentDatabaseElement) {
|
|
|
156
163
|
const getCurrentDatabasesTokenEndpoint = (database, url) => {
|
|
157
164
|
const databases = [];
|
|
158
165
|
for (const [key, value] of Object.entries(database)) {
|
|
159
|
-
if(value
|
|
160
|
-
|
|
166
|
+
if(value ){
|
|
167
|
+
if(value.oidcServerConfiguration !=null && url.startsWith(value.oidcServerConfiguration.tokenEndpoint)){
|
|
168
|
+
databases.push(value);
|
|
169
|
+
} else if(value.oidcServerConfiguration !=null && value.oidcServerConfiguration.revocationEndpoint && url.startsWith(value.oidcServerConfiguration.revocationEndpoint)) {
|
|
170
|
+
databases.push(value);
|
|
171
|
+
}
|
|
161
172
|
}
|
|
162
173
|
}
|
|
163
174
|
return databases;
|
|
@@ -178,6 +189,9 @@ const getCurrentDatabaseDomain = (database, url) => {
|
|
|
178
189
|
if(oidcServerConfiguration.tokenEndpoint && url === oidcServerConfiguration.tokenEndpoint){
|
|
179
190
|
continue;
|
|
180
191
|
}
|
|
192
|
+
if(oidcServerConfiguration.revocationEndpoint && url === oidcServerConfiguration.revocationEndpoint){
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
181
195
|
|
|
182
196
|
const domainsToSendTokens = oidcServerConfiguration.userInfoEndpoint ? [
|
|
183
197
|
oidcServerConfiguration.userInfoEndpoint, ...trustedDomains[key]
|
|
@@ -239,7 +253,7 @@ const keepAliveAsync = async (event) => {
|
|
|
239
253
|
|
|
240
254
|
const handleFetch = async (event) => {
|
|
241
255
|
const originalRequest = event.request;
|
|
242
|
-
|
|
256
|
+
const url =originalRequest.url;
|
|
243
257
|
if(originalRequest.url.includes(keepAliveJsonFilename) ){
|
|
244
258
|
event.respondWith(keepAliveAsync(event));
|
|
245
259
|
return;
|
|
@@ -263,6 +277,7 @@ const handleFetch = async (event) => {
|
|
|
263
277
|
if(event.request.method !== "POST"){
|
|
264
278
|
return;
|
|
265
279
|
}
|
|
280
|
+
|
|
266
281
|
let currentDatabase = null;
|
|
267
282
|
const currentDatabases = getCurrentDatabasesTokenEndpoint(database, originalRequest.url);
|
|
268
283
|
const numberDatabase = currentDatabases.length;
|
|
@@ -270,7 +285,7 @@ const handleFetch = async (event) => {
|
|
|
270
285
|
const maPromesse = new Promise((resolve, reject) => {
|
|
271
286
|
const clonedRequest = originalRequest.clone();
|
|
272
287
|
const response = clonedRequest.text().then(actualBody => {
|
|
273
|
-
if(actualBody.includes(REFRESH_TOKEN)) {
|
|
288
|
+
if(actualBody.includes(REFRESH_TOKEN) || actualBody.includes(ACCESS_TOKEN)) {
|
|
274
289
|
let newBody = actualBody;
|
|
275
290
|
for(let i= 0;i<numberDatabase;i++){
|
|
276
291
|
const currentDb = currentDatabases[i];
|
|
@@ -282,10 +297,15 @@ const handleFetch = async (event) => {
|
|
|
282
297
|
currentDatabase = currentDb;
|
|
283
298
|
break;
|
|
284
299
|
}
|
|
300
|
+
const keyAccessToken = ACCESS_TOKEN + '_'+ currentDb.configurationName;
|
|
301
|
+
if(actualBody.includes(keyAccessToken)) {
|
|
302
|
+
newBody = newBody.replace(keyAccessToken, encodeURIComponent(currentDb.tokens.access_token));
|
|
303
|
+
currentDatabase = currentDb;
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
285
306
|
}
|
|
286
307
|
}
|
|
287
|
-
|
|
288
|
-
return fetch(originalRequest, {
|
|
308
|
+
let fetchPromise = fetch(originalRequest, {
|
|
289
309
|
body: newBody,
|
|
290
310
|
method: clonedRequest.method,
|
|
291
311
|
headers: {
|
|
@@ -297,7 +317,14 @@ const handleFetch = async (event) => {
|
|
|
297
317
|
referrer: clonedRequest.referrer,
|
|
298
318
|
credentials: clonedRequest.credentials,
|
|
299
319
|
integrity: clonedRequest.integrity
|
|
300
|
-
})
|
|
320
|
+
});
|
|
321
|
+
if(currentDatabase.oidcServerConfiguration !=null && currentDatabase.oidcServerConfiguration.revocationEndpoint && url.startsWith(currentDatabase.oidcServerConfiguration.revocationEndpoint)){
|
|
322
|
+
return fetchPromise.then(async response => {
|
|
323
|
+
const text = await response.text();
|
|
324
|
+
return new Response(text, response);
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
return fetchPromise.then(hideTokens(currentDatabase));
|
|
301
328
|
} else if(actualBody.includes("code_verifier=") && currentLoginCallbackConfigurationName){
|
|
302
329
|
currentDatabase = database[currentLoginCallbackConfigurationName];
|
|
303
330
|
currentLoginCallbackConfigurationName=null;
|
|
@@ -371,6 +398,7 @@ addEventListener('message', event => {
|
|
|
371
398
|
trustedDomains[configurationName] = [];
|
|
372
399
|
}
|
|
373
400
|
}
|
|
401
|
+
|
|
374
402
|
switch (data.type){
|
|
375
403
|
case "loadItems":
|
|
376
404
|
port.postMessage(database[configurationName].items);
|
|
@@ -386,6 +414,7 @@ addEventListener('message', event => {
|
|
|
386
414
|
const domains = trustedDomains[configurationName];
|
|
387
415
|
if (!domains.find(f => f === acceptAnyDomainToken)) {
|
|
388
416
|
checkDomain(domains, oidcServerConfiguration.tokenEndpoint);
|
|
417
|
+
checkDomain(domains, oidcServerConfiguration.revocationEndpoint);
|
|
389
418
|
checkDomain(domains, oidcServerConfiguration.userInfoEndpoint);
|
|
390
419
|
checkDomain(domains, oidcServerConfiguration.issuer);
|
|
391
420
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,iCAAiC,EAQpC,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAC,qCAAqC,EAAC,MAAM,yDAAyD,CAAC;AAC9G,OAAO,EAAoF,MAAM,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
|
package/dist/vanilla/oidc.js
CHANGED
|
@@ -22,6 +22,37 @@ const timer_1 = __importDefault(require("./timer"));
|
|
|
22
22
|
const checkSessionIFrame_1 = require("./checkSessionIFrame");
|
|
23
23
|
const route_utils_1 = require("./route-utils");
|
|
24
24
|
const parseTokens_1 = require("./parseTokens");
|
|
25
|
+
const TOKEN_TYPE = {
|
|
26
|
+
refresh_token: "refresh_token",
|
|
27
|
+
access_token: "access_token"
|
|
28
|
+
};
|
|
29
|
+
const performRevocationRequestAsync = (url, token, token_type = TOKEN_TYPE.refresh_token, client_id) => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
+
const details = {
|
|
31
|
+
token: token,
|
|
32
|
+
token_type_hint: token_type,
|
|
33
|
+
client_id: client_id
|
|
34
|
+
};
|
|
35
|
+
let formBody = [];
|
|
36
|
+
for (const property in details) {
|
|
37
|
+
const encodedKey = encodeURIComponent(property);
|
|
38
|
+
const encodedValue = encodeURIComponent(details[property]);
|
|
39
|
+
formBody.push(`${encodedKey}=${encodedValue}`);
|
|
40
|
+
}
|
|
41
|
+
const formBodyString = formBody.join("&");
|
|
42
|
+
const response = yield internalFetch(url, {
|
|
43
|
+
method: 'POST',
|
|
44
|
+
headers: {
|
|
45
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
|
46
|
+
},
|
|
47
|
+
body: formBodyString,
|
|
48
|
+
});
|
|
49
|
+
if (response.status !== 200) {
|
|
50
|
+
return { success: false };
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
success: true
|
|
54
|
+
};
|
|
55
|
+
});
|
|
25
56
|
const performTokenRequestAsync = (url, details, extras, oldTokens) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
57
|
for (let [key, value] of Object.entries(extras)) {
|
|
27
58
|
if (details[key] === undefined) {
|
|
@@ -1090,6 +1121,26 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
1090
1121
|
const url = isUri ? callbackPathOrUrl : window.location.origin + path;
|
|
1091
1122
|
// @ts-ignore
|
|
1092
1123
|
const idToken = this.tokens ? this.tokens.idToken : "";
|
|
1124
|
+
try {
|
|
1125
|
+
const revocationEndpoint = oidcServerConfiguration.revocationEndpoint;
|
|
1126
|
+
if (revocationEndpoint) {
|
|
1127
|
+
const promises = [];
|
|
1128
|
+
if (this.tokens.accessToken) {
|
|
1129
|
+
const revokeAccessTokenPromise = performRevocationRequestAsync(revocationEndpoint, this.tokens.accessToken, TOKEN_TYPE.refresh_token, configuration.client_id);
|
|
1130
|
+
promises.push(revokeAccessTokenPromise);
|
|
1131
|
+
}
|
|
1132
|
+
if (this.tokens.refreshToken) {
|
|
1133
|
+
const revokeRefreshTokenPromise = performRevocationRequestAsync(revocationEndpoint, this.tokens.refreshToken, TOKEN_TYPE.refresh_token, configuration.client_id);
|
|
1134
|
+
promises.push(revokeRefreshTokenPromise);
|
|
1135
|
+
}
|
|
1136
|
+
if (promises.length > 0) {
|
|
1137
|
+
yield Promise.all(promises);
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
}
|
|
1141
|
+
catch (exception) {
|
|
1142
|
+
console.warn(exception);
|
|
1143
|
+
}
|
|
1093
1144
|
// @ts-ignore
|
|
1094
1145
|
const sub = this.tokens && this.tokens.idTokenPayload ? this.tokens.idTokenPayload.sub : null;
|
|
1095
1146
|
yield this.destroyAsync("LOGGED_OUT");
|
package/dist/vanilla/oidc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -13,6 +13,13 @@ const handleInstall = (event) => {
|
|
|
13
13
|
const handleActivate = (event) => {
|
|
14
14
|
console.log('[OidcServiceWorker] service worker activated ' + id);
|
|
15
15
|
event.waitUntil(self.clients.claim());
|
|
16
|
+
/*self.registration.unregister()
|
|
17
|
+
.then(function() {
|
|
18
|
+
return self.clients.matchAll();
|
|
19
|
+
})
|
|
20
|
+
.then(function(clients) {
|
|
21
|
+
clients.forEach(client => client.navigate(client.url))
|
|
22
|
+
});*/
|
|
16
23
|
};
|
|
17
24
|
|
|
18
25
|
let currentLoginCallbackConfigurationName = null;
|
|
@@ -131,21 +138,21 @@ function hideTokens(currentDatabaseElement) {
|
|
|
131
138
|
const accessTokenExpiresAt = (accessTokenPayload && accessTokenPayload.exp)? accessTokenPayload.exp : tokens.issued_at + tokens.expires_in;
|
|
132
139
|
const expiresAt = idTokenExpiresAt < accessTokenExpiresAt ? idTokenExpiresAt : accessTokenExpiresAt;
|
|
133
140
|
secureTokens.expiresAt = expiresAt;
|
|
134
|
-
|
|
141
|
+
|
|
135
142
|
tokens.expiresAt = expiresAt;
|
|
136
143
|
|
|
137
144
|
if(!isTokensOidcValid(tokens, currentDatabaseElement.nonce.nonce, currentDatabaseElement.oidcServerConfiguration)){
|
|
138
145
|
throw Error("Tokens are not OpenID valid");
|
|
139
146
|
}
|
|
140
|
-
|
|
147
|
+
|
|
141
148
|
// When refresh_token is not rotated we reuse ald refresh_token
|
|
142
149
|
if(currentDatabaseElement.tokens != null && "refresh_token" in currentDatabaseElement.tokens && !("refresh_token" in tokens)){
|
|
143
150
|
const refreshToken = currentDatabaseElement.tokens.refresh_token;
|
|
144
151
|
currentDatabaseElement.tokens = {...tokens, refresh_token : refreshToken};
|
|
145
152
|
} else{
|
|
146
|
-
currentDatabaseElement.tokens = tokens;
|
|
153
|
+
currentDatabaseElement.tokens = tokens;
|
|
147
154
|
}
|
|
148
|
-
|
|
155
|
+
|
|
149
156
|
currentDatabaseElement.status = "LOGGED_IN";
|
|
150
157
|
const body = JSON.stringify(secureTokens);
|
|
151
158
|
return new Response(body, response);
|
|
@@ -156,8 +163,12 @@ function hideTokens(currentDatabaseElement) {
|
|
|
156
163
|
const getCurrentDatabasesTokenEndpoint = (database, url) => {
|
|
157
164
|
const databases = [];
|
|
158
165
|
for (const [key, value] of Object.entries(database)) {
|
|
159
|
-
if(value
|
|
160
|
-
|
|
166
|
+
if(value ){
|
|
167
|
+
if(value.oidcServerConfiguration !=null && url.startsWith(value.oidcServerConfiguration.tokenEndpoint)){
|
|
168
|
+
databases.push(value);
|
|
169
|
+
} else if(value.oidcServerConfiguration !=null && value.oidcServerConfiguration.revocationEndpoint && url.startsWith(value.oidcServerConfiguration.revocationEndpoint)) {
|
|
170
|
+
databases.push(value);
|
|
171
|
+
}
|
|
161
172
|
}
|
|
162
173
|
}
|
|
163
174
|
return databases;
|
|
@@ -178,6 +189,9 @@ const getCurrentDatabaseDomain = (database, url) => {
|
|
|
178
189
|
if(oidcServerConfiguration.tokenEndpoint && url === oidcServerConfiguration.tokenEndpoint){
|
|
179
190
|
continue;
|
|
180
191
|
}
|
|
192
|
+
if(oidcServerConfiguration.revocationEndpoint && url === oidcServerConfiguration.revocationEndpoint){
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
181
195
|
|
|
182
196
|
const domainsToSendTokens = oidcServerConfiguration.userInfoEndpoint ? [
|
|
183
197
|
oidcServerConfiguration.userInfoEndpoint, ...trustedDomains[key]
|
|
@@ -239,7 +253,7 @@ const keepAliveAsync = async (event) => {
|
|
|
239
253
|
|
|
240
254
|
const handleFetch = async (event) => {
|
|
241
255
|
const originalRequest = event.request;
|
|
242
|
-
|
|
256
|
+
const url =originalRequest.url;
|
|
243
257
|
if(originalRequest.url.includes(keepAliveJsonFilename) ){
|
|
244
258
|
event.respondWith(keepAliveAsync(event));
|
|
245
259
|
return;
|
|
@@ -263,6 +277,7 @@ const handleFetch = async (event) => {
|
|
|
263
277
|
if(event.request.method !== "POST"){
|
|
264
278
|
return;
|
|
265
279
|
}
|
|
280
|
+
|
|
266
281
|
let currentDatabase = null;
|
|
267
282
|
const currentDatabases = getCurrentDatabasesTokenEndpoint(database, originalRequest.url);
|
|
268
283
|
const numberDatabase = currentDatabases.length;
|
|
@@ -270,7 +285,7 @@ const handleFetch = async (event) => {
|
|
|
270
285
|
const maPromesse = new Promise((resolve, reject) => {
|
|
271
286
|
const clonedRequest = originalRequest.clone();
|
|
272
287
|
const response = clonedRequest.text().then(actualBody => {
|
|
273
|
-
if(actualBody.includes(REFRESH_TOKEN)) {
|
|
288
|
+
if(actualBody.includes(REFRESH_TOKEN) || actualBody.includes(ACCESS_TOKEN)) {
|
|
274
289
|
let newBody = actualBody;
|
|
275
290
|
for(let i= 0;i<numberDatabase;i++){
|
|
276
291
|
const currentDb = currentDatabases[i];
|
|
@@ -282,10 +297,15 @@ const handleFetch = async (event) => {
|
|
|
282
297
|
currentDatabase = currentDb;
|
|
283
298
|
break;
|
|
284
299
|
}
|
|
300
|
+
const keyAccessToken = ACCESS_TOKEN + '_'+ currentDb.configurationName;
|
|
301
|
+
if(actualBody.includes(keyAccessToken)) {
|
|
302
|
+
newBody = newBody.replace(keyAccessToken, encodeURIComponent(currentDb.tokens.access_token));
|
|
303
|
+
currentDatabase = currentDb;
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
285
306
|
}
|
|
286
307
|
}
|
|
287
|
-
|
|
288
|
-
return fetch(originalRequest, {
|
|
308
|
+
let fetchPromise = fetch(originalRequest, {
|
|
289
309
|
body: newBody,
|
|
290
310
|
method: clonedRequest.method,
|
|
291
311
|
headers: {
|
|
@@ -297,7 +317,14 @@ const handleFetch = async (event) => {
|
|
|
297
317
|
referrer: clonedRequest.referrer,
|
|
298
318
|
credentials: clonedRequest.credentials,
|
|
299
319
|
integrity: clonedRequest.integrity
|
|
300
|
-
})
|
|
320
|
+
});
|
|
321
|
+
if(currentDatabase.oidcServerConfiguration !=null && currentDatabase.oidcServerConfiguration.revocationEndpoint && url.startsWith(currentDatabase.oidcServerConfiguration.revocationEndpoint)){
|
|
322
|
+
return fetchPromise.then(async response => {
|
|
323
|
+
const text = await response.text();
|
|
324
|
+
return new Response(text, response);
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
return fetchPromise.then(hideTokens(currentDatabase));
|
|
301
328
|
} else if(actualBody.includes("code_verifier=") && currentLoginCallbackConfigurationName){
|
|
302
329
|
currentDatabase = database[currentLoginCallbackConfigurationName];
|
|
303
330
|
currentLoginCallbackConfigurationName=null;
|
|
@@ -371,6 +398,7 @@ addEventListener('message', event => {
|
|
|
371
398
|
trustedDomains[configurationName] = [];
|
|
372
399
|
}
|
|
373
400
|
}
|
|
401
|
+
|
|
374
402
|
switch (data.type){
|
|
375
403
|
case "loadItems":
|
|
376
404
|
port.postMessage(database[configurationName].items);
|
|
@@ -386,6 +414,7 @@ addEventListener('message', event => {
|
|
|
386
414
|
const domains = trustedDomains[configurationName];
|
|
387
415
|
if (!domains.find(f => f === acceptAnyDomainToken)) {
|
|
388
416
|
checkDomain(domains, oidcServerConfiguration.tokenEndpoint);
|
|
417
|
+
checkDomain(domains, oidcServerConfiguration.revocationEndpoint);
|
|
389
418
|
checkDomain(domains, oidcServerConfiguration.userInfoEndpoint);
|
|
390
419
|
checkDomain(domains, oidcServerConfiguration.issuer);
|
|
391
420
|
}
|
package/src/oidc/vanilla/oidc.ts
CHANGED
|
@@ -21,8 +21,42 @@ import {getParseQueryStringFromLocation} from "./route-utils";
|
|
|
21
21
|
import {AuthorizationServiceConfigurationJson} from "@openid/appauth/src/authorization_service_configuration";
|
|
22
22
|
import {computeTimeLeft, isTokensOidcValid, isTokensValid, parseOriginalTokens, setTokens, Tokens} from "./parseTokens";
|
|
23
23
|
|
|
24
|
+
const TOKEN_TYPE ={
|
|
25
|
+
refresh_token:"refresh_token",
|
|
26
|
+
access_token:"access_token"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const performRevocationRequestAsync= async (url, token, token_type=TOKEN_TYPE.refresh_token, client_id) => {
|
|
30
|
+
const details = {
|
|
31
|
+
token:token,
|
|
32
|
+
token_type_hint:token_type,
|
|
33
|
+
client_id: client_id
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
let formBody = [];
|
|
37
|
+
for (const property in details) {
|
|
38
|
+
const encodedKey = encodeURIComponent(property);
|
|
39
|
+
const encodedValue = encodeURIComponent(details[property]);
|
|
40
|
+
formBody.push(`${encodedKey}=${encodedValue}`);
|
|
41
|
+
}
|
|
42
|
+
const formBodyString = formBody.join("&");
|
|
43
|
+
|
|
44
|
+
const response = await internalFetch(url, {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
headers: {
|
|
47
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
|
48
|
+
},
|
|
49
|
+
body: formBodyString,
|
|
50
|
+
});
|
|
51
|
+
if(response.status !== 200){
|
|
52
|
+
return { success:false };
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
success : true
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
24
59
|
const performTokenRequestAsync= async (url, details, extras, oldTokens) => {
|
|
25
|
-
|
|
26
60
|
for (let [key, value] of Object.entries(extras)) {
|
|
27
61
|
if (details[key] === undefined) {
|
|
28
62
|
details[key] = value;
|
|
@@ -1180,6 +1214,25 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
1180
1214
|
const url = isUri ? callbackPathOrUrl : window.location.origin + path;
|
|
1181
1215
|
// @ts-ignore
|
|
1182
1216
|
const idToken = this.tokens ? this.tokens.idToken : "";
|
|
1217
|
+
try {
|
|
1218
|
+
const revocationEndpoint = oidcServerConfiguration.revocationEndpoint;
|
|
1219
|
+
if (revocationEndpoint) {
|
|
1220
|
+
const promises = [];
|
|
1221
|
+
if (this.tokens.accessToken) {
|
|
1222
|
+
const revokeAccessTokenPromise = performRevocationRequestAsync(revocationEndpoint, this.tokens.accessToken, TOKEN_TYPE.refresh_token, configuration.client_id);
|
|
1223
|
+
promises.push(revokeAccessTokenPromise);
|
|
1224
|
+
}
|
|
1225
|
+
if (this.tokens.refreshToken) {
|
|
1226
|
+
const revokeRefreshTokenPromise = performRevocationRequestAsync(revocationEndpoint, this.tokens.refreshToken, TOKEN_TYPE.refresh_token, configuration.client_id);
|
|
1227
|
+
promises.push(revokeRefreshTokenPromise);
|
|
1228
|
+
}
|
|
1229
|
+
if (promises.length > 0) {
|
|
1230
|
+
await Promise.all(promises);
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1233
|
+
}catch(exception){
|
|
1234
|
+
console.warn(exception);
|
|
1235
|
+
}
|
|
1183
1236
|
// @ts-ignore
|
|
1184
1237
|
const sub = this.tokens && this.tokens.idTokenPayload ? this.tokens.idTokenPayload.sub : null;
|
|
1185
1238
|
await this.destroyAsync("LOGGED_OUT");
|
|
@@ -1189,6 +1242,7 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
1189
1242
|
await oidc.logoutSameTabAsync(this.configuration.client_id, sub);
|
|
1190
1243
|
}
|
|
1191
1244
|
}
|
|
1245
|
+
|
|
1192
1246
|
|
|
1193
1247
|
if(oidcServerConfiguration.endSessionEndpoint) {
|
|
1194
1248
|
if(!extras){
|