@axa-fr/react-oidc 6.3.2 → 6.4.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/dist/OidcServiceWorker.js +61 -8
- package/dist/vanilla/initSession.d.ts +4 -0
- package/dist/vanilla/initSession.d.ts.map +1 -1
- package/dist/vanilla/initSession.js +23 -1
- package/dist/vanilla/initSession.js.map +1 -1
- package/dist/vanilla/initWorker.d.ts +4 -0
- package/dist/vanilla/initWorker.d.ts.map +1 -1
- package/dist/vanilla/initWorker.js +14 -1
- package/dist/vanilla/initWorker.js.map +1 -1
- package/dist/vanilla/oidc.d.ts +3 -0
- package/dist/vanilla/oidc.d.ts.map +1 -1
- package/dist/vanilla/oidc.js +64 -22
- package/dist/vanilla/oidc.js.map +1 -1
- package/dist/vanilla/parseTokens.d.ts +1 -0
- package/dist/vanilla/parseTokens.d.ts.map +1 -1
- package/dist/vanilla/parseTokens.js +31 -2
- package/dist/vanilla/parseTokens.js.map +1 -1
- package/package.json +1 -1
- package/src/oidc/vanilla/OidcServiceWorker.js +61 -8
- package/src/oidc/vanilla/initSession.ts +23 -2
- package/src/oidc/vanilla/initWorker.ts +12 -0
- package/src/oidc/vanilla/oidc.ts +43 -6
- package/src/oidc/vanilla/parseTokens.ts +33 -1
|
@@ -20,6 +20,7 @@ let database = {
|
|
|
20
20
|
tokens: null,
|
|
21
21
|
status:null,
|
|
22
22
|
items:[],
|
|
23
|
+
nonce: null,
|
|
23
24
|
oidcServerConfiguration: null
|
|
24
25
|
}
|
|
25
26
|
};
|
|
@@ -56,6 +57,37 @@ const isTokensValid= (tokens) =>{
|
|
|
56
57
|
return computeTimeLeft(0, tokens.expiresAt) > 0;
|
|
57
58
|
}
|
|
58
59
|
|
|
60
|
+
// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation (excluding rules #1, #4, #5, #7, #8, #12, and #13 which did not apply).
|
|
61
|
+
// https://github.com/openid/AppAuth-JS/issues/65
|
|
62
|
+
const isTokensOidcValid =(tokens, nonce, oidcServerConfiguration) =>{
|
|
63
|
+
if(tokens.idTokenPayload) {
|
|
64
|
+
const idTokenPayload = tokens.idTokenPayload;
|
|
65
|
+
// 2: The Issuer Identifier for the OpenID Provider (which is typically obtained during Discovery) MUST exactly match the value of the iss (issuer) Claim.
|
|
66
|
+
if(oidcServerConfiguration.issuer !== idTokenPayload.iss){
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
// 3: The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer identified by the iss (issuer) Claim as an audience. The aud (audience) Claim MAY contain an array with more than one element. The ID Token MUST be rejected if the ID Token does not list the Client as a valid audience, or if it contains additional audiences not trusted by the Client.
|
|
70
|
+
|
|
71
|
+
// 6: If the ID Token is received via direct communication between the Client and the Token Endpoint (which it is in this flow), the TLS server validation MAY be used to validate the issuer in place of checking the token signature. The Client MUST validate the signature of all other ID Tokens according to JWS [JWS] using the algorithm specified in the JWT alg Header Parameter. The Client MUST use the keys provided by the Issuer.
|
|
72
|
+
|
|
73
|
+
// 9: The current time MUST be before the time represented by the exp Claim.
|
|
74
|
+
const currentTimeUnixSecond = new Date().getTime() /1000;
|
|
75
|
+
if(idTokenPayload.exp && idTokenPayload.exp < currentTimeUnixSecond) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
// 10: The iat Claim can be used to reject tokens that were issued too far away from the current time, limiting the amount of time that nonces need to be stored to prevent attacks. The acceptable range is Client specific.
|
|
79
|
+
const timeInSevenDays = 60 * 60 * 24 * 7;
|
|
80
|
+
if(idTokenPayload.iat && (idTokenPayload.iat + timeInSevenDays) < currentTimeUnixSecond) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
// 11: If a nonce value was sent in the Authentication Request, a nonce Claim MUST be present and its value checked to verify that it is the same value as the one that was sent in the Authentication Request. The Client SHOULD check the nonce value for replay attacks. The precise method for detecting replay attacks is Client specific.
|
|
84
|
+
if (idTokenPayload.nonce && idTokenPayload.nonce !== nonce) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
|
|
59
91
|
function hideTokens(currentDatabaseElement) {
|
|
60
92
|
const configurationName = currentDatabaseElement.configurationName;
|
|
61
93
|
return (response) => {
|
|
@@ -79,8 +111,12 @@ function hideTokens(currentDatabaseElement) {
|
|
|
79
111
|
let _idTokenPayload = null;
|
|
80
112
|
if(tokens.id_token) {
|
|
81
113
|
_idTokenPayload = extractTokenPayload(tokens.id_token);
|
|
114
|
+
tokens.idTokenPayload = {..._idTokenPayload};
|
|
115
|
+
if(_idTokenPayload.nonce) {
|
|
116
|
+
const keyNonce = NONCE_TOKEN + '_'+ currentDatabaseElement.configurationName;
|
|
117
|
+
_idTokenPayload.nonce = keyNonce;
|
|
118
|
+
}
|
|
82
119
|
secureTokens.idTokenPayload = _idTokenPayload;
|
|
83
|
-
tokens.idTokenPayload = _idTokenPayload;
|
|
84
120
|
}
|
|
85
121
|
if(tokens.refresh_token){
|
|
86
122
|
secureTokens.refresh_token = REFRESH_TOKEN + "_" + configurationName;
|
|
@@ -92,6 +128,10 @@ function hideTokens(currentDatabaseElement) {
|
|
|
92
128
|
secureTokens.expiresAt = expiresAt;
|
|
93
129
|
const body = JSON.stringify(secureTokens);
|
|
94
130
|
tokens.expiresAt = expiresAt;
|
|
131
|
+
|
|
132
|
+
if(!isTokensOidcValid(tokens, currentDatabaseElement.nonce.nonce, currentDatabaseElement.oidcServerConfiguration)){
|
|
133
|
+
throw Error("Tokens are not OpenID valid");
|
|
134
|
+
}
|
|
95
135
|
currentDatabaseElement.tokens = tokens;
|
|
96
136
|
currentDatabaseElement.status = "LOGGED_IN";
|
|
97
137
|
return new Response(body, response);
|
|
@@ -138,7 +178,7 @@ const getCurrentDatabaseDomain = (database, url) => {
|
|
|
138
178
|
}
|
|
139
179
|
}
|
|
140
180
|
|
|
141
|
-
if(hasToSendToken){
|
|
181
|
+
if(hasToSendToken) {
|
|
142
182
|
if(!currentDatabase.tokens) {
|
|
143
183
|
return null;
|
|
144
184
|
}
|
|
@@ -159,6 +199,7 @@ const serializeHeaders = (headers) => {
|
|
|
159
199
|
|
|
160
200
|
const REFRESH_TOKEN = 'REFRESH_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER';
|
|
161
201
|
const ACCESS_TOKEN = 'ACCESS_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER';
|
|
202
|
+
const NONCE_TOKEN = 'NONCE_SECURED_BY_OIDC_SERVICE_WORKER';
|
|
162
203
|
|
|
163
204
|
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
164
205
|
|
|
@@ -215,11 +256,14 @@ const handleFetch = async (event) => {
|
|
|
215
256
|
let newBody = actualBody;
|
|
216
257
|
for(let i= 0;i<numberDatabase;i++){
|
|
217
258
|
const currentDb = currentDatabases[i];
|
|
218
|
-
|
|
219
|
-
if(currentDb && currentDb.tokens != null
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
259
|
+
|
|
260
|
+
if(currentDb && currentDb.tokens != null) {
|
|
261
|
+
const keyRefreshToken = REFRESH_TOKEN + '_'+ currentDb.configurationName;
|
|
262
|
+
if(actualBody.includes(keyRefreshToken)) {
|
|
263
|
+
newBody = newBody.replace(keyRefreshToken, encodeURIComponent(currentDb.tokens.refresh_token));
|
|
264
|
+
currentDatabase = currentDb;
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
223
267
|
}
|
|
224
268
|
}
|
|
225
269
|
|
|
@@ -327,6 +371,8 @@ addEventListener('message', event => {
|
|
|
327
371
|
checkDomain(domains, tokenEndpoint);
|
|
328
372
|
const userInfoEndpoint = oidcServerConfiguration.userInfoEndpoint;
|
|
329
373
|
checkDomain(domains, userInfoEndpoint);
|
|
374
|
+
const issuer = oidcServerConfiguration.issuer;
|
|
375
|
+
checkDomain(domains, issuer);
|
|
330
376
|
currentDatabase.oidcServerConfiguration = oidcServerConfiguration;
|
|
331
377
|
const where = data.data.where;
|
|
332
378
|
if(where === "loginCallbackAsync" || where === "tryKeepExistingSessionAsync") {
|
|
@@ -348,6 +394,9 @@ addEventListener('message', event => {
|
|
|
348
394
|
if(tokens.refresh_token){
|
|
349
395
|
tokens.refresh_token = REFRESH_TOKEN + "_" + configurationName;
|
|
350
396
|
}
|
|
397
|
+
if(tokens.idTokenPayload && tokens.idTokenPayload.nonce){
|
|
398
|
+
tokens.idTokenPayload.nonce = NONCE_TOKEN + "_" + configurationName;
|
|
399
|
+
}
|
|
351
400
|
port.postMessage({
|
|
352
401
|
tokens,
|
|
353
402
|
status: currentDatabase.status,
|
|
@@ -364,8 +413,12 @@ addEventListener('message', event => {
|
|
|
364
413
|
const sessionState = currentDatabase.sessionState;
|
|
365
414
|
port.postMessage({configurationName, sessionState});
|
|
366
415
|
return;
|
|
416
|
+
case "setNonce":
|
|
417
|
+
currentDatabase.nonce = data.data.nonce;
|
|
418
|
+
port.postMessage({configurationName});
|
|
419
|
+
return;
|
|
367
420
|
default:
|
|
368
|
-
currentDatabase.items = data.data;
|
|
421
|
+
currentDatabase.items = { ...data.data };
|
|
369
422
|
port.postMessage({configurationName});
|
|
370
423
|
return;
|
|
371
424
|
}
|
|
@@ -10,5 +10,9 @@ export declare const initSession: (configurationName: any, redirectUri: any, sto
|
|
|
10
10
|
getTokens: () => string;
|
|
11
11
|
setSessionState: (sessionState: any) => void;
|
|
12
12
|
getSessionState: () => any;
|
|
13
|
+
setNonceAsync: (nonce: any) => void;
|
|
14
|
+
getNonceAsync: () => Promise<{
|
|
15
|
+
nonce: any;
|
|
16
|
+
}>;
|
|
13
17
|
};
|
|
14
18
|
//# sourceMappingURL=initSession.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initSession.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/initSession.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"initSession.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/initSession.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;CAmEvB,CAAA"}
|
|
@@ -70,13 +70,35 @@ var initSession = function (configurationName, redirectUri, storage) {
|
|
|
70
70
|
var getSessionState = function () {
|
|
71
71
|
return storage["oidc.session_state.".concat(configurationName, ":").concat(redirectUri)];
|
|
72
72
|
};
|
|
73
|
+
var setNonceAsync = function (nonce) {
|
|
74
|
+
localStorage["oidc.nonce.".concat(configurationName, ":").concat(redirectUri)] = nonce.nonce;
|
|
75
|
+
};
|
|
76
|
+
var getNonceAsync = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
77
|
+
var result;
|
|
78
|
+
return __generator(this, function (_a) {
|
|
79
|
+
result = { nonce: localStorage["oidc.nonce.".concat(configurationName, ":").concat(redirectUri)] };
|
|
80
|
+
localStorage["oidc.nonce.".concat(configurationName, ":").concat(redirectUri)] = "";
|
|
81
|
+
return [2 /*return*/, result];
|
|
82
|
+
});
|
|
83
|
+
}); };
|
|
73
84
|
var getTokens = function () {
|
|
74
85
|
if (!storage["oidc.".concat(configurationName, ":").concat(redirectUri)]) {
|
|
75
86
|
return null;
|
|
76
87
|
}
|
|
77
88
|
return JSON.stringify({ tokens: JSON.parse(storage["oidc.".concat(configurationName, ":").concat(redirectUri)]).tokens });
|
|
78
89
|
};
|
|
79
|
-
return {
|
|
90
|
+
return {
|
|
91
|
+
saveItemsAsync: saveItemsAsync,
|
|
92
|
+
loadItemsAsync: loadItemsAsync,
|
|
93
|
+
clearAsync: clearAsync,
|
|
94
|
+
initAsync: initAsync,
|
|
95
|
+
setTokens: setTokens,
|
|
96
|
+
getTokens: getTokens,
|
|
97
|
+
setSessionState: setSessionState,
|
|
98
|
+
getSessionState: getSessionState,
|
|
99
|
+
setNonceAsync: setNonceAsync,
|
|
100
|
+
getNonceAsync: getNonceAsync
|
|
101
|
+
};
|
|
80
102
|
};
|
|
81
103
|
exports.initSession = initSession;
|
|
82
104
|
//# sourceMappingURL=initSession.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initSession.js","sourceRoot":"","sources":["../../src/oidc/vanilla/initSession.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAM,WAAW,GAAG,UAAC,iBAAiB,EAAE,WAAW,EAAE,OAAsB;IAAtB,wBAAA,EAAA,wBAAsB;IAE9E,IAAM,cAAc,GAAE,UAAC,KAAK;QACxB,OAAO,CAAC,qBAAc,iBAAiB,cAAI,WAAW,CAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAA;IAED,IAAM,cAAc,GAAC;QACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAc,iBAAiB,cAAI,WAAW,CAAE,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC,CAAA;IAED,IAAM,UAAU,GAAC,UAAC,MAAM;QACpB,OAAO,CAAC,eAAQ,iBAAiB,cAAI,WAAW,CAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,MAAM,EAAC,IAAI,EAAE,MAAM,QAAA,EAAC,CAAC,CAAC;QAC5F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAA;IAED,IAAM,SAAS,GAAC;;;YACZ,IAAG,CAAC,OAAO,CAAC,eAAQ,iBAAiB,cAAI,WAAW,CAAE,CAAC,EAAC;gBACpD,OAAO,CAAC,eAAQ,iBAAiB,cAAI,WAAW,CAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,IAAI,EAAC,CAAC,CAAC;gBACjG,sBAAO,EAAC,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,IAAI,EAAC,EAAC;aACrC;YACK,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAQ,iBAAiB,cAAI,WAAW,CAAE,CAAC,CAAC,CAAC;YAC7E,sBAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAC;;SACzE,CAAA;IAED,IAAM,SAAS,GAAG,UAAC,MAAM;QACrB,OAAO,CAAC,eAAQ,iBAAiB,cAAI,WAAW,CAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC;IACnF,CAAC,CAAA;IAED,IAAM,eAAe,GAAG,UAAC,YAAY;QACjC,OAAO,CAAC,6BAAsB,iBAAiB,cAAI,WAAW,CAAE,CAAC,GAAG,YAAY,CAAC;IACrF,CAAC,CAAA;IAED,IAAM,eAAe,GAAE;QACnB,OAAO,OAAO,CAAC,6BAAsB,iBAAiB,cAAI,WAAW,CAAE,CAAC,CAAC;IAC7E,CAAC,CAAA;IAED,IAAM,SAAS,GAAG;
|
|
1
|
+
{"version":3,"file":"initSession.js","sourceRoot":"","sources":["../../src/oidc/vanilla/initSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,10 @@ export declare const initWorkerAsync: (serviceWorkerRelativeUrl: any, configurat
|
|
|
11
11
|
isServiceWorkerProxyActiveAsync: () => Promise<boolean>;
|
|
12
12
|
setSessionStateAsync: (sessionState: any) => Promise<unknown>;
|
|
13
13
|
getSessionStateAsync: () => Promise<any>;
|
|
14
|
+
setNonceAsync: (nonce: any) => Promise<unknown>;
|
|
15
|
+
getNonceAsync: () => Promise<{
|
|
16
|
+
nonce: string;
|
|
17
|
+
}>;
|
|
14
18
|
unregisterAsync: () => Promise<boolean>;
|
|
15
19
|
}>;
|
|
16
20
|
//# sourceMappingURL=initWorker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initWorker.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,UAAU,yCAEtB,CAAA;AA+BD,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"initWorker.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,UAAU,yCAEtB,CAAA;AA+BD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;EAgG3B,CAAA"}
|
|
@@ -104,7 +104,7 @@ var sendMessageAsync = function (registration) { return function (data) {
|
|
|
104
104
|
});
|
|
105
105
|
}; };
|
|
106
106
|
var initWorkerAsync = function (serviceWorkerRelativeUrl, configurationName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
107
|
-
var _a, name, version, registration, err_1, saveItemsAsync, loadItemsAsync, unregisterAsync, clearAsync, initAsync, startKeepAliveServiceWorker, setSessionStateAsync, getSessionStateAsync;
|
|
107
|
+
var _a, name, version, registration, err_1, saveItemsAsync, loadItemsAsync, unregisterAsync, clearAsync, initAsync, startKeepAliveServiceWorker, setSessionStateAsync, getSessionStateAsync, setNonceAsync, NONCE_TOKEN, getNonceAsync;
|
|
108
108
|
return __generator(this, function (_b) {
|
|
109
109
|
switch (_b.label) {
|
|
110
110
|
case 0:
|
|
@@ -194,6 +194,17 @@ var initWorkerAsync = function (serviceWorkerRelativeUrl, configurationName) { r
|
|
|
194
194
|
}
|
|
195
195
|
});
|
|
196
196
|
}); };
|
|
197
|
+
setNonceAsync = function (nonce) {
|
|
198
|
+
return sendMessageAsync(registration)({ type: "setNonce", data: { nonce: nonce }, configurationName: configurationName });
|
|
199
|
+
};
|
|
200
|
+
NONCE_TOKEN = 'NONCE_SECURED_BY_OIDC_SERVICE_WORKER';
|
|
201
|
+
getNonceAsync = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
202
|
+
var keyNonce;
|
|
203
|
+
return __generator(this, function (_a) {
|
|
204
|
+
keyNonce = NONCE_TOKEN + '_' + configurationName;
|
|
205
|
+
return [2 /*return*/, { nonce: keyNonce }];
|
|
206
|
+
});
|
|
207
|
+
}); };
|
|
197
208
|
return [2 /*return*/, {
|
|
198
209
|
saveItemsAsync: saveItemsAsync,
|
|
199
210
|
loadItemsAsync: loadItemsAsync,
|
|
@@ -204,6 +215,8 @@ var initWorkerAsync = function (serviceWorkerRelativeUrl, configurationName) { r
|
|
|
204
215
|
isServiceWorkerProxyActiveAsync: isServiceWorkerProxyActiveAsync,
|
|
205
216
|
setSessionStateAsync: setSessionStateAsync,
|
|
206
217
|
getSessionStateAsync: getSessionStateAsync,
|
|
218
|
+
setNonceAsync: setNonceAsync,
|
|
219
|
+
getNonceAsync: getNonceAsync,
|
|
207
220
|
unregisterAsync: unregisterAsync,
|
|
208
221
|
}];
|
|
209
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initWorker.js","sourceRoot":"","sources":["../../src/oidc/vanilla/initWorker.ts"],"names":[],"mappings":"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
|
|
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
|
@@ -2,9 +2,11 @@ import { AuthorizationServiceConfiguration } from '@openid/appauth';
|
|
|
2
2
|
import { AuthorizationServiceConfigurationJson } from "@openid/appauth/src/authorization_service_configuration";
|
|
3
3
|
export interface OidcAuthorizationServiceConfigurationJson extends AuthorizationServiceConfigurationJson {
|
|
4
4
|
check_session_iframe?: string;
|
|
5
|
+
issuer: string;
|
|
5
6
|
}
|
|
6
7
|
export declare class OidcAuthorizationServiceConfiguration extends AuthorizationServiceConfiguration {
|
|
7
8
|
private check_session_iframe;
|
|
9
|
+
private issuer;
|
|
8
10
|
constructor(request: any);
|
|
9
11
|
}
|
|
10
12
|
export interface StringMap {
|
|
@@ -21,6 +23,7 @@ export interface AuthorityConfiguration {
|
|
|
21
23
|
end_session_endpoint?: string;
|
|
22
24
|
userinfo_endpoint?: string;
|
|
23
25
|
check_session_iframe?: string;
|
|
26
|
+
issuer: string;
|
|
24
27
|
}
|
|
25
28
|
export declare type OidcConfiguration = {
|
|
26
29
|
client_id: 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;AA4D9G,MAAM,WAAW,yCAA0C,SAAQ,qCAAqC;IACpG,oBAAoB,CAAC,EAAE,MAAM,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
|
@@ -157,6 +157,7 @@ var OidcAuthorizationServiceConfiguration = /** @class */ (function (_super) {
|
|
|
157
157
|
_this.revocationEndpoint = request.revocation_endpoint;
|
|
158
158
|
_this.userInfoEndpoint = request.userinfo_endpoint;
|
|
159
159
|
_this.check_session_iframe = request.check_session_iframe;
|
|
160
|
+
_this.issuer = request.issuer;
|
|
160
161
|
return _this;
|
|
161
162
|
}
|
|
162
163
|
return OidcAuthorizationServiceConfiguration;
|
|
@@ -608,6 +609,7 @@ var Oidc = /** @class */ (function () {
|
|
|
608
609
|
token_endpoint: authorityConfiguration.token_endpoint,
|
|
609
610
|
userinfo_endpoint: authorityConfiguration.userinfo_endpoint,
|
|
610
611
|
check_session_iframe: authorityConfiguration.check_session_iframe,
|
|
612
|
+
issuer: authorityConfiguration.issuer,
|
|
611
613
|
})];
|
|
612
614
|
}
|
|
613
615
|
return [4 /*yield*/, (0, initWorker_1.initWorkerAsync)(this.configuration.service_worker_relative_url, this.configurationName)];
|
|
@@ -756,12 +758,12 @@ var Oidc = /** @class */ (function () {
|
|
|
756
758
|
return [2 /*return*/, this.loginPromise];
|
|
757
759
|
}
|
|
758
760
|
loginLocalAsync = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
759
|
-
var location_1, url, configuration, redirectUri, serviceWorker, oidcServerConfiguration, storage, session,
|
|
761
|
+
var location_1, url, configuration, redirectUri, randomString, extraFinal, nonce, serviceWorker, oidcServerConfiguration, storage, session, queryStringUtil, authorizationHandler, authRequest, exception_2;
|
|
760
762
|
var _a;
|
|
761
763
|
return __generator(this, function (_b) {
|
|
762
764
|
switch (_b.label) {
|
|
763
765
|
case 0:
|
|
764
|
-
_b.trys.push([0,
|
|
766
|
+
_b.trys.push([0, 9, , 10]);
|
|
765
767
|
location_1 = window.location;
|
|
766
768
|
url = callbackPath || location_1.pathname + (location_1.search || '') + (location_1.hash || '');
|
|
767
769
|
this.publishEvent(eventNames.loginAsync_begin, {});
|
|
@@ -770,7 +772,20 @@ var Oidc = /** @class */ (function () {
|
|
|
770
772
|
if (!scope) {
|
|
771
773
|
scope = configuration.scope;
|
|
772
774
|
}
|
|
775
|
+
randomString = function (length) {
|
|
776
|
+
var text = "";
|
|
777
|
+
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
778
|
+
for (var i = 0; i < length; i++) {
|
|
779
|
+
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
|
780
|
+
}
|
|
781
|
+
return text;
|
|
782
|
+
};
|
|
773
783
|
setLoginParams(this.configurationName, redirectUri, { callbackPath: url, extras: extras, state: state });
|
|
784
|
+
extraFinal = (_a = extras !== null && extras !== void 0 ? extras : configuration.extras) !== null && _a !== void 0 ? _a : {};
|
|
785
|
+
if (!extraFinal.nonce) {
|
|
786
|
+
extraFinal["nonce"] = randomString(12);
|
|
787
|
+
}
|
|
788
|
+
nonce = { "nonce": extraFinal.nonce };
|
|
774
789
|
return [4 /*yield*/, (0, initWorker_1.initWorkerAsync)(configuration.service_worker_relative_url, this.configurationName)];
|
|
775
790
|
case 1:
|
|
776
791
|
serviceWorker = _b.sent();
|
|
@@ -778,22 +793,27 @@ var Oidc = /** @class */ (function () {
|
|
|
778
793
|
case 2:
|
|
779
794
|
oidcServerConfiguration = _b.sent();
|
|
780
795
|
storage = void 0;
|
|
781
|
-
if (!serviceWorker) return [3 /*break*/,
|
|
796
|
+
if (!serviceWorker) return [3 /*break*/, 6];
|
|
782
797
|
serviceWorker.startKeepAliveServiceWorker();
|
|
783
798
|
return [4 /*yield*/, serviceWorker.initAsync(oidcServerConfiguration, "loginAsync")];
|
|
784
799
|
case 3:
|
|
785
800
|
_b.sent();
|
|
786
|
-
|
|
787
|
-
return [4 /*yield*/, storage.setItem("dummy", {})];
|
|
801
|
+
return [4 /*yield*/, serviceWorker.setNonceAsync(nonce)];
|
|
788
802
|
case 4:
|
|
789
803
|
_b.sent();
|
|
790
|
-
|
|
804
|
+
storage = new memoryStorageBackend_1.MemoryStorageBackend(serviceWorker.saveItemsAsync, {});
|
|
805
|
+
return [4 /*yield*/, storage.setItem("dummy", {})];
|
|
791
806
|
case 5:
|
|
807
|
+
_b.sent();
|
|
808
|
+
return [3 /*break*/, 8];
|
|
809
|
+
case 6:
|
|
792
810
|
session = (0, initSession_1.initSession)(this.configurationName, redirectUri);
|
|
811
|
+
return [4 /*yield*/, session.setNonceAsync(nonce)];
|
|
812
|
+
case 7:
|
|
813
|
+
_b.sent();
|
|
793
814
|
storage = new memoryStorageBackend_1.MemoryStorageBackend(session.saveItemsAsync, {});
|
|
794
|
-
_b.label =
|
|
795
|
-
case
|
|
796
|
-
extraFinal = (_a = extras !== null && extras !== void 0 ? extras : configuration.extras) !== null && _a !== void 0 ? _a : {};
|
|
815
|
+
_b.label = 8;
|
|
816
|
+
case 8:
|
|
797
817
|
queryStringUtil = redirectUri.includes("#") ? new noHashQueryStringUtils_1.HashQueryStringUtils() : new noHashQueryStringUtils_1.NoHashQueryStringUtils();
|
|
798
818
|
authorizationHandler = new appauth_1.RedirectRequestHandler(storage, queryStringUtil, window.location, new appauth_1.DefaultCrypto());
|
|
799
819
|
authRequest = new appauth_1.AuthorizationRequest({
|
|
@@ -805,12 +825,12 @@ var Oidc = /** @class */ (function () {
|
|
|
805
825
|
extras: extraFinal
|
|
806
826
|
});
|
|
807
827
|
authorizationHandler.performAuthorizationRequest(oidcServerConfiguration, authRequest);
|
|
808
|
-
return [3 /*break*/,
|
|
809
|
-
case
|
|
828
|
+
return [3 /*break*/, 10];
|
|
829
|
+
case 9:
|
|
810
830
|
exception_2 = _b.sent();
|
|
811
831
|
this.publishEvent(eventNames.loginAsync_error, exception_2);
|
|
812
832
|
throw exception_2;
|
|
813
|
-
case
|
|
833
|
+
case 10: return [2 /*return*/];
|
|
814
834
|
}
|
|
815
835
|
});
|
|
816
836
|
}); };
|
|
@@ -941,12 +961,12 @@ var Oidc = /** @class */ (function () {
|
|
|
941
961
|
var _a;
|
|
942
962
|
if (isSilentSignin === void 0) { isSilentSignin = false; }
|
|
943
963
|
return __awaiter(this, void 0, void 0, function () {
|
|
944
|
-
var configuration_2, clientId_1, redirectUri_1, authority, tokenRequestTimeout_1, oidcServerConfiguration_1, queryParams, sessionState_2, serviceWorker_1, storage_1, items, dummy, session, items, exception_3;
|
|
964
|
+
var configuration_2, clientId_1, redirectUri_1, authority, tokenRequestTimeout_1, oidcServerConfiguration_1, queryParams, sessionState_2, serviceWorker_1, storage_1, nonceData_1, items, dummy, session, items, exception_3;
|
|
945
965
|
var _this = this;
|
|
946
966
|
return __generator(this, function (_b) {
|
|
947
967
|
switch (_b.label) {
|
|
948
968
|
case 0:
|
|
949
|
-
_b.trys.push([0,
|
|
969
|
+
_b.trys.push([0, 13, , 14]);
|
|
950
970
|
this.publishEvent(eventNames.loginCallbackAsync_begin, {});
|
|
951
971
|
configuration_2 = this.configuration;
|
|
952
972
|
clientId_1 = configuration_2.client_id;
|
|
@@ -962,7 +982,8 @@ var Oidc = /** @class */ (function () {
|
|
|
962
982
|
case 2:
|
|
963
983
|
serviceWorker_1 = _b.sent();
|
|
964
984
|
storage_1 = null;
|
|
965
|
-
|
|
985
|
+
nonceData_1 = null;
|
|
986
|
+
if (!serviceWorker_1) return [3 /*break*/, 9];
|
|
966
987
|
serviceWorker_1.startKeepAliveServiceWorker();
|
|
967
988
|
this.serviceWorker = serviceWorker_1;
|
|
968
989
|
return [4 /*yield*/, serviceWorker_1.initAsync(oidcServerConfiguration_1, "loginCallbackAsync")];
|
|
@@ -984,17 +1005,23 @@ var Oidc = /** @class */ (function () {
|
|
|
984
1005
|
return [4 /*yield*/, serviceWorker_1.setSessionStateAsync(sessionState_2)];
|
|
985
1006
|
case 7:
|
|
986
1007
|
_b.sent();
|
|
987
|
-
return [
|
|
1008
|
+
return [4 /*yield*/, serviceWorker_1.getNonceAsync()];
|
|
988
1009
|
case 8:
|
|
1010
|
+
nonceData_1 = _b.sent();
|
|
1011
|
+
return [3 /*break*/, 12];
|
|
1012
|
+
case 9:
|
|
989
1013
|
this.session = (0, initSession_1.initSession)(this.configurationName, redirectUri_1, (_a = configuration_2.storage) !== null && _a !== void 0 ? _a : sessionStorage);
|
|
990
1014
|
session = (0, initSession_1.initSession)(this.configurationName, redirectUri_1);
|
|
991
1015
|
session.setSessionState(sessionState_2);
|
|
992
1016
|
return [4 /*yield*/, session.loadItemsAsync()];
|
|
993
|
-
case
|
|
1017
|
+
case 10:
|
|
994
1018
|
items = _b.sent();
|
|
995
1019
|
storage_1 = new memoryStorageBackend_1.MemoryStorageBackend(session.saveItemsAsync, items);
|
|
996
|
-
|
|
997
|
-
case
|
|
1020
|
+
return [4 /*yield*/, session.getNonceAsync()];
|
|
1021
|
+
case 11:
|
|
1022
|
+
nonceData_1 = _b.sent();
|
|
1023
|
+
_b.label = 12;
|
|
1024
|
+
case 12: return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
998
1025
|
// @ts-ignore
|
|
999
1026
|
var queryStringUtil = new noHashQueryStringUtils_1.NoHashQueryStringUtils();
|
|
1000
1027
|
if (redirectUri_1.includes("#")) {
|
|
@@ -1042,7 +1069,7 @@ var Oidc = /** @class */ (function () {
|
|
|
1042
1069
|
try {
|
|
1043
1070
|
var tokenHandler = new appauth_1.BaseTokenRequestHandler(new appauth_1.FetchRequestor());
|
|
1044
1071
|
tokenHandler.performTokenRequest(oidcServerConfiguration_1, tokenRequest).then(function (tokenResponse) { return __awaiter(_this, void 0, void 0, function () {
|
|
1045
|
-
var loginParams_1, tokens;
|
|
1072
|
+
var loginParams_1, tokens, exception;
|
|
1046
1073
|
var _this = this;
|
|
1047
1074
|
return __generator(this, function (_a) {
|
|
1048
1075
|
switch (_a.label) {
|
|
@@ -1058,6 +1085,17 @@ var Oidc = /** @class */ (function () {
|
|
|
1058
1085
|
tokenResponse = tokens;
|
|
1059
1086
|
_a.label = 2;
|
|
1060
1087
|
case 2:
|
|
1088
|
+
;
|
|
1089
|
+
if (!(0, parseTokens_1.isTokensOidcValid)(tokenResponse, nonceData_1.nonce, oidcServerConfiguration_1)) {
|
|
1090
|
+
exception = new Error("Tokens are not OpenID valid");
|
|
1091
|
+
if (timeoutId) {
|
|
1092
|
+
clearTimeout(timeoutId);
|
|
1093
|
+
this.timeoutId = null;
|
|
1094
|
+
this.publishEvent(eventNames.loginCallbackAsync_error, exception);
|
|
1095
|
+
console.error(exception);
|
|
1096
|
+
reject(exception);
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1061
1099
|
// @ts-ignore
|
|
1062
1100
|
this.startCheckSessionAsync(oidcServerConfiguration_1.check_session_iframe, clientId_1, sessionState_2, isSilentSignin).then(function () {
|
|
1063
1101
|
_this.publishEvent(eventNames.loginCallbackAsync_end, {});
|
|
@@ -1085,12 +1123,12 @@ var Oidc = /** @class */ (function () {
|
|
|
1085
1123
|
});
|
|
1086
1124
|
authorizationHandler.completeAuthorizationRequestIfPossible();
|
|
1087
1125
|
})];
|
|
1088
|
-
case
|
|
1126
|
+
case 13:
|
|
1089
1127
|
exception_3 = _b.sent();
|
|
1090
1128
|
console.error(exception_3);
|
|
1091
1129
|
this.publishEvent(eventNames.loginCallbackAsync_error, exception_3);
|
|
1092
1130
|
throw exception_3;
|
|
1093
|
-
case
|
|
1131
|
+
case 14: return [2 /*return*/];
|
|
1094
1132
|
}
|
|
1095
1133
|
});
|
|
1096
1134
|
});
|
|
@@ -1219,6 +1257,10 @@ var Oidc = /** @class */ (function () {
|
|
|
1219
1257
|
case 20:
|
|
1220
1258
|
tokenResponse = _e.sent();
|
|
1221
1259
|
if (!tokenResponse.success) return [3 /*break*/, 21];
|
|
1260
|
+
if (!(0, parseTokens_1.isTokensOidcValid)(tokenResponse.data, null, oidcServerConfiguration)) {
|
|
1261
|
+
this.publishEvent(eventNames.refreshTokensAsync_error, { message: "refresh token return not valid tokens" });
|
|
1262
|
+
return [2 /*return*/, { tokens: null, status: "SESSION_LOST" }];
|
|
1263
|
+
}
|
|
1222
1264
|
this.publishEvent(eventNames.refreshTokensAsync_end, { success: tokenResponse.success });
|
|
1223
1265
|
this.publishEvent(Oidc.eventNames.token_renewed, {});
|
|
1224
1266
|
return [2 /*return*/, { tokens: tokenResponse.data, status: "LOGGED_IN" }];
|
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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"}
|
|
@@ -2,4 +2,5 @@ export declare const setTokens: (tokens: any) => any;
|
|
|
2
2
|
export declare const parseOriginalTokens: (tokens: any) => any;
|
|
3
3
|
export declare const computeTimeLeft: (refreshTimeBeforeTokensExpirationInSecond: any, expiresAt: any) => number;
|
|
4
4
|
export declare const isTokensValid: (tokens: any) => boolean;
|
|
5
|
+
export declare const isTokensOidcValid: (tokens: any, nonce: any, oidcServerConfiguration: any) => boolean;
|
|
5
6
|
//# sourceMappingURL=parseTokens.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTokens.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,SAAS,sBAyBrB,CAAA;
|
|
1
|
+
{"version":3,"file":"parseTokens.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,SAAS,sBAyBrB,CAAA;AAID,eAAO,MAAM,mBAAmB,sBA+B/B,CAAA;AAED,eAAO,MAAM,eAAe,4EAG3B,CAAA;AAED,eAAO,MAAM,aAAa,0BAKzB,CAAA;AAID,eAAO,MAAM,iBAAiB,oEA2B7B,CAAA"}
|
|
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.isTokensValid = exports.computeTimeLeft = exports.parseOriginalTokens = exports.setTokens = void 0;
|
|
14
|
+
exports.isTokensOidcValid = exports.isTokensValid = exports.computeTimeLeft = exports.parseOriginalTokens = exports.setTokens = void 0;
|
|
15
15
|
var idTokenPayload = function (token) {
|
|
16
16
|
if (!token) {
|
|
17
17
|
return null;
|
|
@@ -57,7 +57,7 @@ var setTokens = function (tokens) {
|
|
|
57
57
|
else {
|
|
58
58
|
accessTokenPayload = extractAccessTokenPayload(tokens);
|
|
59
59
|
}
|
|
60
|
-
var _idTokenPayload = idTokenPayload(tokens.idToken);
|
|
60
|
+
var _idTokenPayload = tokens.idTokenPayload ? tokens.idTokenPayload : idTokenPayload(tokens.idToken);
|
|
61
61
|
var idTokenExipreAt = (_idTokenPayload && _idTokenPayload.exp) ? _idTokenPayload.exp : Number.MAX_VALUE;
|
|
62
62
|
var accessTokenExpiresAt = (accessTokenPayload && accessTokenPayload.exp) ? accessTokenPayload.exp : tokens.issuedAt + tokens.expiresIn;
|
|
63
63
|
var expiresAt = idTokenExipreAt < accessTokenExpiresAt ? idTokenExipreAt : accessTokenExpiresAt;
|
|
@@ -104,4 +104,33 @@ var isTokensValid = function (tokens) {
|
|
|
104
104
|
return (0, exports.computeTimeLeft)(0, tokens.expiresAt) > 0;
|
|
105
105
|
};
|
|
106
106
|
exports.isTokensValid = isTokensValid;
|
|
107
|
+
// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation (excluding rules #1, #4, #5, #7, #8, #12, and #13 which did not apply).
|
|
108
|
+
// https://github.com/openid/AppAuth-JS/issues/65
|
|
109
|
+
var isTokensOidcValid = function (tokens, nonce, oidcServerConfiguration) {
|
|
110
|
+
if (tokens.idTokenPayload) {
|
|
111
|
+
var idTokenPayload_1 = tokens.idTokenPayload;
|
|
112
|
+
// 2: The Issuer Identifier for the OpenID Provider (which is typically obtained during Discovery) MUST exactly match the value of the iss (issuer) Claim.
|
|
113
|
+
if (oidcServerConfiguration.issuer !== idTokenPayload_1.iss) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
// 3: The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer identified by the iss (issuer) Claim as an audience. The aud (audience) Claim MAY contain an array with more than one element. The ID Token MUST be rejected if the ID Token does not list the Client as a valid audience, or if it contains additional audiences not trusted by the Client.
|
|
117
|
+
// 6: If the ID Token is received via direct communication between the Client and the Token Endpoint (which it is in this flow), the TLS server validation MAY be used to validate the issuer in place of checking the token signature. The Client MUST validate the signature of all other ID Tokens according to JWS [JWS] using the algorithm specified in the JWT alg Header Parameter. The Client MUST use the keys provided by the Issuer.
|
|
118
|
+
// 9: The current time MUST be before the time represented by the exp Claim.
|
|
119
|
+
var currentTimeUnixSecond = new Date().getTime() / 1000;
|
|
120
|
+
if (idTokenPayload_1.exp && idTokenPayload_1.exp < currentTimeUnixSecond) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
// 10: The iat Claim can be used to reject tokens that were issued too far away from the current time, limiting the amount of time that nonces need to be stored to prevent attacks. The acceptable range is Client specific.
|
|
124
|
+
var timeInSevenDays = 60 * 60 * 24 * 7;
|
|
125
|
+
if (idTokenPayload_1.iat && (idTokenPayload_1.iat + timeInSevenDays) < currentTimeUnixSecond) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
// 11: If a nonce value was sent in the Authentication Request, a nonce Claim MUST be present and its value checked to verify that it is the same value as the one that was sent in the Authentication Request. The Client SHOULD check the nonce value for replay attacks. The precise method for detecting replay attacks is Client specific.
|
|
129
|
+
if (idTokenPayload_1.nonce && idTokenPayload_1.nonce !== nonce) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return true;
|
|
134
|
+
};
|
|
135
|
+
exports.isTokensOidcValid = isTokensOidcValid;
|
|
107
136
|
//# sourceMappingURL=parseTokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTokens.js","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,IAAM,cAAc,GAAG,UAAC,KAAK;IACzB,IAAG,CAAC,KAAK,EAAC;QACN,OAAO,IAAI,CAAC;KACf;IACD,IAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,IAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;QACzE,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC,CAAA;AAED,IAAM,WAAW,GAAG,UAAC,GAAG,EAAE,IAAI;IAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACxC,CAAC,CAAA;AAED,IAAM,yBAAyB,GAAG,UAAA,MAAM;IACpC,IAAG,MAAM,CAAC,kBAAkB,EAC5B;QACI,OAAO,MAAM,CAAC,kBAAkB,CAAC;KACpC;IACD,IAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,IAAG;QACC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpD,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACtD;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAGK,IAAM,SAAS,GAAG,UAAC,MAAM;IAE5B,IAAG,CAAC,MAAM,EAAC;QACP,OAAO,IAAI,CAAC;KACf;IACD,IAAI,kBAAkB,CAAC;IAEvB,IAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;QACjB,IAAM,qBAAqB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAE,IAAI,CAAC;QACzD,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC;KAC3C;IAED,IAAG,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE;QACxC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;KAClD;SACI;QACD,kBAAkB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;KAC1D;IACD,IAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"parseTokens.js","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -20,6 +20,7 @@ let database = {
|
|
|
20
20
|
tokens: null,
|
|
21
21
|
status:null,
|
|
22
22
|
items:[],
|
|
23
|
+
nonce: null,
|
|
23
24
|
oidcServerConfiguration: null
|
|
24
25
|
}
|
|
25
26
|
};
|
|
@@ -56,6 +57,37 @@ const isTokensValid= (tokens) =>{
|
|
|
56
57
|
return computeTimeLeft(0, tokens.expiresAt) > 0;
|
|
57
58
|
}
|
|
58
59
|
|
|
60
|
+
// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation (excluding rules #1, #4, #5, #7, #8, #12, and #13 which did not apply).
|
|
61
|
+
// https://github.com/openid/AppAuth-JS/issues/65
|
|
62
|
+
const isTokensOidcValid =(tokens, nonce, oidcServerConfiguration) =>{
|
|
63
|
+
if(tokens.idTokenPayload) {
|
|
64
|
+
const idTokenPayload = tokens.idTokenPayload;
|
|
65
|
+
// 2: The Issuer Identifier for the OpenID Provider (which is typically obtained during Discovery) MUST exactly match the value of the iss (issuer) Claim.
|
|
66
|
+
if(oidcServerConfiguration.issuer !== idTokenPayload.iss){
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
// 3: The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer identified by the iss (issuer) Claim as an audience. The aud (audience) Claim MAY contain an array with more than one element. The ID Token MUST be rejected if the ID Token does not list the Client as a valid audience, or if it contains additional audiences not trusted by the Client.
|
|
70
|
+
|
|
71
|
+
// 6: If the ID Token is received via direct communication between the Client and the Token Endpoint (which it is in this flow), the TLS server validation MAY be used to validate the issuer in place of checking the token signature. The Client MUST validate the signature of all other ID Tokens according to JWS [JWS] using the algorithm specified in the JWT alg Header Parameter. The Client MUST use the keys provided by the Issuer.
|
|
72
|
+
|
|
73
|
+
// 9: The current time MUST be before the time represented by the exp Claim.
|
|
74
|
+
const currentTimeUnixSecond = new Date().getTime() /1000;
|
|
75
|
+
if(idTokenPayload.exp && idTokenPayload.exp < currentTimeUnixSecond) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
// 10: The iat Claim can be used to reject tokens that were issued too far away from the current time, limiting the amount of time that nonces need to be stored to prevent attacks. The acceptable range is Client specific.
|
|
79
|
+
const timeInSevenDays = 60 * 60 * 24 * 7;
|
|
80
|
+
if(idTokenPayload.iat && (idTokenPayload.iat + timeInSevenDays) < currentTimeUnixSecond) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
// 11: If a nonce value was sent in the Authentication Request, a nonce Claim MUST be present and its value checked to verify that it is the same value as the one that was sent in the Authentication Request. The Client SHOULD check the nonce value for replay attacks. The precise method for detecting replay attacks is Client specific.
|
|
84
|
+
if (idTokenPayload.nonce && idTokenPayload.nonce !== nonce) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
|
|
59
91
|
function hideTokens(currentDatabaseElement) {
|
|
60
92
|
const configurationName = currentDatabaseElement.configurationName;
|
|
61
93
|
return (response) => {
|
|
@@ -79,8 +111,12 @@ function hideTokens(currentDatabaseElement) {
|
|
|
79
111
|
let _idTokenPayload = null;
|
|
80
112
|
if(tokens.id_token) {
|
|
81
113
|
_idTokenPayload = extractTokenPayload(tokens.id_token);
|
|
114
|
+
tokens.idTokenPayload = {..._idTokenPayload};
|
|
115
|
+
if(_idTokenPayload.nonce) {
|
|
116
|
+
const keyNonce = NONCE_TOKEN + '_'+ currentDatabaseElement.configurationName;
|
|
117
|
+
_idTokenPayload.nonce = keyNonce;
|
|
118
|
+
}
|
|
82
119
|
secureTokens.idTokenPayload = _idTokenPayload;
|
|
83
|
-
tokens.idTokenPayload = _idTokenPayload;
|
|
84
120
|
}
|
|
85
121
|
if(tokens.refresh_token){
|
|
86
122
|
secureTokens.refresh_token = REFRESH_TOKEN + "_" + configurationName;
|
|
@@ -92,6 +128,10 @@ function hideTokens(currentDatabaseElement) {
|
|
|
92
128
|
secureTokens.expiresAt = expiresAt;
|
|
93
129
|
const body = JSON.stringify(secureTokens);
|
|
94
130
|
tokens.expiresAt = expiresAt;
|
|
131
|
+
|
|
132
|
+
if(!isTokensOidcValid(tokens, currentDatabaseElement.nonce.nonce, currentDatabaseElement.oidcServerConfiguration)){
|
|
133
|
+
throw Error("Tokens are not OpenID valid");
|
|
134
|
+
}
|
|
95
135
|
currentDatabaseElement.tokens = tokens;
|
|
96
136
|
currentDatabaseElement.status = "LOGGED_IN";
|
|
97
137
|
return new Response(body, response);
|
|
@@ -138,7 +178,7 @@ const getCurrentDatabaseDomain = (database, url) => {
|
|
|
138
178
|
}
|
|
139
179
|
}
|
|
140
180
|
|
|
141
|
-
if(hasToSendToken){
|
|
181
|
+
if(hasToSendToken) {
|
|
142
182
|
if(!currentDatabase.tokens) {
|
|
143
183
|
return null;
|
|
144
184
|
}
|
|
@@ -159,6 +199,7 @@ const serializeHeaders = (headers) => {
|
|
|
159
199
|
|
|
160
200
|
const REFRESH_TOKEN = 'REFRESH_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER';
|
|
161
201
|
const ACCESS_TOKEN = 'ACCESS_TOKEN_SECURED_BY_OIDC_SERVICE_WORKER';
|
|
202
|
+
const NONCE_TOKEN = 'NONCE_SECURED_BY_OIDC_SERVICE_WORKER';
|
|
162
203
|
|
|
163
204
|
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
164
205
|
|
|
@@ -215,11 +256,14 @@ const handleFetch = async (event) => {
|
|
|
215
256
|
let newBody = actualBody;
|
|
216
257
|
for(let i= 0;i<numberDatabase;i++){
|
|
217
258
|
const currentDb = currentDatabases[i];
|
|
218
|
-
|
|
219
|
-
if(currentDb && currentDb.tokens != null
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
259
|
+
|
|
260
|
+
if(currentDb && currentDb.tokens != null) {
|
|
261
|
+
const keyRefreshToken = REFRESH_TOKEN + '_'+ currentDb.configurationName;
|
|
262
|
+
if(actualBody.includes(keyRefreshToken)) {
|
|
263
|
+
newBody = newBody.replace(keyRefreshToken, encodeURIComponent(currentDb.tokens.refresh_token));
|
|
264
|
+
currentDatabase = currentDb;
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
223
267
|
}
|
|
224
268
|
}
|
|
225
269
|
|
|
@@ -327,6 +371,8 @@ addEventListener('message', event => {
|
|
|
327
371
|
checkDomain(domains, tokenEndpoint);
|
|
328
372
|
const userInfoEndpoint = oidcServerConfiguration.userInfoEndpoint;
|
|
329
373
|
checkDomain(domains, userInfoEndpoint);
|
|
374
|
+
const issuer = oidcServerConfiguration.issuer;
|
|
375
|
+
checkDomain(domains, issuer);
|
|
330
376
|
currentDatabase.oidcServerConfiguration = oidcServerConfiguration;
|
|
331
377
|
const where = data.data.where;
|
|
332
378
|
if(where === "loginCallbackAsync" || where === "tryKeepExistingSessionAsync") {
|
|
@@ -348,6 +394,9 @@ addEventListener('message', event => {
|
|
|
348
394
|
if(tokens.refresh_token){
|
|
349
395
|
tokens.refresh_token = REFRESH_TOKEN + "_" + configurationName;
|
|
350
396
|
}
|
|
397
|
+
if(tokens.idTokenPayload && tokens.idTokenPayload.nonce){
|
|
398
|
+
tokens.idTokenPayload.nonce = NONCE_TOKEN + "_" + configurationName;
|
|
399
|
+
}
|
|
351
400
|
port.postMessage({
|
|
352
401
|
tokens,
|
|
353
402
|
status: currentDatabase.status,
|
|
@@ -364,8 +413,12 @@ addEventListener('message', event => {
|
|
|
364
413
|
const sessionState = currentDatabase.sessionState;
|
|
365
414
|
port.postMessage({configurationName, sessionState});
|
|
366
415
|
return;
|
|
416
|
+
case "setNonce":
|
|
417
|
+
currentDatabase.nonce = data.data.nonce;
|
|
418
|
+
port.postMessage({configurationName});
|
|
419
|
+
return;
|
|
367
420
|
default:
|
|
368
|
-
currentDatabase.items = data.data;
|
|
421
|
+
currentDatabase.items = { ...data.data };
|
|
369
422
|
port.postMessage({configurationName});
|
|
370
423
|
return;
|
|
371
424
|
}
|
|
@@ -35,13 +35,34 @@
|
|
|
35
35
|
return storage[`oidc.session_state.${configurationName}:${redirectUri}`];
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
const setNonceAsync = (nonce) => {
|
|
39
|
+
localStorage[`oidc.nonce.${configurationName}:${redirectUri}`] = nonce.nonce;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const getNonceAsync= async () => {
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
const result = {nonce: localStorage[`oidc.nonce.${configurationName}:${redirectUri}`]};
|
|
45
|
+
localStorage[`oidc.nonce.${configurationName}:${redirectUri}`] = "";
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
|
|
38
49
|
const getTokens = () => {
|
|
39
|
-
|
|
40
50
|
if(!storage[`oidc.${configurationName}:${redirectUri}`]){
|
|
41
51
|
return null;
|
|
42
52
|
}
|
|
43
53
|
return JSON.stringify({ tokens : JSON.parse(storage[`oidc.${configurationName}:${redirectUri}`]).tokens });
|
|
44
54
|
}
|
|
45
55
|
|
|
46
|
-
return {
|
|
56
|
+
return {
|
|
57
|
+
saveItemsAsync,
|
|
58
|
+
loadItemsAsync,
|
|
59
|
+
clearAsync,
|
|
60
|
+
initAsync,
|
|
61
|
+
setTokens,
|
|
62
|
+
getTokens,
|
|
63
|
+
setSessionState,
|
|
64
|
+
getSessionState,
|
|
65
|
+
setNonceAsync,
|
|
66
|
+
getNonceAsync
|
|
67
|
+
};
|
|
47
68
|
}
|
|
@@ -138,6 +138,16 @@ export const initWorkerAsync = async(serviceWorkerRelativeUrl, configurationName
|
|
|
138
138
|
return result.sessionState;
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
+
const setNonceAsync = (nonce) => {
|
|
142
|
+
return sendMessageAsync(registration)({type: "setNonce", data: {nonce}, configurationName});
|
|
143
|
+
}
|
|
144
|
+
const NONCE_TOKEN = 'NONCE_SECURED_BY_OIDC_SERVICE_WORKER';
|
|
145
|
+
const getNonceAsync= async () => {
|
|
146
|
+
// @ts-ignore
|
|
147
|
+
const keyNonce = NONCE_TOKEN + '_'+ configurationName;
|
|
148
|
+
return {nonce:keyNonce};
|
|
149
|
+
}
|
|
150
|
+
|
|
141
151
|
return {
|
|
142
152
|
saveItemsAsync,
|
|
143
153
|
loadItemsAsync,
|
|
@@ -148,6 +158,8 @@ export const initWorkerAsync = async(serviceWorkerRelativeUrl, configurationName
|
|
|
148
158
|
isServiceWorkerProxyActiveAsync,
|
|
149
159
|
setSessionStateAsync,
|
|
150
160
|
getSessionStateAsync,
|
|
161
|
+
setNonceAsync,
|
|
162
|
+
getNonceAsync,
|
|
151
163
|
unregisterAsync,
|
|
152
164
|
};
|
|
153
165
|
}
|
package/src/oidc/vanilla/oidc.ts
CHANGED
|
@@ -19,7 +19,7 @@ import timer from './timer';
|
|
|
19
19
|
import {CheckSessionIFrame} from "./checkSessionIFrame"
|
|
20
20
|
import {getParseQueryStringFromLocation} from "./route-utils";
|
|
21
21
|
import {AuthorizationServiceConfigurationJson} from "@openid/appauth/src/authorization_service_configuration";
|
|
22
|
-
import {computeTimeLeft, isTokensValid, parseOriginalTokens, setTokens} from "./parseTokens";
|
|
22
|
+
import {computeTimeLeft, isTokensOidcValid, isTokensValid, parseOriginalTokens, setTokens} from "./parseTokens";
|
|
23
23
|
|
|
24
24
|
const performTokenRequestAsync= async (url, details, extras) => {
|
|
25
25
|
|
|
@@ -80,10 +80,12 @@ const internalFetch = async (url, headers, numberRetry=0) => {
|
|
|
80
80
|
|
|
81
81
|
export interface OidcAuthorizationServiceConfigurationJson extends AuthorizationServiceConfigurationJson{
|
|
82
82
|
check_session_iframe?: string;
|
|
83
|
+
issuer:string;
|
|
83
84
|
}
|
|
84
85
|
|
|
85
86
|
export class OidcAuthorizationServiceConfiguration extends AuthorizationServiceConfiguration{
|
|
86
87
|
private check_session_iframe: string;
|
|
88
|
+
private issuer: string;
|
|
87
89
|
|
|
88
90
|
constructor(request: any) {
|
|
89
91
|
super(request);
|
|
@@ -92,6 +94,7 @@ export class OidcAuthorizationServiceConfiguration extends AuthorizationServiceC
|
|
|
92
94
|
this.revocationEndpoint = request.revocation_endpoint;
|
|
93
95
|
this.userInfoEndpoint = request.userinfo_endpoint;
|
|
94
96
|
this.check_session_iframe = request.check_session_iframe;
|
|
97
|
+
this.issuer = request.issuer;
|
|
95
98
|
}
|
|
96
99
|
|
|
97
100
|
}
|
|
@@ -113,6 +116,7 @@ export interface AuthorityConfiguration {
|
|
|
113
116
|
end_session_endpoint?: string;
|
|
114
117
|
userinfo_endpoint?: string;
|
|
115
118
|
check_session_iframe?:string;
|
|
119
|
+
issuer:string;
|
|
116
120
|
}
|
|
117
121
|
|
|
118
122
|
export type OidcConfiguration = {
|
|
@@ -519,6 +523,7 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
519
523
|
token_endpoint: authorityConfiguration.token_endpoint,
|
|
520
524
|
userinfo_endpoint: authorityConfiguration.userinfo_endpoint,
|
|
521
525
|
check_session_iframe: authorityConfiguration.check_session_iframe,
|
|
526
|
+
issuer: authorityConfiguration.issuer,
|
|
522
527
|
});
|
|
523
528
|
}
|
|
524
529
|
|
|
@@ -636,23 +641,38 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
636
641
|
scope = configuration.scope;
|
|
637
642
|
}
|
|
638
643
|
|
|
644
|
+
const randomString = function(length) {
|
|
645
|
+
let text = "";
|
|
646
|
+
const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
647
|
+
for(let i = 0; i < length; i++) {
|
|
648
|
+
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
|
649
|
+
}
|
|
650
|
+
return text;
|
|
651
|
+
}
|
|
652
|
+
|
|
639
653
|
setLoginParams(this.configurationName, redirectUri, {callbackPath: url, extras, state});
|
|
640
|
-
|
|
654
|
+
const extraFinal = extras ?? configuration.extras ?? {};
|
|
655
|
+
if(!extraFinal.nonce) {
|
|
656
|
+
extraFinal["nonce"] = randomString(12);
|
|
657
|
+
}
|
|
658
|
+
const nonce = {"nonce":extraFinal.nonce};
|
|
641
659
|
let serviceWorker = await initWorkerAsync(configuration.service_worker_relative_url, this.configurationName);
|
|
642
660
|
const oidcServerConfiguration = await this.initAsync(configuration.authority, configuration.authority_configuration);
|
|
643
661
|
let storage;
|
|
644
662
|
if (serviceWorker) {
|
|
645
663
|
serviceWorker.startKeepAliveServiceWorker();
|
|
646
664
|
await serviceWorker.initAsync(oidcServerConfiguration, "loginAsync");
|
|
665
|
+
await serviceWorker.setNonceAsync(nonce);
|
|
647
666
|
storage = new MemoryStorageBackend(serviceWorker.saveItemsAsync, {});
|
|
648
667
|
await storage.setItem("dummy", {});
|
|
668
|
+
|
|
649
669
|
} else {
|
|
650
670
|
const session = initSession(this.configurationName, redirectUri);
|
|
671
|
+
await session.setNonceAsync(nonce);
|
|
651
672
|
storage = new MemoryStorageBackend(session.saveItemsAsync, {});
|
|
652
673
|
}
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
674
|
+
|
|
675
|
+
|
|
656
676
|
// @ts-ignore
|
|
657
677
|
const queryStringUtil = redirectUri.includes("#") ? new HashQueryStringUtils() : new NoHashQueryStringUtils();
|
|
658
678
|
const authorizationHandler = new RedirectRequestHandler(storage, queryStringUtil, window.location, new DefaultCrypto());
|
|
@@ -774,6 +794,7 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
774
794
|
const sessionState = queryParams.session_state;
|
|
775
795
|
const serviceWorker = await initWorkerAsync(configuration.service_worker_relative_url, this.configurationName);
|
|
776
796
|
let storage = null;
|
|
797
|
+
let nonceData = null;
|
|
777
798
|
if(serviceWorker){
|
|
778
799
|
serviceWorker.startKeepAliveServiceWorker();
|
|
779
800
|
this.serviceWorker = serviceWorker;
|
|
@@ -786,14 +807,16 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
786
807
|
}
|
|
787
808
|
await storage.removeItem("dummy");
|
|
788
809
|
await serviceWorker.setSessionStateAsync(sessionState);
|
|
810
|
+
nonceData = await serviceWorker.getNonceAsync();
|
|
789
811
|
}else{
|
|
790
|
-
|
|
791
812
|
this.session = initSession(this.configurationName, redirectUri, configuration.storage ?? sessionStorage);
|
|
792
813
|
const session = initSession(this.configurationName, redirectUri);
|
|
793
814
|
session.setSessionState(sessionState);
|
|
794
815
|
const items = await session.loadItemsAsync();
|
|
795
816
|
storage = new MemoryStorageBackend(session.saveItemsAsync, items);
|
|
817
|
+
nonceData = await session.getNonceAsync();
|
|
796
818
|
}
|
|
819
|
+
|
|
797
820
|
return new Promise((resolve, reject) => {
|
|
798
821
|
// @ts-ignore
|
|
799
822
|
let queryStringUtil = new NoHashQueryStringUtils();
|
|
@@ -853,6 +876,16 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
853
876
|
if (serviceWorker) {
|
|
854
877
|
const {tokens} = await serviceWorker.initAsync(oidcServerConfiguration, "syncTokensAsync");
|
|
855
878
|
tokenResponse = tokens;
|
|
879
|
+
};
|
|
880
|
+
if(!isTokensOidcValid(tokenResponse, nonceData.nonce, oidcServerConfiguration)){
|
|
881
|
+
const exception = new Error("Tokens are not OpenID valid");
|
|
882
|
+
if(timeoutId) {
|
|
883
|
+
clearTimeout(timeoutId);
|
|
884
|
+
this.timeoutId=null;
|
|
885
|
+
this.publishEvent(eventNames.loginCallbackAsync_error, exception);
|
|
886
|
+
console.error(exception);
|
|
887
|
+
reject(exception);
|
|
888
|
+
}
|
|
856
889
|
}
|
|
857
890
|
|
|
858
891
|
// @ts-ignore
|
|
@@ -971,6 +1004,10 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
971
1004
|
const oidcServerConfiguration = await this.initAsync(authority, configuration.authority_configuration);
|
|
972
1005
|
const tokenResponse = await performTokenRequestAsync(oidcServerConfiguration.tokenEndpoint, details, extras)
|
|
973
1006
|
if (tokenResponse.success) {
|
|
1007
|
+
if(!isTokensOidcValid(tokenResponse.data, null, oidcServerConfiguration)){
|
|
1008
|
+
this.publishEvent(eventNames.refreshTokensAsync_error, {message: `refresh token return not valid tokens` });
|
|
1009
|
+
return {tokens:null, status:"SESSION_LOST"};
|
|
1010
|
+
}
|
|
974
1011
|
this.publishEvent(eventNames.refreshTokensAsync_end, {success: tokenResponse.success});
|
|
975
1012
|
this.publishEvent(Oidc.eventNames.token_renewed, {});
|
|
976
1013
|
return {tokens: tokenResponse.data, status:"LOGGED_IN"};
|
|
@@ -51,7 +51,7 @@ export const setTokens = (tokens) =>{
|
|
|
51
51
|
else {
|
|
52
52
|
accessTokenPayload = extractAccessTokenPayload(tokens);
|
|
53
53
|
}
|
|
54
|
-
const _idTokenPayload = idTokenPayload(tokens.idToken);
|
|
54
|
+
const _idTokenPayload = tokens.idTokenPayload ? tokens.idTokenPayload : idTokenPayload(tokens.idToken);
|
|
55
55
|
|
|
56
56
|
const idTokenExipreAt =(_idTokenPayload && _idTokenPayload.exp) ? _idTokenPayload.exp: Number.MAX_VALUE;
|
|
57
57
|
const accessTokenExpiresAt = (accessTokenPayload && accessTokenPayload.exp)? accessTokenPayload.exp : tokens.issuedAt + tokens.expiresIn;
|
|
@@ -61,6 +61,7 @@ export const setTokens = (tokens) =>{
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
|
|
64
|
+
|
|
64
65
|
export const parseOriginalTokens= (tokens) =>{
|
|
65
66
|
if(!tokens){
|
|
66
67
|
return null;
|
|
@@ -104,4 +105,35 @@ export const isTokensValid= (tokens) =>{
|
|
|
104
105
|
return false;
|
|
105
106
|
}
|
|
106
107
|
return computeTimeLeft(0, tokens.expiresAt) > 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation (excluding rules #1, #4, #5, #7, #8, #12, and #13 which did not apply).
|
|
111
|
+
// https://github.com/openid/AppAuth-JS/issues/65
|
|
112
|
+
export const isTokensOidcValid =(tokens, nonce, oidcServerConfiguration) =>{
|
|
113
|
+
if(tokens.idTokenPayload) {
|
|
114
|
+
const idTokenPayload = tokens.idTokenPayload;
|
|
115
|
+
// 2: The Issuer Identifier for the OpenID Provider (which is typically obtained during Discovery) MUST exactly match the value of the iss (issuer) Claim.
|
|
116
|
+
if(oidcServerConfiguration.issuer !== idTokenPayload.iss){
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
// 3: The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer identified by the iss (issuer) Claim as an audience. The aud (audience) Claim MAY contain an array with more than one element. The ID Token MUST be rejected if the ID Token does not list the Client as a valid audience, or if it contains additional audiences not trusted by the Client.
|
|
120
|
+
|
|
121
|
+
// 6: If the ID Token is received via direct communication between the Client and the Token Endpoint (which it is in this flow), the TLS server validation MAY be used to validate the issuer in place of checking the token signature. The Client MUST validate the signature of all other ID Tokens according to JWS [JWS] using the algorithm specified in the JWT alg Header Parameter. The Client MUST use the keys provided by the Issuer.
|
|
122
|
+
|
|
123
|
+
// 9: The current time MUST be before the time represented by the exp Claim.
|
|
124
|
+
const currentTimeUnixSecond = new Date().getTime() /1000;
|
|
125
|
+
if(idTokenPayload.exp && idTokenPayload.exp < currentTimeUnixSecond) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
// 10: The iat Claim can be used to reject tokens that were issued too far away from the current time, limiting the amount of time that nonces need to be stored to prevent attacks. The acceptable range is Client specific.
|
|
129
|
+
const timeInSevenDays = 60 * 60 * 24 * 7;
|
|
130
|
+
if(idTokenPayload.iat && (idTokenPayload.iat + timeInSevenDays) < currentTimeUnixSecond) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
// 11: If a nonce value was sent in the Authentication Request, a nonce Claim MUST be present and its value checked to verify that it is the same value as the one that was sent in the Authentication Request. The Client SHOULD check the nonce value for replay attacks. The precise method for detecting replay attacks is Client specific.
|
|
134
|
+
if (idTokenPayload.nonce && idTokenPayload.nonce !== nonce) {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return true;
|
|
107
139
|
}
|