@axa-fr/react-oidc 6.0.0-alpha2 → 6.0.0-alpha5
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 +10 -9
- package/dist/OidcServiceWorker.js +10 -3
- package/dist/vanilla/initWorker.d.ts.map +1 -1
- package/dist/vanilla/initWorker.js +3 -2
- package/dist/vanilla/initWorker.js.map +1 -1
- package/dist/vanilla/oidc.d.ts +1 -0
- package/dist/vanilla/oidc.d.ts.map +1 -1
- package/dist/vanilla/oidc.js +91 -24
- package/dist/vanilla/oidc.js.map +1 -1
- package/package.json +1 -1
- package/src/configurations.ts +4 -1
- package/src/oidc/vanilla/OidcServiceWorker.js +10 -3
- package/src/oidc/vanilla/initWorker.ts +3 -2
- package/src/oidc/vanilla/oidc.ts +85 -11
package/README.md
CHANGED
|
@@ -112,6 +112,7 @@ const configuration = {
|
|
|
112
112
|
client_id: 'interactive.public.short',
|
|
113
113
|
redirect_uri: 'http://localhost:4200/authentication/callback',
|
|
114
114
|
silent_redirect_uri: 'http://localhost:4200/authentication/silent-callback',
|
|
115
|
+
silent_signin_uri: 'http://localhost:4200/authentication/silent-signin',
|
|
115
116
|
scope: 'openid profile email api offline_access', // offline_access scope allow your client to retrieve the refresh_token
|
|
116
117
|
authority: 'https://demo.identityserver.io',
|
|
117
118
|
service_worker_relative_url:'/OidcServiceWorker.js',
|
|
@@ -144,6 +145,7 @@ const propTypes = {
|
|
|
144
145
|
client_id: PropTypes.string.isRequired, // oidc client id
|
|
145
146
|
redirect_uri: PropTypes.string.isRequired, // oidc redirect url
|
|
146
147
|
silent_redirect_uri: PropTypes.string, // Optional activate silent-signin that use cookies between OIDC server and client javascript to restore sessions
|
|
148
|
+
silent_sigin_uri: PropTypes.string, // Optional but require if silent_redirect_uri is set
|
|
147
149
|
silent_signin_timeout: PropTypes.number, // Optional default is 12000 milliseconds
|
|
148
150
|
scope: PropTypes.string.isRequired, // oidc scope (you need to set "offline_access")
|
|
149
151
|
authority: PropTypes.string.isRequired,
|
|
@@ -160,6 +162,9 @@ const propTypes = {
|
|
|
160
162
|
service_worker_only: PropTypes.boolean, // default false
|
|
161
163
|
extras: StringMap|undefined, // ex: {'prompt': 'consent', 'access_type': 'offline'} list of key/value that are send to the oidc server (more info: https://github.com/openid/AppAuth-JS)
|
|
162
164
|
withCustomHistory: PropTypes.function, // Override history modification, return instance with replaceState(url, stateHistory) implemented (like History.replaceState())
|
|
165
|
+
authority_time_cache_wellknowurl_in_second: 60* 60, // Time to cache in second of openid wellknowurl, default is 1 hour
|
|
166
|
+
monitor_session:true, // Add OpenId monitor session, default is true (more information https://openid.net/specs/openid-connect-session-1_0.html)
|
|
167
|
+
onLogout: Function // Optional, can be set to override the default behavior, this function is triggered when user is logout from another tab
|
|
163
168
|
}).isRequired
|
|
164
169
|
};
|
|
165
170
|
```
|
|
@@ -448,6 +453,7 @@ const configuration = {
|
|
|
448
453
|
client_id: 'interactive.public.short',
|
|
449
454
|
redirect_uri: 'http://localhost:4200/authentication/callback',
|
|
450
455
|
silent_redirect_uri: 'http://localhost:4200/authentication/silent-callback',
|
|
456
|
+
silent_signin_uri: 'http://localhost:4200/authentication/silent-signin',
|
|
451
457
|
scope: 'openid profile email api offline_access',
|
|
452
458
|
authority: 'https://demo.identityserver.io',
|
|
453
459
|
service_worker_relative_url:'/OidcServiceWorker.js',
|
|
@@ -514,15 +520,9 @@ const configuration = {
|
|
|
514
520
|
client_id: 'interactive.public.short',
|
|
515
521
|
redirect_uri: 'http://localhost:3001/#authentication/callback',
|
|
516
522
|
silent_redirect_uri: 'http://localhost:3001/#authentication/silent-callback', // Optional activate silent-signin that use cookies between OIDC server and client javascript to restore the session
|
|
523
|
+
silent_signin_uri: 'http://localhost:4200/authentication/silent-signin',
|
|
517
524
|
scope: 'openid profile email api offline_access',
|
|
518
|
-
authority: 'https://demo.
|
|
519
|
-
authority_configuration: {
|
|
520
|
-
authorization_endpoint: 'https://demo.duendesoftware.com/connect/authorize',
|
|
521
|
-
token_endpoint: 'https://demo.duendesoftware.com/connect/token',
|
|
522
|
-
userinfo_endpoint: 'https://demo.duendesoftware.com/connect/userinfo',
|
|
523
|
-
end_session_endpoint: 'https://demo.duendesoftware.com/connect/endsession',
|
|
524
|
-
revocation_endpoint: 'https://demo.duendesoftware.com/connect/revocation',
|
|
525
|
-
},
|
|
525
|
+
authority: 'https://demo.duendesoftware.com',
|
|
526
526
|
};
|
|
527
527
|
|
|
528
528
|
const onEvent=(configurationName, eventName, data )=>{
|
|
@@ -564,7 +564,8 @@ React oidc work also with hash router.
|
|
|
564
564
|
export const configurationIdentityServerWithHash = {
|
|
565
565
|
client_id: 'interactive.public.short',
|
|
566
566
|
redirect_uri: window.location.origin+'#authentication-callback',
|
|
567
|
-
silent_redirect_uri: window.location.origin+'#authentication-silent-callback',
|
|
567
|
+
silent_redirect_uri: window.location.origin+'#authentication-silent-callback',
|
|
568
|
+
silent_signin_uri: window.location.origin+'#authentication-silent-signin',
|
|
568
569
|
scope: 'openid profile email api offline_access',
|
|
569
570
|
authority: 'https://demo.duendesoftware.com',
|
|
570
571
|
refresh_time_before_tokens_expiration_in_second: 70,
|
|
@@ -77,6 +77,11 @@ const getCurrentDatabaseDomain = (database, url) => {
|
|
|
77
77
|
for (const [key, currentDatabase] of Object.entries(database)) {
|
|
78
78
|
|
|
79
79
|
const oidcServerConfiguration = currentDatabase.oidcServerConfiguration;
|
|
80
|
+
|
|
81
|
+
if(url === oidcServerConfiguration.tokenEndpoint){
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
|
|
80
85
|
const domainsToSendTokens = oidcServerConfiguration != null ? [
|
|
81
86
|
oidcServerConfiguration.userInfoEndpoint, ...trustedDomains[key]
|
|
82
87
|
] : [...trustedDomains[key]];
|
|
@@ -120,11 +125,12 @@ const keepAliveAsync = async (event) => {
|
|
|
120
125
|
const init = {"status": 200, "statusText": 'oidc-service-worker'};
|
|
121
126
|
const response = new Response('{}', init);
|
|
122
127
|
if(!isFromVanilla) {
|
|
123
|
-
for(let i=0; i<
|
|
124
|
-
await sleep(1000
|
|
128
|
+
/*for(let i=0; i<10;i++){
|
|
129
|
+
await sleep(1000);
|
|
125
130
|
const cache = await caches.open("oidc_dummy_cache");
|
|
126
131
|
await cache.put(event.request, response.clone());
|
|
127
|
-
}
|
|
132
|
+
}*/
|
|
133
|
+
await sleep(10000);
|
|
128
134
|
}
|
|
129
135
|
|
|
130
136
|
return response;
|
|
@@ -147,6 +153,7 @@ const handleFetch = async (event) => {
|
|
|
147
153
|
}
|
|
148
154
|
});
|
|
149
155
|
event.waitUntil(event.respondWith(fetch(newRequest)));
|
|
156
|
+
return;
|
|
150
157
|
}
|
|
151
158
|
|
|
152
159
|
if(event.request.method !== "POST"){
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initWorker.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,UAAU,yCAEtB,CAAA;
|
|
1
|
+
{"version":3,"file":"initWorker.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,UAAU,yCAEtB,CAAA;AAgCD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;EA8F3B,CAAA"}
|
|
@@ -75,8 +75,9 @@ var sleepAsync = function (milliseconds) {
|
|
|
75
75
|
};
|
|
76
76
|
exports.sleepAsync = sleepAsync;
|
|
77
77
|
var keepAlive = function () {
|
|
78
|
-
fetch('/OidcKeepAliveServiceWorker.json')
|
|
79
|
-
|
|
78
|
+
fetch('/OidcKeepAliveServiceWorker.json').then(function () {
|
|
79
|
+
keepAlive();
|
|
80
|
+
});
|
|
80
81
|
};
|
|
81
82
|
var isServiceWorkerProxyActiveAsync = function () {
|
|
82
83
|
return fetch('/OidcKeepAliveServiceWorker.json', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initWorker.js","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2B;AAE3B,SAAS,WAAW;IAChB,IAAI,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,EAC7B,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,8DAA8D,CAAC,IAAI,EAAE,CAAC;IACvF,IAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;QACrB,GAAG,GAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAE,EAAE,CAAC,EAAC,CAAC;KAC3C;IACD,IAAG,CAAC,CAAC,CAAC,CAAC,KAAG,QAAQ,EAAC;QACf,GAAG,GAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAElC,IAAG,GAAG,IAAE,IAAI,EAAE;YACV,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,IAAG,CAAC,OAAO,EAAC;gBACR,IAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC,CAAC;gBACpC,IAAG,MAAM,CAAC,MAAM,GAAC,CAAC,EAAC;oBACf,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;iBACvB;aACJ;YAED,OAAO,EAAC,IAAI,EAAC,OAAO,EAAE,OAAO,SAAA,EAAC,CAAC;SAClC;KACJ;IACD,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACtE,IAAG,CAAC,GAAG,GAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAE,IAAI,EAAE;QAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAAC;IACnE,OAAO;QACH,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QACxB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;KAChB,CAAC;AACN,CAAC;AAED,IAAI,+BAA+B,GAAG,IAAI,CAAC;AAEpC,IAAM,UAAU,GAAG,UAAC,YAAY;IACnC,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,eAAK,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,EAAvC,CAAuC,CAAC,CAAA;AAC1E,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAED,IAAM,SAAS,GAAG;IACd,KAAK,CAAC,kCAAkC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"initWorker.js","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":"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"}
|
package/dist/vanilla/oidc.d.ts
CHANGED
|
@@ -69,6 +69,7 @@ export declare class Oidc {
|
|
|
69
69
|
loginCallbackAsync_end: string;
|
|
70
70
|
loginCallbackAsync_error: string;
|
|
71
71
|
refreshTokensAsync_begin: string;
|
|
72
|
+
refreshTokensAsync: string;
|
|
72
73
|
refreshTokensAsync_end: string;
|
|
73
74
|
refreshTokensAsync_error: string;
|
|
74
75
|
refreshTokensAsync_silent_error: string;
|
|
@@ -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;
|
|
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;AA0B9G,MAAM,WAAW,yCAA0C,SAAQ,qCAAqC;IACpG,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,qBAAa,qCAAsC,SAAQ,iCAAiC;IACxF,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,OAAO,EAAE,GAAG;CAS3B;AAiCD,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAC,MAAM,CAAC;CAChC;AAEA,oBAAY,iBAAiB,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAC,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAC,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C,CAAC,EAAE,MAAM,CAAC;IACpD,uBAAuB,CAAC,EAAE,sBAAsB,CAAC;IACjD,+CAA+C,CAAC,EAAE,MAAM,CAAC;IACzD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2BAA2B,CAAC,EAAC,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAC,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAC,SAAS,CAAA;IACjB,oBAAoB,CAAC,EAAC,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAC;AA0LF,qBAAa,IAAI;IACN,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,aAAa,CAAC,CAAM;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,OAAO,CAAC,CAAM;IACtB,OAAO,CAAC,kBAAkB,CAAqB;gBACnC,aAAa,EAAC,iBAAiB,EAAE,iBAAiB,SAAU;IAoBxE,eAAe,CAAC,IAAI,KAAA;IAMpB,uBAAuB,CAAC,EAAE,KAAA;IAK1B,YAAY,CAAC,SAAS,KAAA,EAAE,IAAI,KAAA;IAK5B,MAAM,CAAC,WAAW,CAAC,aAAa,KAAA,EAAE,IAAI,SAAU;IAGhD,MAAM,CAAC,GAAG,CAAC,IAAI,SAAU;IAQzB,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;MAAc;IAE/B,8BAA8B;IAM9B,mCAAmC;IAM7B,iBAAiB,CAAC,MAAM,GAAC,SAAc,EAAE,KAAK,GAAC,MAAW,EAAE,KAAK,GAAC,MAAW;IAkGnF,gBAAgB,MAAQ;IAClB,SAAS,CAAC,SAAS,EAAC,MAAM,EAAE,sBAAsB,EAAC,sBAAsB;IAmB/E,6BAA6B,MAAQ;IAC/B,2BAA2B;IA0FjC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAM;IAC1B,UAAU,CAAC,YAAY,GAAC,MAAgB,EAAE,MAAM,GAAC,SAAc,EAAE,oBAAoB,UAAK,EAAE,KAAK,GAAC,MAAgB,EAAE,cAAc,GAAC,OAAa,EAAE,KAAK,GAAC,MAAgB;IA6ExK,sBAAsB,CAAC,qBAAqB,KAAA,EAAE,QAAQ,KAAA,EAAE,YAAY,KAAA,EAAE,cAAc,UAAM;IAkDhG,oBAAoB,EAAG,OAAO,CAAC,GAAG,CAAC,CAAK;IAClC,kBAAkB,CAAC,aAAa,GAAC,OAAa;IA0B9C,mBAAmB,CAAC,cAAc,GAAC,OAAa;IAqHhD,kBAAkB,CAAC,YAAY,KAAA;IA+GrC,sBAAsB,MAAM;IACtB,eAAe;IAqDrB,uCAAuC,EAAC,OAAO,CAAC,mBAAmB,CAAC,CAAQ;IAC3E,qCAAqC,IAAG,OAAO,CAAC,mBAAmB,CAAC;IAWpE,aAAa;IAIP,YAAY;IAkBb,WAAW,CAAC,iBAAiB,GAAE,MAAM,GAAG,SAAqB,EAAE,MAAM,GAAE,SAAgB;CA8B9F;AAGD,eAAe,IAAI,CAAC"}
|
package/dist/vanilla/oidc.js
CHANGED
|
@@ -74,6 +74,37 @@ var initSession_1 = require("./initSession");
|
|
|
74
74
|
var timer_1 = __importDefault(require("./timer"));
|
|
75
75
|
var checkSessionIFrame_1 = require("./checkSessionIFrame");
|
|
76
76
|
var route_utils_1 = require("./route-utils");
|
|
77
|
+
var internalFetch = function (url, headers, numberRetry) {
|
|
78
|
+
if (numberRetry === void 0) { numberRetry = 0; }
|
|
79
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
80
|
+
var response, e_1;
|
|
81
|
+
return __generator(this, function (_a) {
|
|
82
|
+
switch (_a.label) {
|
|
83
|
+
case 0:
|
|
84
|
+
_a.trys.push([0, 2, , 8]);
|
|
85
|
+
return [4 /*yield*/, Promise.race([
|
|
86
|
+
fetch(url, headers),
|
|
87
|
+
new Promise(function (_, reject) { return setTimeout(function () { return reject(new Error('Timeout')); }, 10000); })
|
|
88
|
+
])];
|
|
89
|
+
case 1:
|
|
90
|
+
response = _a.sent();
|
|
91
|
+
return [3 /*break*/, 8];
|
|
92
|
+
case 2:
|
|
93
|
+
e_1 = _a.sent();
|
|
94
|
+
if (!(e_1.message === 'Timeout'
|
|
95
|
+
|| e_1.message === 'Network request failed')) return [3 /*break*/, 6];
|
|
96
|
+
if (!(numberRetry <= 2)) return [3 /*break*/, 4];
|
|
97
|
+
return [4 /*yield*/, internalFetch(url, headers, numberRetry + 1)];
|
|
98
|
+
case 3: return [2 /*return*/, _a.sent()];
|
|
99
|
+
case 4: throw e_1;
|
|
100
|
+
case 5: return [3 /*break*/, 7];
|
|
101
|
+
case 6: throw e_1; // rethrow other unexpected errors
|
|
102
|
+
case 7: return [3 /*break*/, 8];
|
|
103
|
+
case 8: return [2 /*return*/, response];
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
};
|
|
77
108
|
var OidcAuthorizationServiceConfiguration = /** @class */ (function (_super) {
|
|
78
109
|
__extends(OidcAuthorizationServiceConfiguration, _super);
|
|
79
110
|
function OidcAuthorizationServiceConfiguration(request) {
|
|
@@ -279,6 +310,7 @@ var eventNames = {
|
|
|
279
310
|
loginCallbackAsync_end: "loginCallbackAsync_end",
|
|
280
311
|
loginCallbackAsync_error: "loginCallbackAsync_error",
|
|
281
312
|
refreshTokensAsync_begin: "refreshTokensAsync_begin",
|
|
313
|
+
refreshTokensAsync: "refreshTokensAsync",
|
|
282
314
|
refreshTokensAsync_end: "refreshTokensAsync_end",
|
|
283
315
|
refreshTokensAsync_error: "refreshTokensAsync_error",
|
|
284
316
|
refreshTokensAsync_silent_error: "refreshTokensAsync_silent_error",
|
|
@@ -302,7 +334,7 @@ var oneHourSecond = 60 * 60;
|
|
|
302
334
|
var fetchFromIssuer = function (openIdIssuerUrl, timeCacheSecond) {
|
|
303
335
|
if (timeCacheSecond === void 0) { timeCacheSecond = oneHourSecond; }
|
|
304
336
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
305
|
-
var fullUrl, localStorageKey, cacheJson, oneHourMinisecond,
|
|
337
|
+
var fullUrl, localStorageKey, cacheJson, oneHourMinisecond, response, result;
|
|
306
338
|
return __generator(this, function (_a) {
|
|
307
339
|
switch (_a.label) {
|
|
308
340
|
case 0:
|
|
@@ -316,11 +348,11 @@ var fetchFromIssuer = function (openIdIssuerUrl, timeCacheSecond) {
|
|
|
316
348
|
}
|
|
317
349
|
return [4 /*yield*/, fetch(fullUrl)];
|
|
318
350
|
case 1:
|
|
319
|
-
|
|
320
|
-
if (
|
|
351
|
+
response = _a.sent();
|
|
352
|
+
if (response.status != 200) {
|
|
321
353
|
return [2 /*return*/, null];
|
|
322
354
|
}
|
|
323
|
-
return [4 /*yield*/,
|
|
355
|
+
return [4 /*yield*/, response.json()];
|
|
324
356
|
case 2:
|
|
325
357
|
result = _a.sent();
|
|
326
358
|
window.localStorage.setItem(localStorageKey, JSON.stringify({ result: result, timestamp: Date.now() }));
|
|
@@ -628,8 +660,6 @@ var Oidc = /** @class */ (function () {
|
|
|
628
660
|
return [4 /*yield*/, session.initAsync()];
|
|
629
661
|
case 10:
|
|
630
662
|
tokens = (_d.sent()).tokens;
|
|
631
|
-
console.log("const {tokens} = await session.initAsync();");
|
|
632
|
-
console.log(tokens);
|
|
633
663
|
if (!tokens) return [3 /*break*/, 13];
|
|
634
664
|
// @ts-ignore
|
|
635
665
|
_b = this;
|
|
@@ -1017,7 +1047,7 @@ var Oidc = /** @class */ (function () {
|
|
|
1017
1047
|
};
|
|
1018
1048
|
Oidc.prototype.refreshTokensAsync = function (refreshToken) {
|
|
1019
1049
|
return __awaiter(this, void 0, void 0, function () {
|
|
1020
|
-
var localSilentSigninAsync, configuration,
|
|
1050
|
+
var localSilentSigninAsync, configuration, clientId_2, redirectUri_2, authority, extras_1, _i, _a, _b, key, value, oidcServerConfiguration, performTokenRequestAsync, tokenResponse, exception_4;
|
|
1021
1051
|
var _this = this;
|
|
1022
1052
|
return __generator(this, function (_c) {
|
|
1023
1053
|
switch (_c.label) {
|
|
@@ -1057,38 +1087,75 @@ var Oidc = /** @class */ (function () {
|
|
|
1057
1087
|
_c.trys.push([1, 6, , 8]);
|
|
1058
1088
|
this.publishEvent(eventNames.refreshTokensAsync_begin, { refreshToken: refreshToken });
|
|
1059
1089
|
configuration = this.configuration;
|
|
1060
|
-
|
|
1061
|
-
|
|
1090
|
+
clientId_2 = configuration.client_id;
|
|
1091
|
+
redirectUri_2 = configuration.redirect_uri;
|
|
1062
1092
|
authority = configuration.authority;
|
|
1063
1093
|
if (!!refreshToken) return [3 /*break*/, 3];
|
|
1064
1094
|
return [4 /*yield*/, localSilentSigninAsync()];
|
|
1065
1095
|
case 2: return [2 /*return*/, _c.sent()];
|
|
1066
1096
|
case 3:
|
|
1067
|
-
|
|
1068
|
-
extras = undefined;
|
|
1097
|
+
extras_1 = {};
|
|
1069
1098
|
if (configuration.token_request_extras) {
|
|
1070
|
-
extras = {};
|
|
1071
1099
|
for (_i = 0, _a = Object.entries(configuration.token_request_extras); _i < _a.length; _i++) {
|
|
1072
1100
|
_b = _a[_i], key = _b[0], value = _b[1];
|
|
1073
|
-
|
|
1101
|
+
extras_1[key] = value;
|
|
1074
1102
|
}
|
|
1075
1103
|
}
|
|
1076
|
-
request = new appauth_1.TokenRequest({
|
|
1077
|
-
client_id: clientId,
|
|
1078
|
-
redirect_uri: redirectUri,
|
|
1079
|
-
grant_type: appauth_1.GRANT_TYPE_REFRESH_TOKEN,
|
|
1080
|
-
code: undefined,
|
|
1081
|
-
refresh_token: refreshToken,
|
|
1082
|
-
extras: extras
|
|
1083
|
-
});
|
|
1084
1104
|
return [4 /*yield*/, this.initAsync(authority, configuration.authority_configuration)];
|
|
1085
1105
|
case 4:
|
|
1086
1106
|
oidcServerConfiguration = _c.sent();
|
|
1087
|
-
|
|
1107
|
+
performTokenRequestAsync = function (url) { return __awaiter(_this, void 0, void 0, function () {
|
|
1108
|
+
var details, _i, _a, _b, key, value, formBody, property, encodedKey, encodedValue, formBodyString, response, result;
|
|
1109
|
+
return __generator(this, function (_c) {
|
|
1110
|
+
switch (_c.label) {
|
|
1111
|
+
case 0:
|
|
1112
|
+
details = {
|
|
1113
|
+
client_id: clientId_2,
|
|
1114
|
+
redirect_uri: redirectUri_2,
|
|
1115
|
+
grant_type: appauth_1.GRANT_TYPE_REFRESH_TOKEN,
|
|
1116
|
+
refresh_token: refreshToken,
|
|
1117
|
+
};
|
|
1118
|
+
for (_i = 0, _a = Object.entries(extras_1); _i < _a.length; _i++) {
|
|
1119
|
+
_b = _a[_i], key = _b[0], value = _b[1];
|
|
1120
|
+
if (details[key] === undefined) {
|
|
1121
|
+
details[key] = value;
|
|
1122
|
+
}
|
|
1123
|
+
}
|
|
1124
|
+
formBody = [];
|
|
1125
|
+
for (property in details) {
|
|
1126
|
+
encodedKey = encodeURIComponent(property);
|
|
1127
|
+
encodedValue = encodeURIComponent(details[property]);
|
|
1128
|
+
formBody.push("".concat(encodedKey, "=").concat(encodedValue));
|
|
1129
|
+
}
|
|
1130
|
+
formBodyString = formBody.join("&");
|
|
1131
|
+
return [4 /*yield*/, internalFetch(url, {
|
|
1132
|
+
method: 'POST',
|
|
1133
|
+
headers: {
|
|
1134
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
|
1135
|
+
},
|
|
1136
|
+
body: formBodyString,
|
|
1137
|
+
})];
|
|
1138
|
+
case 1:
|
|
1139
|
+
response = _c.sent();
|
|
1140
|
+
return [4 /*yield*/, response.json()];
|
|
1141
|
+
case 2:
|
|
1142
|
+
result = _c.sent();
|
|
1143
|
+
return [2 /*return*/, {
|
|
1144
|
+
accessToken: result.access_token,
|
|
1145
|
+
expiresIn: result.expires_in,
|
|
1146
|
+
idToken: result.id_token,
|
|
1147
|
+
refreshToken: result.refresh_token,
|
|
1148
|
+
scope: result.scope,
|
|
1149
|
+
tokenType: result.token_type,
|
|
1150
|
+
}];
|
|
1151
|
+
}
|
|
1152
|
+
});
|
|
1153
|
+
}); };
|
|
1154
|
+
return [4 /*yield*/, performTokenRequestAsync(oidcServerConfiguration.tokenEndpoint)];
|
|
1088
1155
|
case 5:
|
|
1089
|
-
|
|
1156
|
+
tokenResponse = _c.sent();
|
|
1090
1157
|
this.publishEvent(eventNames.refreshTokensAsync_end, { message: "success" });
|
|
1091
|
-
return [2 /*return*/,
|
|
1158
|
+
return [2 /*return*/, tokenResponse];
|
|
1092
1159
|
case 6:
|
|
1093
1160
|
exception_4 = _c.sent();
|
|
1094
1161
|
console.error(exception_4);
|
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
package/src/configurations.ts
CHANGED
|
@@ -5,7 +5,7 @@ export const configurationIdentityServer = {
|
|
|
5
5
|
silent_signin_uri: window.location.origin+'/authentication/silent-sign-in',
|
|
6
6
|
scope: 'openid profile email api offline_access',
|
|
7
7
|
authority: 'https://demo.duendesoftware.com',
|
|
8
|
-
authority_time_cache_wellknowurl_in_second: 60* 60,
|
|
8
|
+
//authority_time_cache_wellknowurl_in_second: 60* 60,
|
|
9
9
|
refresh_time_before_tokens_expiration_in_second: 280,
|
|
10
10
|
service_worker_relative_url:'/OidcServiceWorker.js',
|
|
11
11
|
service_worker_only: false,
|
|
@@ -18,6 +18,7 @@ export const configurationIdentityServerWithHash = {
|
|
|
18
18
|
client_id: 'interactive.public.short',
|
|
19
19
|
redirect_uri: window.location.origin+'/multi-auth/authentification#authentication-callback',
|
|
20
20
|
silent_redirect_uri: window.location.origin+'/multi-auth/authentification#authentication-silent-callback',
|
|
21
|
+
silent_signin_uri: window.location.origin+'#authentication-silent-signin',
|
|
21
22
|
scope: 'openid profile email api offline_access',
|
|
22
23
|
authority: 'https://demo.duendesoftware.com',
|
|
23
24
|
refresh_time_before_tokens_expiration_in_second: 70,
|
|
@@ -29,6 +30,7 @@ export const configurationIdentityServerWithoutDiscovery = {
|
|
|
29
30
|
client_id: 'interactive.public.short',
|
|
30
31
|
redirect_uri: window.location.origin+'/authentication/callback',
|
|
31
32
|
silent_redirect_uri: window.location.origin+'/authentication/silent-callback',
|
|
33
|
+
silent_signin_uri: window.location.origin+'/authentication/silent-sign-in',
|
|
32
34
|
scope: 'openid profile email api offline_access',
|
|
33
35
|
authority: 'https://demo.duendesoftware.com',
|
|
34
36
|
authority_configuration: {
|
|
@@ -57,6 +59,7 @@ export const configurationGoogle = {
|
|
|
57
59
|
client_id: '908893276222-f2drloh56ll0g99md38lv2k810d0nk0p.apps.googleusercontent.com',
|
|
58
60
|
redirect_uri: `${window.location.origin}/multi-auth/callback-google`,
|
|
59
61
|
silent_redirect_uri: window.location.origin+'/multi-auth/silent-callback-google',
|
|
62
|
+
silent_signin_uri: window.location.origin+'/multi-auth/silent-signin-google',
|
|
60
63
|
scope: 'openid profile email',
|
|
61
64
|
authority: 'https://accounts.google.com/',
|
|
62
65
|
service_worker_relative_url:'/OidcServiceWorker.js',
|
|
@@ -77,6 +77,11 @@ const getCurrentDatabaseDomain = (database, url) => {
|
|
|
77
77
|
for (const [key, currentDatabase] of Object.entries(database)) {
|
|
78
78
|
|
|
79
79
|
const oidcServerConfiguration = currentDatabase.oidcServerConfiguration;
|
|
80
|
+
|
|
81
|
+
if(url === oidcServerConfiguration.tokenEndpoint){
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
|
|
80
85
|
const domainsToSendTokens = oidcServerConfiguration != null ? [
|
|
81
86
|
oidcServerConfiguration.userInfoEndpoint, ...trustedDomains[key]
|
|
82
87
|
] : [...trustedDomains[key]];
|
|
@@ -120,11 +125,12 @@ const keepAliveAsync = async (event) => {
|
|
|
120
125
|
const init = {"status": 200, "statusText": 'oidc-service-worker'};
|
|
121
126
|
const response = new Response('{}', init);
|
|
122
127
|
if(!isFromVanilla) {
|
|
123
|
-
for(let i=0; i<
|
|
124
|
-
await sleep(1000
|
|
128
|
+
/*for(let i=0; i<10;i++){
|
|
129
|
+
await sleep(1000);
|
|
125
130
|
const cache = await caches.open("oidc_dummy_cache");
|
|
126
131
|
await cache.put(event.request, response.clone());
|
|
127
|
-
}
|
|
132
|
+
}*/
|
|
133
|
+
await sleep(10000);
|
|
128
134
|
}
|
|
129
135
|
|
|
130
136
|
return response;
|
|
@@ -147,6 +153,7 @@ const handleFetch = async (event) => {
|
|
|
147
153
|
}
|
|
148
154
|
});
|
|
149
155
|
event.waitUntil(event.respondWith(fetch(newRequest)));
|
|
156
|
+
return;
|
|
150
157
|
}
|
|
151
158
|
|
|
152
159
|
if(event.request.method !== "POST"){
|
|
@@ -37,8 +37,9 @@ export const sleepAsync = (milliseconds) => {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
const keepAlive = () => {
|
|
40
|
-
fetch('/OidcKeepAliveServiceWorker.json')
|
|
41
|
-
|
|
40
|
+
fetch('/OidcKeepAliveServiceWorker.json').then(() => {
|
|
41
|
+
keepAlive();
|
|
42
|
+
})
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
const isServiceWorkerProxyActiveAsync = () => {
|
package/src/oidc/vanilla/oidc.ts
CHANGED
|
@@ -20,6 +20,30 @@ import {CheckSessionIFrame} from "./checkSessionIFrame"
|
|
|
20
20
|
import {getParseQueryStringFromLocation} from "./route-utils";
|
|
21
21
|
import {AuthorizationServiceConfigurationJson} from "@openid/appauth/src/authorization_service_configuration";
|
|
22
22
|
|
|
23
|
+
|
|
24
|
+
const internalFetch = async (url, headers, numberRetry=0) => {
|
|
25
|
+
let response;
|
|
26
|
+
try {
|
|
27
|
+
response = await Promise.race([
|
|
28
|
+
fetch(url, headers),
|
|
29
|
+
new Promise((_, reject) => setTimeout(
|
|
30
|
+
() => reject(new Error('Timeout')), 10000))]);
|
|
31
|
+
} catch (e) {
|
|
32
|
+
if (e.message === 'Timeout'
|
|
33
|
+
|| e.message === 'Network request failed') {
|
|
34
|
+
if(numberRetry <=2) {
|
|
35
|
+
return await internalFetch(url, headers, numberRetry + 1);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
throw e;
|
|
39
|
+
}
|
|
40
|
+
} else {
|
|
41
|
+
throw e; // rethrow other unexpected errors
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return response;
|
|
45
|
+
}
|
|
46
|
+
|
|
23
47
|
export interface OidcAuthorizationServiceConfigurationJson extends AuthorizationServiceConfigurationJson{
|
|
24
48
|
check_session_iframe?: string;
|
|
25
49
|
}
|
|
@@ -225,6 +249,7 @@ const eventNames = {
|
|
|
225
249
|
loginCallbackAsync_end:"loginCallbackAsync_end",
|
|
226
250
|
loginCallbackAsync_error:"loginCallbackAsync_error",
|
|
227
251
|
refreshTokensAsync_begin: "refreshTokensAsync_begin",
|
|
252
|
+
refreshTokensAsync: "refreshTokensAsync",
|
|
228
253
|
refreshTokensAsync_end: "refreshTokensAsync_end",
|
|
229
254
|
refreshTokensAsync_error: "refreshTokensAsync_error",
|
|
230
255
|
refreshTokensAsync_silent_error: "refreshTokensAsync_silent_error",
|
|
@@ -263,14 +288,14 @@ const fetchFromIssuer = async (openIdIssuerUrl: string, timeCacheSecond = oneHou
|
|
|
263
288
|
return new OidcAuthorizationServiceConfiguration(JSON.parse(cacheJson));
|
|
264
289
|
}
|
|
265
290
|
|
|
266
|
-
const
|
|
291
|
+
const response = await fetch(fullUrl);
|
|
267
292
|
|
|
268
|
-
if (
|
|
293
|
+
if (response.status != 200) {
|
|
269
294
|
return null;
|
|
270
295
|
}
|
|
271
296
|
|
|
272
297
|
|
|
273
|
-
const result = await
|
|
298
|
+
const result = await response.json();
|
|
274
299
|
window.localStorage.setItem(localStorageKey, JSON.stringify({result, timestamp:Date.now()}));
|
|
275
300
|
|
|
276
301
|
return new OidcAuthorizationServiceConfiguration(result);
|
|
@@ -532,8 +557,6 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
532
557
|
}
|
|
533
558
|
const session = initSession(this.configurationName, configuration.redirect_uri, configuration.storage ?? sessionStorage);
|
|
534
559
|
const {tokens} = await session.initAsync();
|
|
535
|
-
console.log("const {tokens} = await session.initAsync();")
|
|
536
|
-
console.log(tokens)
|
|
537
560
|
if (tokens) {
|
|
538
561
|
// @ts-ignore
|
|
539
562
|
this.tokens = await setTokensAsync(serviceWorker, tokens);
|
|
@@ -845,6 +868,12 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
845
868
|
}
|
|
846
869
|
|
|
847
870
|
async refreshTokensAsync(refreshToken) {
|
|
871
|
+
|
|
872
|
+
/*while (document.hidden) {
|
|
873
|
+
await sleepAsync(1000);
|
|
874
|
+
this.publishEvent(eventNames.refreshTokensAsync, {message:"wait because document is hidden"});
|
|
875
|
+
}*/
|
|
876
|
+
|
|
848
877
|
const localSilentSigninAsync= async (exception=null) => {
|
|
849
878
|
try {
|
|
850
879
|
const silent_token_response = await this.silentSigninAsync();
|
|
@@ -863,7 +892,8 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
863
892
|
}
|
|
864
893
|
|
|
865
894
|
try{
|
|
866
|
-
this.publishEvent(eventNames.refreshTokensAsync_begin, {refreshToken:refreshToken})
|
|
895
|
+
this.publishEvent(eventNames.refreshTokensAsync_begin, {refreshToken:refreshToken});
|
|
896
|
+
|
|
867
897
|
const configuration = this.configuration;
|
|
868
898
|
const clientId = configuration.client_id;
|
|
869
899
|
const redirectUri = configuration.redirect_uri;
|
|
@@ -873,16 +903,17 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
873
903
|
{
|
|
874
904
|
return await localSilentSigninAsync();
|
|
875
905
|
}
|
|
876
|
-
|
|
906
|
+
|
|
877
907
|
|
|
878
|
-
let extras =
|
|
908
|
+
let extras = {};
|
|
879
909
|
if(configuration.token_request_extras) {
|
|
880
|
-
extras = {}
|
|
881
910
|
for (let [key, value] of Object.entries(configuration.token_request_extras)) {
|
|
882
911
|
extras[key] = value;
|
|
883
912
|
}
|
|
884
913
|
}
|
|
914
|
+
const oidcServerConfiguration = await this.initAsync(authority, configuration.authority_configuration);
|
|
885
915
|
|
|
916
|
+
/*const tokenHandler = new BaseTokenRequestHandler(new FetchRequestor());
|
|
886
917
|
// use the token response to make a request for an access token
|
|
887
918
|
const request = new TokenRequest({
|
|
888
919
|
client_id: clientId,
|
|
@@ -893,10 +924,53 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
893
924
|
extras
|
|
894
925
|
});
|
|
895
926
|
|
|
896
|
-
|
|
927
|
+
|
|
897
928
|
const token_response = await tokenHandler.performTokenRequest(oidcServerConfiguration, request);
|
|
929
|
+
*/
|
|
930
|
+
const performTokenRequestAsync= async (url) => {
|
|
931
|
+
const details = {
|
|
932
|
+
client_id: clientId,
|
|
933
|
+
redirect_uri: redirectUri,
|
|
934
|
+
grant_type: GRANT_TYPE_REFRESH_TOKEN,
|
|
935
|
+
refresh_token: refreshToken,
|
|
936
|
+
};
|
|
937
|
+
|
|
938
|
+
for (let [key, value] of Object.entries(extras)) {
|
|
939
|
+
if (details[key] === undefined) {
|
|
940
|
+
details[key] = value;
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
let formBody = [];
|
|
945
|
+
for (const property in details) {
|
|
946
|
+
const encodedKey = encodeURIComponent(property);
|
|
947
|
+
const encodedValue = encodeURIComponent(details[property]);
|
|
948
|
+
formBody.push(`${encodedKey}=${encodedValue}`);
|
|
949
|
+
}
|
|
950
|
+
const formBodyString = formBody.join("&");
|
|
951
|
+
|
|
952
|
+
const response = await internalFetch(url, {
|
|
953
|
+
method: 'POST',
|
|
954
|
+
headers: {
|
|
955
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
|
956
|
+
},
|
|
957
|
+
body: formBodyString,
|
|
958
|
+
});
|
|
959
|
+
const result = await response.json();
|
|
960
|
+
return {
|
|
961
|
+
accessToken: result.access_token,
|
|
962
|
+
expiresIn: result.expires_in,
|
|
963
|
+
idToken: result.id_token,
|
|
964
|
+
refreshToken: result.refresh_token,
|
|
965
|
+
scope: result.scope,
|
|
966
|
+
tokenType: result.token_type,
|
|
967
|
+
};
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
const tokenResponse = await performTokenRequestAsync(oidcServerConfiguration.tokenEndpoint)
|
|
971
|
+
|
|
898
972
|
this.publishEvent(eventNames.refreshTokensAsync_end, {message:"success"});
|
|
899
|
-
return
|
|
973
|
+
return tokenResponse;
|
|
900
974
|
} catch(exception) {
|
|
901
975
|
console.error(exception);
|
|
902
976
|
this.publishEvent(eventNames.refreshTokensAsync_silent_error, exception);
|