@opencampus/ocid-connect-js 1.1.2 → 1.2.1

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.
@@ -541,18 +541,20 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
541
541
 
542
542
 
543
543
  var OCAuthCore = /*#__PURE__*/function () {
544
- function OCAuthCore(loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode) {
544
+ function OCAuthCore(loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode, logoutEndPoint) {
545
545
  _classCallCheck(this, OCAuthCore);
546
546
  _defineProperty(this, "tokenManager", void 0);
547
547
  _defineProperty(this, "authInfoManager", void 0);
548
548
  _defineProperty(this, "transactionManager", void 0);
549
549
  _defineProperty(this, "redirectUri", void 0);
550
550
  _defineProperty(this, "loginEndPoint", void 0);
551
+ _defineProperty(this, "logoutEndPoint", void 0);
551
552
  _defineProperty(this, "referralCode", void 0);
552
553
  this.transactionManager = transactionManager;
553
554
  this.tokenManager = tokenManager;
554
555
  this.authInfoManager = new _lib_AuthInfoManager__WEBPACK_IMPORTED_MODULE_0__["default"]();
555
556
  this.loginEndPoint = loginEndpoint;
557
+ this.logoutEndPoint = logoutEndPoint;
556
558
  this.redirectUri = redirectUri;
557
559
  this.referralCode = referralCode;
558
560
  this.syncAuthInfo();
@@ -564,21 +566,43 @@ var OCAuthCore = /*#__PURE__*/function () {
564
566
  this.tokenManager.clear();
565
567
  }
566
568
  }, {
567
- key: "signInWithRedirect",
569
+ key: "logout",
568
570
  value: function () {
569
- var _signInWithRedirect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
570
- var paramsClone, signinParams, meta, requestUrl;
571
+ var _logout = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
572
+ var requestUrl;
571
573
  return _regeneratorRuntime().wrap(function _callee$(_context) {
572
574
  while (1) switch (_context.prev = _context.next) {
575
+ case 0:
576
+ this.clearStorage();
577
+ requestUrl = this.logoutEndPoint;
578
+ window.location.assign(requestUrl);
579
+ case 3:
580
+ case "end":
581
+ return _context.stop();
582
+ }
583
+ }, _callee, this);
584
+ }));
585
+ function logout() {
586
+ return _logout.apply(this, arguments);
587
+ }
588
+ return logout;
589
+ }()
590
+ }, {
591
+ key: "signInWithRedirect",
592
+ value: function () {
593
+ var _signInWithRedirect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
594
+ var paramsClone, signinParams, meta, requestUrl;
595
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
596
+ while (1) switch (_context2.prev = _context2.next) {
573
597
  case 0:
574
598
  // we use ONLY code flow with PKCE, so lacks a lot of options
575
599
  // available in other OAuth SDKs.
576
600
  paramsClone = Object.assign({}, params);
577
601
  paramsClone.redirectUri = this.redirectUri;
578
- _context.next = 4;
602
+ _context2.next = 4;
579
603
  return Object(_utils__WEBPACK_IMPORTED_MODULE_4__["prepareTokenParams"])(paramsClone);
580
604
  case 4:
581
- signinParams = _context.sent;
605
+ signinParams = _context2.sent;
582
606
  meta = Object(_utils__WEBPACK_IMPORTED_MODULE_4__["createPkceMeta"])(signinParams);
583
607
  this.transactionManager.save(meta);
584
608
  signinParams.referralCode = this.referralCode;
@@ -586,9 +610,9 @@ var OCAuthCore = /*#__PURE__*/function () {
586
610
  window.location.assign(requestUrl);
587
611
  case 10:
588
612
  case "end":
589
- return _context.stop();
613
+ return _context2.stop();
590
614
  }
591
- }, _callee, this);
615
+ }, _callee2, this);
592
616
  }));
