@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.
@@ -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
- const key = REFRESH_TOKEN + '_'+ currentDb.configurationName;
219
- if(currentDb && currentDb.tokens != null && actualBody.includes(key)) {
220
- newBody = newBody.replace(key, encodeURIComponent(currentDb.tokens.refresh_token));
221
- currentDatabase = currentDb;
222
- break;
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;;;;;;;;;;;;CA8CvB,CAAA"}
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 { saveItemsAsync: saveItemsAsync, loadItemsAsync: loadItemsAsync, clearAsync: clearAsync, initAsync: initAsync, setTokens: setTokens, getTokens: getTokens, setSessionState: setSessionState, getSessionState: getSessionState };
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;QAEd,IAAG,CAAC,OAAO,CAAC,eAAQ,iBAAiB,cAAI,WAAW,CAAE,CAAC,EAAC;YACpD,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAQ,iBAAiB,cAAI,WAAW,CAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/G,CAAC,CAAA;IAED,OAAO,EAAE,cAAc,gBAAA,EAAE,cAAc,gBAAA,EAAE,UAAU,YAAA,EAAE,SAAS,WAAA,EAAE,SAAS,WAAA,EAAE,SAAS,WAAA,EAAE,eAAe,iBAAA,EAAE,eAAe,iBAAA,EAAE,CAAC;AAC7H,CAAC,CAAA;AA9CY,QAAA,WAAW,eA8CvB"}
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;;;;;;;;;;;;;EAoF3B,CAAA"}
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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"}
@@ -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":"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"}
1
+ {"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
@@ -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, extraFinal, queryStringUtil, authorizationHandler, authRequest, exception_2;
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, 7, , 8]);
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*/, 5];
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
- storage = new memoryStorageBackend_1.MemoryStorageBackend(serviceWorker.saveItemsAsync, {});
787
- return [4 /*yield*/, storage.setItem("dummy", {})];
801
+ return [4 /*yield*/, serviceWorker.setNonceAsync(nonce)];
788
802
  case 4:
789
803
  _b.sent();
790
- return [3 /*break*/, 6];
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 = 6;
795
- case 6:
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*/, 8];
809
- case 7:
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 8: return [2 /*return*/];
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, 11, , 12]);
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
- if (!serviceWorker_1) return [3 /*break*/, 8];
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 [3 /*break*/, 10];
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 9:
1017
+ case 10:
994
1018
  items = _b.sent();
995
1019
  storage_1 = new memoryStorageBackend_1.MemoryStorageBackend(session.saveItemsAsync, items);
996
- _b.label = 10;
997
- case 10: return [2 /*return*/, new Promise(function (resolve, reject) {
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 11:
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 12: return [2 /*return*/];
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" }];
@@ -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;AAGD,eAAO,MAAM,mBAAmB,sBA+B/B,CAAA;AAED,eAAO,MAAM,eAAe,4EAG3B,CAAA;AAED,eAAO,MAAM,aAAa,0BAKzB,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":"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"}
1
+ {"version":3,"file":"parseTokens.js","sourceRoot":"","sources":["../../src/oidc/vanilla/parseTokens.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axa-fr/react-oidc",
3
- "version": "6.3.2",
3
+ "version": "6.4.0",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "jsnext:main": "dist/index.js",
@@ -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
- const key = REFRESH_TOKEN + '_'+ currentDb.configurationName;
219
- if(currentDb && currentDb.tokens != null && actualBody.includes(key)) {
220
- newBody = newBody.replace(key, encodeURIComponent(currentDb.tokens.refresh_token));
221
- currentDatabase = currentDb;
222
- break;
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 { saveItemsAsync, loadItemsAsync, clearAsync, initAsync, setTokens, getTokens, setSessionState, getSessionState };
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
  }
@@ -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
- const extraFinal = extras ?? configuration.extras ?? {};
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
  }