cidaas-javascript-sdk 3.0.4 → 3.1.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.
@@ -1,6 +1,5 @@
1
1
  import { UserManager, UserManagerSettings } from "oidc-client-ts";
2
2
  import * as CryptoJS from 'crypto-js';
3
- import fingerprint from '@fingerprintjs/fingerprintjs';
4
3
 
5
4
  import { Authentication } from "../authentication";
6
5
  import { Helper, CustomException } from "./Helper";
@@ -40,8 +39,6 @@ import {
40
39
 
41
40
  export class WebAuth {
42
41
 
43
- private code_verifier: string;
44
-
45
42
  constructor(settings: UserManagerSettings & { mode?: string, cidaas_version: number }) {
46
43
  try {
47
44
  var usermanager = new UserManager(settings)
@@ -60,21 +57,6 @@ export class WebAuth {
60
57
  }
61
58
  }
62
59
 
63
- /**
64
- * generate code verifier
65
- */
66
- private generateCodeVerifier() {
67
- this.code_verifier = crypto.randomUUID().replace(/-/g, "");
68
- };
69
-
70
- /**
71
- * @param code_verifier
72
- * @returns
73
- */
74
- private generateCodeChallenge(code_verifier: string) {
75
- return this.base64URL(CryptoJS.SHA256(code_verifier));
76
- };
77
-
78
60
  /**
79
61
  * @param string
80
62
  * @returns
@@ -249,19 +231,19 @@ export class WebAuth {
249
231
  if (!settings.scope) {
250
232
  settings.scope = "email openid profile mobile";
251
233
  }
252
-
253
- this.generateCodeVerifier();
254
-
255
- var loginURL = settings.authority + "/authz-srv/authz?client_id=" + settings.client_id;
256
- loginURL += "&redirect_uri=" + settings.redirect_uri;
257
- loginURL += "&nonce=" + new Date().getTime().toString();
258
- loginURL += "&response_type=" + settings.response_type;
259
- loginURL += "&code_challenge=" + this.generateCodeChallenge(this.code_verifier);
260
- loginURL += "&code_challenge_method=S256";
261
- if (settings.response_mode && settings.response_mode == 'query') {
262
- loginURL += "&response_mode=" + settings.response_mode;
234
+ var loginURL = "";
235
+ window.usermanager._client.createSigninRequest(settings).then((signInRequest: any) => {
236
+ loginURL = signInRequest.url;
237
+ })
238
+ var timeRemaining = 5000
239
+ while (timeRemaining > 0) {
240
+ if (loginURL) {
241
+ break;
242
+ }
243
+ setTimeout(() => {
244
+ timeRemaining -= 100
245
+ }, 100);
263
246
  }
264
- loginURL += "&scope=" + settings.scope;
265
247
  return loginURL;
266
248
  };
267
249
 
@@ -317,29 +299,8 @@ export class WebAuth {
317
299
  * @returns
318
300
  */
319
301
  getMissingFields(options: { requestId: string; trackId: string; }) {
320
- return new Promise((resolve, reject) => {
321
- try {
322
- var http = new XMLHttpRequest();
323
- var _serviceURL = window.webAuthSettings.authority + "/public-srv/public/trackinfo/" + options.requestId + "/" + options.trackId;
324
- http.onreadystatechange = function () {
325
- if (http.readyState == 4) {
326
- if (http.responseText) {
327
- resolve(JSON.parse(http.responseText));
328
- } else {
329
- resolve(false);
330
- }
331
- }
332
- };
333
- http.open("GET", _serviceURL, true);
334
- http.setRequestHeader("Content-type", "application/json");
335
- if (window.localeSettings) {
336
- http.setRequestHeader("accept-language", window.localeSettings);
337
- }
338
- http.send();
339
- } catch (ex) {
340
- reject(ex);
341
- }
342
- });
302
+ const _serviceURL = window.webAuthSettings.authority + "/public-srv/public/trackinfo/" + options.requestId + "/" + options.trackId;
303
+ return Helper.createPostPromise(undefined, _serviceURL,false, "GET");
343
304
  };
344
305
 
345
306
  /**
@@ -347,29 +308,8 @@ export class WebAuth {
347
308
  * @returns
348
309
  */
349
310
  getTenantInfo() {
350
- return new Promise((resolve, reject) => {
351
- try {
352
- var http = new XMLHttpRequest();
353
- var _serviceURL = window.webAuthSettings.authority + "/public-srv/tenantinfo/basic";
354
- http.onreadystatechange = function () {
355
- if (http.readyState == 4) {
356
- if (http.responseText) {
357
- resolve(JSON.parse(http.responseText));
358
- } else {
359
- resolve(false);
360
- }
361
- }
362
- };
363
- http.open("GET", _serviceURL, true);
364
- http.setRequestHeader("Content-type", "application/json");
365
- if (window.localeSettings) {
366
- http.setRequestHeader("accept-language", window.localeSettings);
367
- }
368
- http.send();
369
- } catch (ex) {
370
- reject(ex);
371
- }
372
- });
311
+ const _serviceURL = window.webAuthSettings.authority + "/public-srv/tenantinfo/basic";
312
+ return Helper.createPostPromise(undefined, _serviceURL,false, "GET");
373
313
  };
374
314
 
375
315
  /**
@@ -390,29 +330,8 @@ export class WebAuth {
390
330
  * @returns
391
331
  */
392
332
  getClientInfo(options: { requestId: string }) {
393
- return new Promise((resolve, reject) => {
394
- try {
395
- var http = new XMLHttpRequest();
396
- var _serviceURL = window.webAuthSettings.authority + "/public-srv/public/" + options.requestId;
397
- http.onreadystatechange = function () {
398
- if (http.readyState == 4) {
399
- if (http.responseText) {
400
- resolve(JSON.parse(http.responseText));
401
- } else {
402
- resolve(false);
403
- }
404
- }
405
- };
406
- http.open("GET", _serviceURL, true);
407
- http.setRequestHeader("Content-type", "application/json");
408
- if (window.localeSettings) {
409
- http.setRequestHeader("accept-language", window.localeSettings);
410
- }
411
- http.send();
412
- } catch (ex) {
413
- reject(ex);
414
- }
415
- });
333
+ const _serviceURL = window.webAuthSettings.authority + "/public-srv/public/" + options.requestId;
334
+ return Helper.createPostPromise(undefined, _serviceURL,false, "GET");
416
335
  };
417
336
 
418
337
  /**
@@ -421,33 +340,12 @@ export class WebAuth {
421
340
  * @returns
422
341
  */
423
342
  getDevicesInfo(options: any) {
424
- return new Promise((resolve, reject) => {
425
- try {
426
- var http = new XMLHttpRequest();
427
- var _serviceURL = window.webAuthSettings.authority + "/device-srv/devices";
428
- options.userAgent = window.navigator.userAgent
429
- http.onreadystatechange = function () {
430
- if (http.readyState == 4) {
431
- if (http.responseText) {
432
- resolve(JSON.parse(http.responseText));
433
- } else {
434
- resolve(false);
435
- }
436
- }
437
- };
438
- http.open("GET", _serviceURL, true);
439
- http.setRequestHeader("Content-type", "application/json");
440
- if (window.localeSettings) {
441
- http.setRequestHeader("accept-language", window.localeSettings);
442
- }
443
- if (window.navigator.userAgent) {
444
- http.send(JSON.stringify(options));
445
- }
446
- http.send();
447
- } catch (ex) {
448
- reject(ex);
449
- }
450
- });
343
+ options.userAgent = window.navigator.userAgent;
344
+ const _serviceURL = window.webAuthSettings.authority + "/device-srv/devices";
345
+ if (window.navigator.userAgent) {
346
+ return Helper.createPostPromise(options, _serviceURL,false, "GET");
347
+ }
348
+ return Helper.createPostPromise(undefined, _serviceURL,false, "GET");
451
349
  };
452
350
 
453
351
  /**
@@ -456,33 +354,12 @@ export class WebAuth {
456
354
  * @returns
457
355
  */
458
356
  deleteDevice(options: { device_id: string; userAgent?: string }) {
459
- return new Promise((resolve, reject) => {
460
- try {
461
- var http = new XMLHttpRequest();
462
- var _serviceURL = window.webAuthSettings.authority + "/device-srv/device/" + options.device_id;
463
- options.userAgent = window.navigator.userAgent
464
- http.onreadystatechange = function () {
465
- if (http.readyState == 4) {
466
- if (http.responseText) {
467
- resolve(JSON.parse(http.responseText));
468
- } else {
469
- resolve(false);
470
- }
471
- }
472
- };
473
- http.open("DELETE", _serviceURL, true);
474
- http.setRequestHeader("Content-type", "application/json");
475
- if (window.localeSettings) {
476
- http.setRequestHeader("accept-language", window.localeSettings);
477
- }
478
- if (window.navigator.userAgent) {
479
- http.send(JSON.stringify(options));
480
- }
481
- http.send();
482
- } catch (ex) {
483
- reject(ex);
484
- }
485
- });
357
+ const _serviceURL = window.webAuthSettings.authority + "/device-srv/device/" + options.device_id;
358
+ options.userAgent = window.navigator.userAgent;
359
+ if (window.navigator.userAgent) {
360
+ return Helper.createPostPromise(options, _serviceURL,false, "DELETE");
361
+ }
362
+ return Helper.createPostPromise(undefined, _serviceURL,false, "DELETE");
486
363
  };
487
364
 
488
365
  /**
@@ -527,30 +404,8 @@ export class WebAuth {
527
404
  * @returns
528
405
  */
529
406
  getUnreviewedDevices(access_token: string, sub: string) {
530
- return new Promise((resolve, reject) => {
531
- try {
532
- var http = new XMLHttpRequest();
533
- var _serviceURL = window.webAuthSettings.authority + "/reports-srv/device/unreviewlist/" + sub;
534
- http.onreadystatechange = function () {
535
- if (http.readyState == 4) {
536
- if (http.responseText) {
537
- resolve(JSON.parse(http.responseText));
538
- } else {
539
- resolve(false);
540
- }
541
- }
542
- };
543
- http.open("GET", _serviceURL, true);
544
- http.setRequestHeader("Content-type", "application/json");
545
- http.setRequestHeader("Authorization", `Bearer ${access_token}`);
546
- if (window.localeSettings) {
547
- http.setRequestHeader("accept-language", window.localeSettings);
548
- }
549
- http.send();
550
- } catch (ex) {
551
- throw new CustomException(ex, 417);
552
- }
553
- });
407
+ let _serviceURL = window.webAuthSettings.authority + "/reports-srv/device/unreviewlist/" + sub;
408
+ return Helper.createPostPromise(undefined, _serviceURL,false, "GET", access_token);
554
409
  };
555
410
 
556
411
  /**
@@ -560,30 +415,8 @@ export class WebAuth {
560
415
  * @returns
561
416
  */
562
417
  getReviewedDevices(access_token: string, sub: string) {
563
- return new Promise(function (resolve, reject) {
564
- try {
565
- var http = new XMLHttpRequest();
566
- var _serviceURL = window.webAuthSettings.authority + "/reports-srv/device/reviewlist/" + sub;
567
- http.onreadystatechange = function () {
568
- if (http.readyState == 4) {
569
- if (http.responseText) {
570
- resolve(JSON.parse(http.responseText));
571
- } else {
572
- resolve(false);
573
- }
574
- }
575
- };
576
- http.open("GET", _serviceURL, true);
577
- http.setRequestHeader("Content-type", "application/json");
578
- http.setRequestHeader("Authorization", `Bearer ${access_token}`);
579
- if (window.localeSettings) {
580
- http.setRequestHeader("accept-language", window.localeSettings);
581
- }
582
- http.send();
583
- } catch (ex) {
584
- throw new CustomException(ex, 417);
585
- }
586
- });
418
+ let _serviceURL = window.webAuthSettings.authority + "/reports-srv/device/reviewlist/" + sub;
419
+ return Helper.createPostPromise(undefined, _serviceURL,false, "GET", access_token);
587
420
  };
588
421
 
589
422
  /**
@@ -593,30 +426,8 @@ export class WebAuth {
593
426
  * @returns
594
427
  */
595
428
  reviewDevice(options: UpdateReviewDeviceEntity, access_token: string) {
596
- return new Promise((resolve, reject) => {
597
- try {
598
- var http = new XMLHttpRequest();
599
- var _serviceURL = window.webAuthSettings.authority + "/reports-srv/device/updatereview";
600
- http.onreadystatechange = function () {
601
- if (http.readyState == 4) {
602
- if (http.responseText) {
603
- resolve(JSON.parse(http.responseText));
604
- } else {
605
- resolve(false);
606
- }
607
- }
608
- };
609
- http.open("PUT", _serviceURL, true);
610
- http.setRequestHeader("Content-type", "application/json");
611
- http.setRequestHeader("Authorization", `Bearer ${access_token}`);
612
- if (window.localeSettings) {
613
- http.setRequestHeader("accept-language", window.localeSettings);
614
- }
615
- http.send(JSON.stringify(options));
616
- } catch (ex) {
617
- throw new CustomException(ex, 417);
618
- }
619
- });
429
+ let _serviceURL = window.webAuthSettings.authority + "/reports-srv/device/updatereview";
430
+ return Helper.createPostPromise(options, _serviceURL,false, "PUT", access_token);
620
431
  };
621
432
 
622
433
  /**
@@ -627,13 +438,9 @@ export class WebAuth {
627
438
  return new Promise((resolve, reject) => {
628
439
  try {
629
440
  var value = ('; ' + document.cookie).split(`; cidaas_dr=`).pop().split(';')[0];
630
- var fpPromise = fingerprint.load();
631
- var options = { fingerprint: "", userAgent: "" };
441
+ var options = { userAgent: "" };
632
442
  if (!value) {
633
443
  (async () => {
634
- var fp = await fpPromise;
635
- var result = await fp.get();
636
- options.fingerprint = result.visitorId
637
444
  options.userAgent = window.navigator.userAgent
638
445
  var http = new XMLHttpRequest();
639
446
  var _serviceURL = window.webAuthSettings.authority + "/device-srv/deviceinfo";
@@ -1000,7 +807,7 @@ export class WebAuth {
1000
807
  */
1001
808
  getUserActivities(options: UserActivityEntity, access_token: string) {
1002
809
  var _serviceURL = window.webAuthSettings.authority + "/useractivity-srv/latestactivity";
1003
- return Helper.createPostPromise(options, _serviceURL, false, access_token);
810
+ return Helper.createPostPromise(options, _serviceURL, false,"POST", access_token);
1004
811
  };
1005
812
 
1006
813
  /**
@@ -1059,7 +866,7 @@ export class WebAuth {
1059
866
  */
1060
867
  updateProfileImage(options: { image_key: string; }, access_token: string) {
1061
868
  var _serviceURL = window.webAuthSettings.authority + "/image-srv/profile/upload";
1062
- return Helper.createPostPromise(options, _serviceURL, false, access_token);
869
+ return Helper.createPostPromise(options, _serviceURL, false,"POST", access_token);
1063
870
  };
1064
871
 
1065
872
  /**
@@ -1677,7 +1484,7 @@ export class WebAuth {
1677
1484
  /**
1678
1485
  * @deprecated
1679
1486
  * authenticate ivr - v1
1680
- * @param options
1487
+ * @param options
1681
1488
  */
1682
1489
  authenticateIVR(options: any) {
1683
1490
  var verificationType = "IVR";
@@ -1686,21 +1493,21 @@ export class WebAuth {
1686
1493
 
1687
1494
  /**
1688
1495
  * @deprecated
1689
- * authenticate backupcode - v1
1690
- * @param options
1496
+ * authenticate totp - v1
1497
+ * @param options
1691
1498
  */
1692
- authenticateBackupcode(options: any) {
1693
- var verificationType = "BACKUPCODE";
1499
+ authenticateTOTP(options: any) {
1500
+ var verificationType = "TOTP";
1694
1501
  this.authenticateMfaV1(options, verificationType);
1695
1502
  };
1696
1503
 
1697
1504
  /**
1698
1505
  * @deprecated
1699
- * authenticate totp - v1
1700
- * @param options
1506
+ * authenticate backupcode - v1
1507
+ * @param options
1701
1508
  */
1702
- authenticateTOTP(options: any) {
1703
- var verificationType = "TOTP";
1509
+ authenticateBackupcode(options: any) {
1510
+ var verificationType = "BACKUPCODE";
1704
1511
  this.authenticateMfaV1(options, verificationType);
1705
1512
  };
1706
1513
  }
@@ -49,7 +49,7 @@ var Authentication = /** @class */ (function () {
49
49
  return new Promise(function (resolve, reject) {
50
50
  try {
51
51
  if (_this.userManager) {
52
- _this.userManager.signinRedirectCallback(_this.webAuthSettings.redirect_uri)
52
+ _this.userManager.signinRedirectCallback()
53
53
  .then(function (user) {
54
54
  if (user) {
55
55
  resolve(user);
@@ -11,7 +11,7 @@ var ConsentService;
11
11
  */
12
12
  function getConsentDetailsV2(options) {
13
13
  var _serviceURL = window.webAuthSettings.authority + "/consent-management-srv/v2/consent/usage/public/info";
14
- return Helper_1.Helper.createPostPromise(options, _serviceURL, false);
14
+ return Helper_1.Helper.createPostPromise(options, _serviceURL, false, "POST");
15
15
  }
16
16
  ConsentService.getConsentDetailsV2 = getConsentDetailsV2;
17
17
  ;
@@ -22,7 +22,7 @@ var ConsentService;
22
22
  */
23
23
  function acceptConsentV2(options) {
24
24
  var _serviceURL = window.webAuthSettings.authority + "/consent-management-srv/v2/consent/usage/accept";
25
- return Helper_1.Helper.createPostPromise(options, _serviceURL, false);
25
+ return Helper_1.Helper.createPostPromise(options, _serviceURL, false, "POST");
26
26
  }
27
27
  ConsentService.acceptConsentV2 = acceptConsentV2;
28
28
  ;
@@ -32,32 +32,8 @@ var ConsentService;
32
32
  * @returns
33
33
  */
34
34
  function getScopeConsentVersionDetailsV2(options) {
35
- return new Promise(function (resolve, reject) {
36
- try {
37
- var http = new XMLHttpRequest();
38
- var _serviceURL = window.webAuthSettings.authority + "/consent-management-srv/v2/consent/versions/details/" + options.scopeid + "?locale=" + options.locale;
39
- http.onreadystatechange = function () {
40
- if (http.readyState == 4) {
41
- if (http.responseText) {
42
- resolve(JSON.parse(http.responseText));
43
- }
44
- else {
45
- resolve(false);
46
- }
47
- }
48
- };
49
- http.open("GET", _serviceURL, true);
50
- http.setRequestHeader("Content-type", "application/json");
51
- http.setRequestHeader("Authorization", "Bearer ".concat(options.access_token));
52
- if (window.localeSettings) {
53
- http.setRequestHeader("accept-language", window.localeSettings);
54
- }
55
- http.send();
56
- }
57
- catch (ex) {
58
- reject(ex);
59
- }
60
- });
35
+ var _serviceURL = window.webAuthSettings.authority + "/consent-management-srv/v2/consent/versions/details/" + options.scopeid + "?locale=" + options.locale;
36
+ return Helper_1.Helper.createPostPromise(undefined, _serviceURL, false, "GET", options.access_token);
61
37
  }
62
38
  ConsentService.getScopeConsentVersionDetailsV2 = getScopeConsentVersionDetailsV2;
63
39
  ;
@@ -68,7 +44,7 @@ var ConsentService;
68
44
  */
69
45
  function acceptScopeConsent(options) {
70
46
  var _serviceURL = window.webAuthSettings.authority + "/consent-management-srv/consent/scope/accept";
71
- return Helper_1.Helper.createPostPromise(options, _serviceURL, false);
47
+ return Helper_1.Helper.createPostPromise(options, _serviceURL, false, "POST");
72
48
  }
73
49
  ConsentService.acceptScopeConsent = acceptScopeConsent;
74
50
  ;
@@ -79,7 +55,7 @@ var ConsentService;
79
55
  */
80
56
  function acceptClaimConsent(options) {
81
57
  var _serviceURL = window.webAuthSettings.authority + "/consent-management-srv/consent/claim/accept";
82
- return Helper_1.Helper.createPostPromise(options, _serviceURL, false);
58
+ return Helper_1.Helper.createPostPromise(options, _serviceURL, false, "POST");
83
59
  }
84
60
  ConsentService.acceptClaimConsent = acceptClaimConsent;
85
61
  ;
@@ -90,7 +66,7 @@ var ConsentService;
90
66
  */
91
67
  function revokeClaimConsent(options) {
92
68
  var _serviceURL = window.webAuthSettings.authority + "/consent-management-srv/consent/claim/revoke";
93
- return Helper_1.Helper.createPostPromise(options, _serviceURL, false);
69
+ return Helper_1.Helper.createPostPromise(options, _serviceURL, false, "POST");
94
70
  }
95
71
  ConsentService.revokeClaimConsent = revokeClaimConsent;
96
72
  ;