593
617
  function signInWithRedirect(_x) {
594
618
  return _signInWithRedirect.apply(this, arguments);
@@ -598,38 +622,38 @@ var OCAuthCore = /*#__PURE__*/function () {
598
622
  }, {
599
623
  key: "handleLoginRedirect",
600
624
  value: function () {
601
- var _handleLoginRedirect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
625
+ var _handleLoginRedirect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
602
626
  var urlParams, meta, codeVerifier;
603
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
604
- while (1) switch (_context2.prev = _context2.next) {
627
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
628
+ while (1) switch (_context3.prev = _context3.next) {
605
629
  case 0:
606
630
  urlParams = Object(_utils__WEBPACK_IMPORTED_MODULE_4__["parseUrl"])(); // Again we only handle PKCE code flow
607
631
  if (!urlParams.code) {
608
- _context2.next = 13;
632
+ _context3.next = 13;
609
633
  break;
610
634
  }
611
635
  meta = this.transactionManager.getTransactionMeta();
612
636
  codeVerifier = meta.codeVerifier;
613
637
  if (!codeVerifier) {
614
- _context2.next = 12;
638
+ _context3.next = 12;
615
639
  break;
616
640
  }
617
- _context2.next = 7;
641
+ _context3.next = 7;
618
642
  return this.tokenManager.exchangeTokenFromCode(urlParams.code, codeVerifier);
619
643
  case 7:
620
644
  // clear transaction meta, coz it's completed
621
645
  this.transactionManager.clear();
622
646
  this.syncAuthInfo();
623
- return _context2.abrupt("return", this.getAuthState());
647
+ return _context3.abrupt("return", this.getAuthState());
624
648
  case 12:
625
649
  throw new _utils_errors__WEBPACK_IMPORTED_MODULE_6__["AuthError"]('codeVerifier not found, cannot complete flow');
626
650
  case 13:
627
- return _context2.abrupt("return", {});
651
+ return _context3.abrupt("return", {});
628
652
  case 14:
629
653
  case "end":
630
- return _context2.stop();
654
+ return _context3.stop();
631
655
  }
632
- }, _callee2, this);
656
+ }, _callee3, this);
633
657
  }));
634
658
  function handleLoginRedirect() {
635
659
  return _handleLoginRedirect.apply(this, arguments);
@@ -648,10 +672,9 @@ var OCAuthCore = /*#__PURE__*/function () {
648
672
  if (this.tokenManager.hasExpired()) {
649
673
  this.authInfoManager.clear();
650
674
  } else {
651
- var idToken = this.tokenManager.getIdToken();
652
- var _parseJwt = Object(_utils__WEBPACK_IMPORTED_MODULE_4__["parseJwt"])(idToken),
653
- edu_username = _parseJwt.edu_username,
654
- eth_address = _parseJwt.eth_address;
675
+ var _this$getParsedIdToke = this.getParsedIdToken(),
676
+ edu_username = _this$getParsedIdToke.edu_username,
677
+ eth_address = _this$getParsedIdToke.eth_address;
655
678
  this.authInfoManager.setIdInfo({
656
679
  edu_username: edu_username,
657
680
  eth_address: eth_address
@@ -683,6 +706,26 @@ var OCAuthCore = /*#__PURE__*/function () {
683
706
  value: function getAccessToken() {
684
707
  return this.tokenManager.getAccessToken();
685
708
  }
709
+ }, {
710
+ key: "getParsedIdToken",
711
+ value: function getParsedIdToken() {
712
+ // return all info in id token
713
+ var idToken = this.tokenManager.getIdToken();
714
+ if (idToken) {
715
+ return Object(_utils__WEBPACK_IMPORTED_MODULE_4__["parseJwt"])(idToken);
716
+ }
717
+ return {};
718
+ }
719
+ }, {
720
+ key: "getParsedAccessToken",
721
+ value: function getParsedAccessToken() {
722
+ // return all info in access token
723
+ var accessToken = this.tokenManager.getAccessToken();
724
+ if (accessToken) {
725
+ return Object(_utils__WEBPACK_IMPORTED_MODULE_4__["parseJwt"])(accessToken);
726
+ }
727
+ return {};
728
+ }
686
729
  }]);
687
730
  }();
688
731
  var LIVE_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBIDHtLbgVM76SXZ4iuIjuO+ERQPnVpJzagOsZdYxFG3ZJmvfdpr/Z29SLUbdZWafrOlAVlKe1Ovf/tcH671tTw==';
@@ -693,16 +736,18 @@ var OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
693
736
  _classCallCheck(this, OCAuthLive);
694
737
  var overrideTokenEndpoint = opts.tokenEndPoint,
695
738
  overrideLoginEndpoint = opts.loginEndPoint,
739
+ overrideLogoutEndpoint = opts.logoutEndPoint,
696
740
  overridePublicKey = opts.publicKey,
697
741
  redirectUri = opts.redirectUri,
698
742
  referralCode = opts.referralCode;
699
743
  var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';
700
744
  var loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';
745
+ var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.opencampus.xyz/auth/logout';
701
746
  var publicKey = overridePublicKey || LIVE_PUBLIC_KEY;
702
747
  var storageClass = Object(_lib_StorageManager__WEBPACK_IMPORTED_MODULE_3__["getStorageClass"])(opts);
703
748
  var pkceTransactionManager = new _lib_TransactionManager__WEBPACK_IMPORTED_MODULE_2__["default"](storageClass);
704
749
  var tokenManager = new _lib_TokenManager__WEBPACK_IMPORTED_MODULE_1__["default"](storageClass, tokenEndpoint, publicKey);
705
- return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode]);
750
+ return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
706
751
  }
707
752
  _inherits(OCAuthLive, _OCAuthCore2);
708
753
  return _createClass(OCAuthLive);
@@ -713,16 +758,18 @@ var OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3) {
713
758
  _classCallCheck(this, OCAuthSandbox);
714
759
  var overrideTokenEndpoint = opts.tokenEndPoint,
715
760
  overrideLoginEndpoint = opts.loginEndPoint,
761
+ overrideLogoutEndpoint = opts.logoutEndPoint,
716
762
  overridePublicKey = opts.publicKey,
717
763
  redirectUri = opts.redirectUri,
718
764
  referralCode = opts.referralCode;
719
765
  var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';
720
766
  var loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';
767
+ var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/logout';
721
768
  var publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;
722
769
  var storageClass = Object(_lib_StorageManager__WEBPACK_IMPORTED_MODULE_3__["getStorageClass"])(opts);
723
770
  var pkceTransactionManager = new _lib_TransactionManager__WEBPACK_IMPORTED_MODULE_2__["default"](storageClass);
724
771
  var tokenManager = new _lib_TokenManager__WEBPACK_IMPORTED_MODULE_1__["default"](storageClass, tokenEndpoint, publicKey);
725
- return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode]);
772
+ return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
726
773
  }
727
774
  _inherits(OCAuthSandbox, _OCAuthCore3);
728
775
  return _createClass(OCAuthSandbox);
@@ -1696,13 +1743,17 @@ var CookieStorageProvider = /*#__PURE__*/function () {
1696
1743
  value: function setItem(key, value) {
1697
1744
  return js_cookie__WEBPACK_IMPORTED_MODULE_0___default.a.set(key, value, {
1698
1745
  expires: 365,
1746
+ path: '/',
1699
1747
  domain: this.domain
1700
1748
  });
1701
1749
  }
1702
1750
  }, {
1703
1751
  key: "removeItem",
1704
1752
  value: function removeItem(key) {
1705
- return js_cookie__WEBPACK_IMPORTED_MODULE_0___default.a.remove(key);
1753
+ return js_cookie__WEBPACK_IMPORTED_MODULE_0___default.a.remove(key, {
1754
+ path: '/',
1755
+ domain: this.domain
1756
+ });
1706
1757
  }
1707
1758
  }]);
1708
1759
  }();