@opencampus/ocid-connect-js 1.1.2 → 1.2.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/ocid-connect-js.js
CHANGED
|
@@ -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: "
|
|
569
|
+
key: "logout",
|
|
568
570
|
value: function () {
|
|
569
|
-
var
|
|
570
|
-
var
|
|
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
|
-
|
|
602
|
+
_context2.next = 4;
|
|
579
603
|
return Object(_utils__WEBPACK_IMPORTED_MODULE_4__["prepareTokenParams"])(paramsClone);
|
|
580
604
|
case 4:
|
|
581
|
-
signinParams =
|
|
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
|
|
613
|
+
return _context2.stop();
|
|
590
614
|
}
|
|
591
|
-
},
|
|
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
|
|
625
|
+
var _handleLoginRedirect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
602
626
|
var urlParams, meta, codeVerifier;
|
|
603
|
-
return _regeneratorRuntime().wrap(function
|
|
604
|
-
while (1) switch (
|
|
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
|
-
|
|
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
|
-
|
|
638
|
+
_context3.next = 12;
|
|
615
639
|
break;
|
|
616
640
|
}
|
|
617
|
-
|
|
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
|
|
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
|
|
651
|
+
return _context3.abrupt("return", {});
|
|
628
652
|
case 14:
|
|
629
653
|
case "end":
|
|
630
|
-
return
|
|
654
|
+
return _context3.stop();
|
|
631
655
|
}
|
|
632
|
-
},
|
|
656
|
+
}, _callee3, this);
|
|
633
657
|
}));
|
|
634
658
|
function handleLoginRedirect() {
|
|
635
659
|
return _handleLoginRedirect.apply(this, arguments);
|
|
@@ -693,16 +717,18 @@ var OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
|
|
|
693
717
|
_classCallCheck(this, OCAuthLive);
|
|
694
718
|
var overrideTokenEndpoint = opts.tokenEndPoint,
|
|
695
719
|
overrideLoginEndpoint = opts.loginEndPoint,
|
|
720
|
+
overrideLogoutEndpoint = opts.logoutEndPoint,
|
|
696
721
|
overridePublicKey = opts.publicKey,
|
|
697
722
|
redirectUri = opts.redirectUri,
|
|
698
723
|
referralCode = opts.referralCode;
|
|
699
724
|
var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';
|
|
700
725
|
var loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';
|
|
726
|
+
var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.opencampus.xyz/auth/logout';
|
|
701
727
|
var publicKey = overridePublicKey || LIVE_PUBLIC_KEY;
|
|
702
728
|
var storageClass = Object(_lib_StorageManager__WEBPACK_IMPORTED_MODULE_3__["getStorageClass"])(opts);
|
|
703
729
|
var pkceTransactionManager = new _lib_TransactionManager__WEBPACK_IMPORTED_MODULE_2__["default"](storageClass);
|
|
704
730
|
var tokenManager = new _lib_TokenManager__WEBPACK_IMPORTED_MODULE_1__["default"](storageClass, tokenEndpoint, publicKey);
|
|
705
|
-
return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode]);
|
|
731
|
+
return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
|
|
706
732
|
}
|
|
707
733
|
_inherits(OCAuthLive, _OCAuthCore2);
|
|
708
734
|
return _createClass(OCAuthLive);
|
|
@@ -713,16 +739,18 @@ var OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3) {
|
|
|
713
739
|
_classCallCheck(this, OCAuthSandbox);
|
|
714
740
|
var overrideTokenEndpoint = opts.tokenEndPoint,
|
|
715
741
|
overrideLoginEndpoint = opts.loginEndPoint,
|
|
742
|
+
overrideLogoutEndpoint = opts.logoutEndPoint,
|
|
716
743
|
overridePublicKey = opts.publicKey,
|
|
717
744
|
redirectUri = opts.redirectUri,
|
|
718
745
|
referralCode = opts.referralCode;
|
|
719
746
|
var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';
|
|
720
747
|
var loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';
|
|
748
|
+
var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/logout';
|
|
721
749
|
var publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;
|
|
722
750
|
var storageClass = Object(_lib_StorageManager__WEBPACK_IMPORTED_MODULE_3__["getStorageClass"])(opts);
|
|
723
751
|
var pkceTransactionManager = new _lib_TransactionManager__WEBPACK_IMPORTED_MODULE_2__["default"](storageClass);
|
|
724
752
|
var tokenManager = new _lib_TokenManager__WEBPACK_IMPORTED_MODULE_1__["default"](storageClass, tokenEndpoint, publicKey);
|
|
725
|
-
return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode]);
|
|
753
|
+
return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
|
|
726
754
|
}
|
|
727
755
|
_inherits(OCAuthSandbox, _OCAuthCore3);
|
|
728
756
|
return _createClass(OCAuthSandbox);
|
|
@@ -1696,13 +1724,17 @@ var CookieStorageProvider = /*#__PURE__*/function () {
|
|
|
1696
1724
|
value: function setItem(key, value) {
|
|
1697
1725
|
return js_cookie__WEBPACK_IMPORTED_MODULE_0___default.a.set(key, value, {
|
|
1698
1726
|
expires: 365,
|
|
1727
|
+
path: '/',
|
|
1699
1728
|
domain: this.domain
|
|
1700
1729
|
});
|
|
1701
1730
|
}
|
|
1702
1731
|
}, {
|
|
1703
1732
|
key: "removeItem",
|
|
1704
1733
|
value: function removeItem(key) {
|
|
1705
|
-
return js_cookie__WEBPACK_IMPORTED_MODULE_0___default.a.remove(key
|
|
1734
|
+
return js_cookie__WEBPACK_IMPORTED_MODULE_0___default.a.remove(key, {
|
|
1735
|
+
path: '/',
|
|
1736
|
+
domain: this.domain
|
|
1737
|
+
});
|
|
1706
1738
|
}
|
|
1707
1739
|
}]);
|
|
1708
1740
|
}();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/webpack/bootstrap","webpack://Slider/./src/index.js","webpack://Slider/./src/react/index.js","webpack://Slider/./src/react/LoginButton.js","webpack://Slider/external {\"root\":\"react\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./src/react/OCContext.js","webpack://Slider/./src/react/LoginCallBack.js","webpack://Slider/./src/react/OCConnect.js","webpack://Slider/./src/sdk/auth.js","webpack://Slider/./src/sdk/lib/AuthInfoManager.js","webpack://Slider/./src/sdk/lib/TokenManager.js","webpack://Slider/./src/sdk/utils/index.js","webpack://Slider/./src/sdk/utils/urlParser.js","webpack://Slider/./src/sdk/utils/prepareTokenParams.js","webpack://Slider/./src/sdk/lib/pkce.js","webpack://Slider/./src/sdk/crypto/index.js","webpack://Slider/./src/sdk/crypto/webcrypto.js","webpack://Slider/./src/sdk/crypto/base64.js","webpack://Slider/./src/sdk/crypto/verifyToken.js","webpack://Slider/./src/sdk/utils/errors.js","webpack://Slider/./src/sdk/utils/createPkceMeta.js","webpack://Slider/./src/sdk/utils/jwtParser.js","webpack://Slider/./src/sdk/lib/TransactionManager.js","webpack://Slider/./src/sdk/lib/StorageManager.js","webpack://Slider/./src/sdk/lib/CookieStorageProvider.js","webpack://Slider/./node_modules/js-cookie/dist/js.cookie.js","webpack://Slider/./src/sdk/endpoints/index.js","webpack://Slider/./src/sdk/endpoints/buildAuthEndpointUrl.js","webpack://Slider/./src/sdk/index.js","webpack://Slider/./src/sdk/lib/index.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","lightTheme","background","color","button","border","colorSuccess","darkTheme","neutralTheme","ocBlueTheme","themes","light","dark","neutral","ocBlue","genStyle","theme","pill","undefined","display","alignItems","height","width","padding","fontSize","borderColor","borderRadius","LoginButton","_ref","disabled","_useOCAuth","useOCAuth","ocAuth","customTheme","loginWithRedirect","_ref2","_callee","_callee$","_context","signInWithRedirect","state","style","React","createElement","onClick","alt","src","marginLeft","OCContext","handledRedirect","LoginCallBack","successCallback","errorCallback","customErrorComponent","customLoadingComponent","authState","updateAuthState","useEffect","handleLogin","_authState","handleLoginRedirect","idToken","error","t0","message","OCConnect","children","opts","sandboxMode","_useState","useState","_useState2","_slicedToArray","setOcAuth","_useState3","isAuthenticated","_useState4","setAuthState","authSdk","OCAuthSandbox","OCAuthLive","getAuthState","accessToken","Provider","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","String","Number","OCAuthCore","loginEndpoint","redirectUri","transactionManager","tokenManager","referralCode","authInfoManager","AuthInfoManager","loginEndPoint","syncAuthInfo","clearStorage","clear","_signInWithRedirect","params","paramsClone","signinParams","meta","requestUrl","assign","prepareTokenParams","createPkceMeta","save","buildAuthEndpointUrl","window","location","_x","_handleLoginRedirect","_callee2","urlParams","codeVerifier","_callee2$","_context2","parseUrl","code","getTransactionMeta","exchangeTokenFromCode","AuthError","hasExpired","getIdToken","_parseJwt","parseJwt","edu_username","eth_address","setIdInfo","getAccessToken","getAuthInfo","LIVE_PUBLIC_KEY","SANDBOX_PUBLIC_KEY","_OCAuthCore2","overrideTokenEndpoint","tokenEndPoint","overrideLoginEndpoint","overridePublicKey","publicKey","tokenEndpoint","storageClass","getStorageClass","pkceTransactionManager","TransactionManager","TokenManager","_callSuper","_inherits","_OCAuthCore3","_idInfo","IdInfo","getIdInfoAttribute","attribute","TOKEN_STORAGE_NAME","StorageManagerClass","storageManager","getStorageObject","_exchangeTokenFromCode","accessCode","body","response","_yield$response$json","access_token","id_token","pubKey","tokenVerified","parsedAccessToken","fetch","headers","JSON","stringify","json","getPublicKey","verifyToken","setStorage","expired","exp","console","log","_x2","getItem","getExpiredAt","_getPublicKey","expiredAt","cur","Math","round","Date","valueOf","queryString","search","URLSearchParams","validParams","has","get","codeChallenge","tokenParams","InvalidParamsError","PKCE","generateVerifier","computeChallenge","codeChallengeMethod","DEFAULT_CODE_CHALLENGE_METHOD","scope","responseType","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","dec2hex","dec","toString","substr","getRandomString","Uint8Array","ceil","webcrypto","getRandomValues","str","Array","from","join","prefix","verifier","encodeURIComponent","buffer","TextEncoder","encode","subtle","digest","arrayBuffer","hash","fromCharCode","b64u","stringToBase64Url","atob","b","btoa","crypto","base64ToBase64Url","b64","replace","base64UrlToBase64","stringToBuffer","charCodeAt","base64UrlDecode","prepareKey","binaryDerString","format","algo","extractable","usages","preparedKey","cryptoKey","jwt","payload","b64Signature","signature","namedCurve","importKey","split","verify","InternalError","_Error","_wrapNativeSuper","_InternalError","_Error2","token","base64Url","base64","jsonPayload","decodeURIComponent","map","parse","TRANSACTION_STORAGE_NAME","getStorage","hasActiveTransaction","SavedObject","storageProvider","storageName","setItem","updateStorage","removeItem","storageString","obj","BaseStorageManager","LocalStorageManager","_BaseStorageManager2","localStorage","storageType","_BaseStorageManager3","CookieStorageManager","CookieStorageProvider","cookieDomain","domain","Cookies","set","expires","remove","signInParams","loginUrl","URL","searchParams","append","href"],"mappings":"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","file":"ocid-connect-js.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"react\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__3__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './react';\nexport * from './sdk';\n","export { default as LoginButton } from './LoginButton';\nexport { default as LoginCallBack } from './LoginCallBack';\nexport { default as OCConnect } from './OCConnect';\nexport * from './OCContext';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable react/no-unknown-property */\nimport React from 'react';\nimport { useOCAuth } from './OCContext';\n\nconst lightTheme = {\n background: \"#000\",\n color: \"#fff\",\n button: {\n background: \"#FFF\",\n border: \"#DDDDEB\",\n color: \"#C5C5D1\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst darkTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141414\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#ADADB8\",\n },\n};\n\nconst neutralTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#F5F5F5\",\n border: \"#DDDDEB\",\n color: \"#141414\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst ocBlueTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141BEB\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#9699EB\",\n },\n};\n\nconst themes = {\n light: lightTheme,\n dark: darkTheme,\n neutral: neutralTheme,\n ocBlue: ocBlueTheme,\n};\n\nconst genStyle = ( theme, pill = false ) =>\n( {\n display: \"flex\",\n alignItems: \"center\",\n height: 44,\n width: 160,\n padding: \"10px 12px\",\n fontSize: 14,\n border: \"1px solid\",\n borderColor: theme.button.border,\n borderRadius: pill ? 40 : 8,\n background: theme.button.background,\n color: theme.button.color\n} );\n\nexport default function LoginButton ( {\n pill,\n disabled,\n theme,\n} )\n{\n const { ocAuth } = useOCAuth();\n const customTheme = themes[ theme ] || themes[ 'ocBlue' ];\n\n const loginWithRedirect = async () =>\n {\n await ocAuth.signInWithRedirect( {\n state: 'opencampus',\n } );\n };\n\n const style = genStyle( customTheme, pill );\n\n return (\n <button\n disabled={ disabled }\n onClick={ loginWithRedirect }\n style={ style }\n >\n <img alt=\"logo\" src=\"https://static.opencampus.xyz/assets/oc_logo.svg\" width=\"26px\" height=\"25px\" />\n <span style={ { marginLeft: \"10px\" } }>Connect <strong>OCID</strong></span>\n </button>\n );\n}","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport * as React from 'react';\n\nexport const OCContext = React.createContext( null );\n\nexport const useOCAuth = () => React.useContext( OCContext );\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect } from 'react';\n\nimport { useOCAuth } from './OCContext';\n\nlet handledRedirect = false;\n\nconst LoginCallBack = ( { successCallback, errorCallback, customErrorComponent, customLoadingComponent } ) =>\n{\n const { ocAuth, authState, updateAuthState } = useOCAuth();\n\n useEffect( () =>\n {\n const handleLogin = async () =>\n {\n if ( ocAuth )\n {\n try\n {\n const authState = await ocAuth.handleLoginRedirect();\n if ( authState.idToken )\n {\n updateAuthState( authState );\n handledRedirect = true;\n successCallback();\n } else\n {\n updateAuthState( {\n error: 'missing idToken from redirect callback',\n } );\n if ( errorCallback )\n {\n errorCallback();\n }\n }\n } catch ( e )\n {\n updateAuthState( {\n error: e,\n } );\n if ( errorCallback )\n {\n errorCallback();\n }\n }\n }\n };\n if ( !handledRedirect )\n {\n handleLogin();\n }\n }, [ ocAuth ] );\n\n if ( authState.error !== undefined && !errorCallback )\n {\n return customErrorComponent ? customErrorComponent : <div>Error Logging in: { authState.error.message }</div>;\n } else\n {\n return customLoadingComponent ? customLoadingComponent : (\n <div>\n <h3>Loading ......</h3>\n </div>\n );\n }\n};\n\nexport default LoginCallBack;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect, useState } from 'react';\n\nimport { OCContext } from './OCContext';\nimport { OCAuthLive, OCAuthSandbox } from '../sdk/auth';\n\nconst OCConnect = ( { children, opts, sandboxMode } ) =>\n{\n const [ ocAuth, setOcAuth ] = useState( {} );\n const [ authState, setAuthState ] = useState( {\n isAuthenticated: false,\n } );\n\n useEffect( () =>\n {\n const authSdk = sandboxMode ? new OCAuthSandbox( opts ) : new OCAuthLive( opts );\n setOcAuth( authSdk );\n updateAuthState( authSdk.getAuthState() );\n }, [] );\n\n const updateAuthState = ( authState ) =>\n {\n const { accessToken, idToken, isAuthenticated, error } = authState;\n setAuthState( {\n accessToken,\n idToken,\n isAuthenticated,\n error,\n } );\n };\n\n return <OCContext.Provider value={ { ocAuth, authState, updateAuthState } }>{ children }</OCContext.Provider>;\n};\n\nexport default OCConnect;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport AuthInfoManager from './lib/AuthInfoManager';\nimport TokenManager from './lib/TokenManager';\nimport TransactionManager from './lib/TransactionManager';\nimport { getStorageClass } from './lib/StorageManager';\nimport { createPkceMeta, parseJwt, parseUrl, prepareTokenParams } from './utils';\nimport { buildAuthEndpointUrl } from './endpoints';\nimport { AuthError } from './utils/errors';\n\nexport class OCAuthCore\n{\n tokenManager;\n authInfoManager;\n transactionManager;\n redirectUri;\n loginEndPoint;\n referralCode;\n\n constructor ( loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode )\n {\n this.transactionManager = transactionManager;\n this.tokenManager = tokenManager;\n this.authInfoManager = new AuthInfoManager();\n this.loginEndPoint = loginEndpoint;\n this.redirectUri = redirectUri;\n this.referralCode = referralCode;\n this.syncAuthInfo();\n }\n\n clearStorage ()\n {\n this.transactionManager.clear();\n this.tokenManager.clear();\n }\n\n async signInWithRedirect ( params )\n {\n // we use ONLY code flow with PKCE, so lacks a lot of options\n // available in other OAuth SDKs.\n const paramsClone = Object.assign( {}, params );\n paramsClone.redirectUri = this.redirectUri;\n const signinParams = await prepareTokenParams( paramsClone );\n const meta = createPkceMeta( signinParams );\n this.transactionManager.save( meta );\n signinParams.referralCode = this.referralCode\n const requestUrl = buildAuthEndpointUrl( signinParams, this.loginEndPoint );\n window.location.assign( requestUrl );\n }\n\n async handleLoginRedirect ()\n {\n const urlParams = parseUrl();\n // Again we only handle PKCE code flow\n if ( urlParams.code )\n {\n const meta = this.transactionManager.getTransactionMeta();\n const { codeVerifier } = meta;\n if ( codeVerifier )\n {\n // we used pkce mode, use it\n await this.tokenManager.exchangeTokenFromCode( urlParams.code, codeVerifier );\n // clear transaction meta, coz it's completed\n this.transactionManager.clear();\n this.syncAuthInfo();\n return this.getAuthState();\n } else\n {\n throw new AuthError( 'codeVerifier not found, cannot complete flow' );\n }\n }\n\n // no code found, nothing to do \n return {};\n }\n\n isAuthenticated ()\n {\n // if both token exist and not expired\n return !this.tokenManager.hasExpired();\n }\n\n syncAuthInfo ()\n {\n if ( this.tokenManager.hasExpired() )\n {\n this.authInfoManager.clear();\n } else\n {\n const idToken = this.tokenManager.getIdToken();\n const { edu_username, eth_address } = parseJwt( idToken );\n this.authInfoManager.setIdInfo( {\n edu_username,\n eth_address,\n } );\n }\n }\n\n getAuthState ()\n {\n const authState = {\n accessToken: this.getAccessToken(),\n idToken: this.getIdToken(),\n isAuthenticated: this.isAuthenticated(),\n };\n\n return authState;\n }\n\n getAuthInfo ()\n {\n return this.authInfoManager.getAuthInfo();\n }\n\n getIdToken ()\n {\n return this.tokenManager.getIdToken();\n }\n\n getAccessToken ()\n {\n return this.tokenManager.getAccessToken();\n }\n}\n\nconst LIVE_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBIDHtLbgVM76SXZ4iuIjuO+ERQPnVpJzagOsZdYxFG3ZJmvfdpr/Z29SLUbdZWafrOlAVlKe1Ovf/tcH671tTw==';\nconst SANDBOX_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/EymMLXd/MVYPK5r2xXQj91ZVvX3OQ+QagvR2N6lCvRVjnzmOtPRTf+u5g1RliWnmuxbV3gTm0/0VuV/40Salg==';\nexport class OCAuthLive extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n referralCode\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';\n const publicKey = overridePublicKey || LIVE_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode);\n }\n}\n\nexport class OCAuthSandbox extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n referralCode,\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';\n const publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode);\n }\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nclass AuthInfoManager\n{\n _idInfo;\n\n constructor ()\n {\n this._authState = null;\n this._idInfo = null;\n }\n\n setIdInfo ( IdInfo )\n {\n this._idInfo = Object.assign( {}, IdInfo );\n }\n\n getIdInfoAttribute ( attribute )\n {\n if ( this._idInfo === null )\n {\n return undefined;\n }\n\n return this._idInfo[ attribute ];\n }\n\n getAuthInfo ()\n {\n return Object.assign( {}, this._idInfo );\n }\n\n clear ()\n {\n this._idInfo = null;\n }\n}\n\nexport default AuthInfoManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// import StorageManager from './StorageManager';\nimport { parseJwt } from '../utils';\nimport { verifyToken } from '../crypto';\nimport { AuthError } from '../utils/errors';\n\nconst TOKEN_STORAGE_NAME = 'oc-token-storage';\n\nclass TokenManager\n{\n storageManager;\n tokenExpiredAt;\n tokenEndPoint;\n publicKey;\n\n constructor ( StorageManagerClass, tokenEndPoint, publicKey )\n {\n this.storageManager = new StorageManagerClass( TOKEN_STORAGE_NAME );\n this.tokenEndPoint = tokenEndPoint;\n this.publicKey = publicKey;\n }\n\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n async exchangeTokenFromCode ( accessCode, codeVerifier )\n {\n const body = { accessCode, codeVerifier };\n try\n {\n const response = await fetch( this.tokenEndPoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify( body ),\n } );\n\n const { access_token, id_token } = await response.json();\n if ( !access_token || !id_token )\n {\n throw new AuthError( 'Fail to exchange token' );\n }\n const pubKey = await this.getPublicKey();\n const tokenVerified = await verifyToken( id_token, pubKey );\n if ( !tokenVerified )\n {\n throw new AuthError( 'Unable to verify token' );\n }\n const parsedAccessToken = parseJwt( access_token );\n this.storageManager.getStorageObject().setStorage( {\n access_token,\n id_token,\n expired: parsedAccessToken.exp,\n } );\n } catch ( error )\n {\n console.log( error );\n throw new AuthError( 'Token acquisition failed' );\n }\n }\n\n getIdToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'id_token' );\n }\n\n getAccessToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'access_token' );\n }\n\n getExpiredAt () \n {\n return this.storageManager.getStorageObject().getItem( 'expired' );\n }\n\n async getPublicKey () \n {\n return this.publicKey;\n }\n\n hasExpired ()\n {\n const expiredAt = this.getExpiredAt();\n if ( !expiredAt )\n {\n return true;\n }\n const cur = Math.round( new Date().valueOf() / 1000 );\n\n return cur >= expiredAt;\n }\n}\n\nexport default TokenManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './urlParser';\nexport * from './prepareTokenParams';\nexport * from './createPkceMeta';\nexport * from './jwtParser';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const parseUrl = () => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const validParams = {};\n\n if (urlParams.has('id_token')) validParams.id_token = urlParams.get('id_token');\n if (urlParams.has('code')) validParams.code = urlParams.get('code');\n if (urlParams.has('state')) validParams.state = urlParams.get('state');\n\n return validParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport PKCE from '../lib/pkce';\nimport { InvalidParamsError } from './errors';\n\nexport const prepareTokenParams = async (params) => {\n // prepare all the params needed for building the signin flow\n // mandatory redirect_uri, for now, we only allow user to set redirect_uri and state\n // again this is not a full on OIDC/OAuth flow allowing user to set all the options\n // we prepare all the rest\n const { redirectUri, state } = params;\n if (!redirectUri) {\n throw new InvalidParamsError(' No redirect uri params!');\n }\n\n // must be pkce\n const codeVerifier = PKCE.generateVerifier();\n const codeChallenge = await PKCE.computeChallenge(codeVerifier);\n\n // pack up the full set of token params needed\n const tokenParams = {\n redirectUri,\n codeVerifier,\n codeChallenge,\n codeChallengeMethod: PKCE.DEFAULT_CODE_CHALLENGE_METHOD,\n scope: 'openid',\n responseType: 'code',\n };\n\n // just filter out undefined and null, honor other falsy states\n if (state !== undefined && state !== null) {\n tokenParams.state = state;\n }\n\n return tokenParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable complexity, max-statements */\n\nimport { stringToBase64Url, webcrypto } from '../crypto';\n\nexport const MIN_VERIFIER_LENGTH = 43;\nexport const MAX_VERIFIER_LENGTH = 128;\nexport const DEFAULT_CODE_CHALLENGE_METHOD = 'S256';\n\nfunction dec2hex ( dec )\n{\n return ( '0' + dec.toString( 16 ) ).substr( -2 );\n}\n\nfunction getRandomString ( length )\n{\n var a = new Uint8Array( Math.ceil( length / 2 ) );\n webcrypto.getRandomValues( a );\n var str = Array.from( a, dec2hex ).join( '' );\n\n return str.slice( 0, length );\n}\n\nfunction generateVerifier ( prefix )\n{\n var verifier = prefix || '';\n if ( verifier.length < MIN_VERIFIER_LENGTH )\n {\n verifier = verifier + getRandomString( MIN_VERIFIER_LENGTH - verifier.length );\n }\n\n return encodeURIComponent( verifier ).slice( 0, MAX_VERIFIER_LENGTH );\n}\n\nfunction computeChallenge ( str )\n{\n var buffer = new TextEncoder().encode( str );\n\n return webcrypto.subtle.digest( 'SHA-256', buffer ).then( function ( arrayBuffer )\n {\n var hash = String.fromCharCode.apply( null, new Uint8Array( arrayBuffer ) );\n var b64u = stringToBase64Url( hash ); // url-safe base64 variant\n\n return b64u;\n } );\n}\n\nexport default {\n DEFAULT_CODE_CHALLENGE_METHOD,\n generateVerifier,\n computeChallenge,\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './webcrypto';\nexport * from './base64';\nexport * from './verifyToken';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// eslint-disable-next-line no-redeclare\nconst a = function ( str )\n{\n return window.atob( str );\n};\n// eslint-disable-next-line no-redeclare\nconst b = function ( str )\n{\n return window.btoa( str );\n};\n// eslint-disable-next-line no-redeclare\nconst c = typeof crypto === 'undefined' ? null : crypto;\n\nexport { a as atob, b as btoa, c as webcrypto };\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { atob, btoa } from './webcrypto';\n\n// converts a standard base64-encoded string to a \"url/filename safe\" variant\nexport function base64ToBase64Url ( b64 )\n{\n return b64.replace( /\\+/g, '-' ).replace( /\\//g, '_' ).replace( /=+$/, '' );\n}\n\n// converts a \"url/filename safe\" base64 string to a \"standard\" base64 string\nexport function base64UrlToBase64 ( b64u )\n{\n return b64u.replace( /-/g, '+' ).replace( /_/g, '/' );\n}\n\n// converts a string to base64 (url/filename safe variant)\nexport function stringToBase64Url ( str )\n{\n var b64 = btoa( str );\n\n return base64ToBase64Url( b64 );\n}\n\nexport function stringToBuffer ( str )\n{\n var buffer = new Uint8Array( str.length );\n for ( var i = 0; i < str.length; i++ )\n {\n buffer[ i ] = str.charCodeAt( i );\n }\n return buffer;\n}\n\nexport function base64UrlDecode ( str )\n{\n return atob( base64UrlToBase64( str ) );\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\nimport { stringToBuffer, base64UrlDecode } from './base64';\nimport { webcrypto, atob } from './webcrypto';\n\nconst prepareKey = key =>\n{\n const binaryDerString = atob( key );\n return stringToBuffer( binaryDerString );\n};\n\nexport const verifyToken = async ( idToken, key ) => \n{\n var format = 'spki';\n var algo = {\n name: 'ECDSA',\n namedCurve: 'P-256',\n hash: { name: \"SHA-256\" }\n };\n var extractable = true;\n var usages = [ 'verify' ];\n const preparedKey = prepareKey( key );\n const cryptoKey = await webcrypto.subtle.importKey(\n format,\n preparedKey,\n algo,\n extractable,\n usages\n );\n\n var jwt = idToken.split( '.' );\n var payload = stringToBuffer( jwt[ 0 ] + '.' + jwt[ 1 ] );\n var b64Signature = base64UrlDecode( jwt[ 2 ] );\n var signature = stringToBuffer( b64Signature );\n\n return await webcrypto.subtle.verify(\n algo,\n cryptoKey,\n signature,\n payload\n );\n}\n\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport class InternalError extends Error {}\nexport class InvalidParamsError extends InternalError {}\nexport class AuthError extends Error {}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { InvalidParamsError } from './errors';\n\nexport const createPkceMeta = (signinParams) => {\n // prepare the meta that needs to be persisted in storage\n // extracted from the signinParams\n const { codeChallenge, codeVerifier, codeChallengeMethod } = signinParams;\n if (!codeChallenge || !codeVerifier || !codeChallengeMethod) {\n throw new InvalidParamsError('codeChallenge, codeVerifier & codeChallengeMethod are required');\n }\n\n return {\n codeChallenge,\n codeVerifier,\n codeChallengeMethod,\n };\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nexport const parseJwt = ( token ) =>\n{\n var base64Url = token.split( '.' )[ 1 ];\n var base64 = base64Url.replace( /-/g, '+' ).replace( /_/g, '/' );\n var jsonPayload = decodeURIComponent(\n window\n .atob( base64 )\n .split( '' )\n .map( function ( c )\n {\n return '%' + ( '00' + c.charCodeAt( 0 ).toString( 16 ) ).slice( -2 );\n } )\n .join( '' )\n );\n\n return JSON.parse( jsonPayload );\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n// TransactionManager manages data that's stored over a \"transaction\"\n// of the login cycle\n// A transaction contains a few things that we want to carry over multiple\n// times interacting with the SDK\n// Currently just used for\n// codeChallenge, codeVerifier, codeChallengeMethod\n\nconst TRANSACTION_STORAGE_NAME = 'oc-transaction-storage';\n\nclass TransactionManager\n{\n storageManager;\n\n constructor ( StorageManagerClass )\n {\n this.storageManager = new StorageManagerClass( TRANSACTION_STORAGE_NAME );\n }\n\n // called when we start a new transaction\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n save ( meta )\n {\n this.storageManager.getStorageObject().setStorage( meta );\n }\n\n getTransactionMeta ()\n {\n return this.storageManager.getStorageObject().getStorage();\n }\n\n hasActiveTransaction ()\n {\n const meta = this.storageManager.getStorageObject();\n\n return !!meta.codeChallenge && !!meta.codeVerifier;\n }\n}\n\nexport default TransactionManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { InternalError } from \"../utils/errors\";\nimport { CookieStorageProvider } from \"./CookieStorageProvider\";\n\nclass SavedObject\n{\n storageProvider;\n storageName;\n\n constructor ( storageProvider, storageName )\n {\n this.storageProvider = storageProvider;\n this.storageName = storageName;\n }\n\n getItem ( key )\n {\n return this.getStorage()[ key ];\n }\n\n setItem ( key, value )\n {\n return this.updateStorage( key, value );\n }\n\n removeItem ( key )\n {\n return this.clearStorage( key );\n }\n\n getStorage ()\n {\n let storageString = this.storageProvider.getItem( this.storageName );\n storageString = storageString || '{}';\n try\n {\n return JSON.parse( storageString );\n } catch ( e )\n {\n throw new InternalError( 'Unable to parse storage string: ' + this.storageName );\n }\n }\n\n setStorage ( obj )\n {\n try\n {\n let storageString = obj ? JSON.stringify( obj ) : '{}';\n this.storageProvider.setItem( this.storageName, storageString );\n } catch ( e )\n {\n throw new Error( 'Unable to set storage: ' + this.storageName );\n }\n }\n\n clearStorage ( key )\n {\n if ( !key )\n {\n // clear all\n this.storageProvider.removeItem( this.storageName );\n\n return;\n }\n\n let obj = this.getStorage();\n delete obj[ key ];\n this.setStorage( obj );\n }\n\n updateStorage ( key, value )\n {\n let obj = this.getStorage();\n obj[ key ] = value;\n this.setStorage( obj );\n }\n}\n\nexport class BaseStorageManager\n{\n storageProvider;\n storageName;\n constructor ( storageName, storageProvider )\n {\n this.storageName = storageName;\n this.storageProvider = storageProvider;\n }\n\n getStorageObject ()\n {\n return new SavedObject( this.storageProvider, this.storageName );\n }\n}\n\nexport class LocalStorageManager extends BaseStorageManager\n{\n constructor ( storageName )\n {\n super( storageName, window.localStorage );\n }\n}\n\nexport const getStorageClass = (opts) => {\n // Only cookie support domain based storage\n if (opts.storageType === 'cookie') {\n return class CookieStorageManager extends BaseStorageManager {\n constructor ( storageName ) {\n super( storageName, new CookieStorageProvider(opts.cookieDomain) );\n }\n }\n } else { \n return LocalStorageManager;\n }\n}","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport Cookies from 'js-cookie';\n\n// Wrapper to support Cookie based storage\nexport class CookieStorageProvider {\n domain;\n\n constructor ( domain )\n {\n this.domain = domain;\n }\n getItem ( key )\n {\n return Cookies.get( key );\n }\n\n setItem ( key, value )\n {\n return Cookies.set( key, value, { expires: 365, domain: this.domain } );\n }\n\n removeItem ( key )\n {\n return Cookies.remove(key);\n }\n}\n","/*! js-cookie v3.0.5 | MIT */\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {\n var current = global.Cookies;\n var exports = global.Cookies = factory();\n exports.noConflict = function () { global.Cookies = current; return exports; };\n })());\n})(this, (function () { 'use strict';\n\n /* eslint-disable no-var */\n function assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n }\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n var defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n };\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n\n function init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n }\n\n var api = init(defaultConverter, { path: '/' });\n /* eslint-enable no-var */\n\n return api;\n\n}));\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './buildAuthEndpointUrl';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const buildAuthEndpointUrl = ( signInParams, loginEndPoint ) =>\n{\n const loginUrl = new URL( loginEndPoint );\n loginUrl.searchParams.append( 'origin_url', window.location.href );\n loginUrl.searchParams.append( 'redirect_uri', signInParams.redirectUri );\n loginUrl.searchParams.append( 'response_type', signInParams.responseType );\n loginUrl.searchParams.append( 'scope', signInParams.scope );\n\n // pkce params\n loginUrl.searchParams.append( 'code_challenge', signInParams.codeChallenge );\n loginUrl.searchParams.append( 'code_challenge_method', signInParams.codeChallengeMethod );\n\n // as long as it is defined we will use it\n if ( signInParams.state !== undefined )\n {\n loginUrl.searchParams.append( 'state', signInParams.state );\n }\n\n // reference data for register workflow\n if ( signInParams.referralCode )\n {\n loginUrl.searchParams.append( 'ref', signInParams.referralCode );\n }\n\n return loginUrl.href;\n};\n","export * from './lib';\nexport * from './auth';\n","export { default as TokenManager } from './TokenManager';\nexport { default as TransactionManager } from './TransactionManager';\nexport * from './StorageManager';"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/webpack/bootstrap","webpack://Slider/./src/index.js","webpack://Slider/./src/react/index.js","webpack://Slider/./src/react/LoginButton.js","webpack://Slider/external {\"root\":\"react\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./src/react/OCContext.js","webpack://Slider/./src/react/LoginCallBack.js","webpack://Slider/./src/react/OCConnect.js","webpack://Slider/./src/sdk/auth.js","webpack://Slider/./src/sdk/lib/AuthInfoManager.js","webpack://Slider/./src/sdk/lib/TokenManager.js","webpack://Slider/./src/sdk/utils/index.js","webpack://Slider/./src/sdk/utils/urlParser.js","webpack://Slider/./src/sdk/utils/prepareTokenParams.js","webpack://Slider/./src/sdk/lib/pkce.js","webpack://Slider/./src/sdk/crypto/index.js","webpack://Slider/./src/sdk/crypto/webcrypto.js","webpack://Slider/./src/sdk/crypto/base64.js","webpack://Slider/./src/sdk/crypto/verifyToken.js","webpack://Slider/./src/sdk/utils/errors.js","webpack://Slider/./src/sdk/utils/createPkceMeta.js","webpack://Slider/./src/sdk/utils/jwtParser.js","webpack://Slider/./src/sdk/lib/TransactionManager.js","webpack://Slider/./src/sdk/lib/StorageManager.js","webpack://Slider/./src/sdk/lib/CookieStorageProvider.js","webpack://Slider/./node_modules/js-cookie/dist/js.cookie.js","webpack://Slider/./src/sdk/endpoints/index.js","webpack://Slider/./src/sdk/endpoints/buildAuthEndpointUrl.js","webpack://Slider/./src/sdk/index.js","webpack://Slider/./src/sdk/lib/index.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","lightTheme","background","color","button","border","colorSuccess","darkTheme","neutralTheme","ocBlueTheme","themes","light","dark","neutral","ocBlue","genStyle","theme","pill","undefined","display","alignItems","height","width","padding","fontSize","borderColor","borderRadius","LoginButton","_ref","disabled","_useOCAuth","useOCAuth","ocAuth","customTheme","loginWithRedirect","_ref2","_callee","_callee$","_context","signInWithRedirect","state","style","React","createElement","onClick","alt","src","marginLeft","OCContext","handledRedirect","LoginCallBack","successCallback","errorCallback","customErrorComponent","customLoadingComponent","authState","updateAuthState","useEffect","handleLogin","_authState","handleLoginRedirect","idToken","error","t0","message","OCConnect","children","opts","sandboxMode","_useState","useState","_useState2","_slicedToArray","setOcAuth","_useState3","isAuthenticated","_useState4","setAuthState","authSdk","OCAuthSandbox","OCAuthLive","getAuthState","accessToken","Provider","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","String","Number","OCAuthCore","loginEndpoint","redirectUri","transactionManager","tokenManager","referralCode","logoutEndPoint","authInfoManager","AuthInfoManager","loginEndPoint","syncAuthInfo","clearStorage","clear","_logout","requestUrl","window","location","assign","logout","_signInWithRedirect","_callee2","params","paramsClone","signinParams","meta","_callee2$","_context2","prepareTokenParams","createPkceMeta","save","buildAuthEndpointUrl","_x","_handleLoginRedirect","_callee3","urlParams","codeVerifier","_callee3$","_context3","parseUrl","code","getTransactionMeta","exchangeTokenFromCode","AuthError","hasExpired","getIdToken","_parseJwt","parseJwt","edu_username","eth_address","setIdInfo","getAccessToken","getAuthInfo","LIVE_PUBLIC_KEY","SANDBOX_PUBLIC_KEY","_OCAuthCore2","overrideTokenEndpoint","tokenEndPoint","overrideLoginEndpoint","overrideLogoutEndpoint","overridePublicKey","publicKey","tokenEndpoint","logoutEndpoint","storageClass","getStorageClass","pkceTransactionManager","TransactionManager","TokenManager","_callSuper","_inherits","_OCAuthCore3","_idInfo","IdInfo","getIdInfoAttribute","attribute","TOKEN_STORAGE_NAME","StorageManagerClass","storageManager","getStorageObject","_exchangeTokenFromCode","accessCode","body","response","_yield$response$json","access_token","id_token","pubKey","tokenVerified","parsedAccessToken","fetch","headers","JSON","stringify","json","getPublicKey","verifyToken","setStorage","expired","exp","console","log","_x2","getItem","getExpiredAt","_getPublicKey","expiredAt","cur","Math","round","Date","valueOf","queryString","search","URLSearchParams","validParams","has","get","codeChallenge","tokenParams","InvalidParamsError","PKCE","generateVerifier","computeChallenge","codeChallengeMethod","DEFAULT_CODE_CHALLENGE_METHOD","scope","responseType","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","dec2hex","dec","toString","substr","getRandomString","Uint8Array","ceil","webcrypto","getRandomValues","str","Array","from","join","prefix","verifier","encodeURIComponent","buffer","TextEncoder","encode","subtle","digest","arrayBuffer","hash","fromCharCode","b64u","stringToBase64Url","atob","b","btoa","crypto","base64ToBase64Url","b64","replace","base64UrlToBase64","stringToBuffer","charCodeAt","base64UrlDecode","prepareKey","binaryDerString","format","algo","extractable","usages","preparedKey","cryptoKey","jwt","payload","b64Signature","signature","namedCurve","importKey","split","verify","InternalError","_Error","_wrapNativeSuper","_InternalError","_Error2","token","base64Url","base64","jsonPayload","decodeURIComponent","map","parse","TRANSACTION_STORAGE_NAME","getStorage","hasActiveTransaction","SavedObject","storageProvider","storageName","setItem","updateStorage","removeItem","storageString","obj","BaseStorageManager","LocalStorageManager","_BaseStorageManager2","localStorage","storageType","_BaseStorageManager3","CookieStorageManager","CookieStorageProvider","cookieDomain","domain","Cookies","set","expires","path","remove","signInParams","loginUrl","URL","searchParams","append","href"],"mappings":"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","file":"ocid-connect-js.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"react\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__3__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './react';\nexport * from './sdk';\n","export { default as LoginButton } from './LoginButton';\nexport { default as LoginCallBack } from './LoginCallBack';\nexport { default as OCConnect } from './OCConnect';\nexport * from './OCContext';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable react/no-unknown-property */\nimport React from 'react';\nimport { useOCAuth } from './OCContext';\n\nconst lightTheme = {\n background: \"#000\",\n color: \"#fff\",\n button: {\n background: \"#FFF\",\n border: \"#DDDDEB\",\n color: \"#C5C5D1\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst darkTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141414\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#ADADB8\",\n },\n};\n\nconst neutralTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#F5F5F5\",\n border: \"#DDDDEB\",\n color: \"#141414\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst ocBlueTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141BEB\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#9699EB\",\n },\n};\n\nconst themes = {\n light: lightTheme,\n dark: darkTheme,\n neutral: neutralTheme,\n ocBlue: ocBlueTheme,\n};\n\nconst genStyle = ( theme, pill = false ) =>\n( {\n display: \"flex\",\n alignItems: \"center\",\n height: 44,\n width: 160,\n padding: \"10px 12px\",\n fontSize: 14,\n border: \"1px solid\",\n borderColor: theme.button.border,\n borderRadius: pill ? 40 : 8,\n background: theme.button.background,\n color: theme.button.color\n} );\n\nexport default function LoginButton ( {\n pill,\n disabled,\n theme,\n} )\n{\n const { ocAuth } = useOCAuth();\n const customTheme = themes[ theme ] || themes[ 'ocBlue' ];\n\n const loginWithRedirect = async () =>\n {\n await ocAuth.signInWithRedirect( {\n state: 'opencampus',\n } );\n };\n\n const style = genStyle( customTheme, pill );\n\n return (\n <button\n disabled={ disabled }\n onClick={ loginWithRedirect }\n style={ style }\n >\n <img alt=\"logo\" src=\"https://static.opencampus.xyz/assets/oc_logo.svg\" width=\"26px\" height=\"25px\" />\n <span style={ { marginLeft: \"10px\" } }>Connect <strong>OCID</strong></span>\n </button>\n );\n}","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport * as React from 'react';\n\nexport const OCContext = React.createContext( null );\n\nexport const useOCAuth = () => React.useContext( OCContext );\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect } from 'react';\n\nimport { useOCAuth } from './OCContext';\n\nlet handledRedirect = false;\n\nconst LoginCallBack = ( { successCallback, errorCallback, customErrorComponent, customLoadingComponent } ) =>\n{\n const { ocAuth, authState, updateAuthState } = useOCAuth();\n\n useEffect( () =>\n {\n const handleLogin = async () =>\n {\n if ( ocAuth )\n {\n try\n {\n const authState = await ocAuth.handleLoginRedirect();\n if ( authState.idToken )\n {\n updateAuthState( authState );\n handledRedirect = true;\n successCallback();\n } else\n {\n updateAuthState( {\n error: 'missing idToken from redirect callback',\n } );\n if ( errorCallback )\n {\n errorCallback();\n }\n }\n } catch ( e )\n {\n updateAuthState( {\n error: e,\n } );\n if ( errorCallback )\n {\n errorCallback();\n }\n }\n }\n };\n if ( !handledRedirect )\n {\n handleLogin();\n }\n }, [ ocAuth ] );\n\n if ( authState.error !== undefined && !errorCallback )\n {\n return customErrorComponent ? customErrorComponent : <div>Error Logging in: { authState.error.message }</div>;\n } else\n {\n return customLoadingComponent ? customLoadingComponent : (\n <div>\n <h3>Loading ......</h3>\n </div>\n );\n }\n};\n\nexport default LoginCallBack;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect, useState } from 'react';\n\nimport { OCContext } from './OCContext';\nimport { OCAuthLive, OCAuthSandbox } from '../sdk/auth';\n\nconst OCConnect = ( { children, opts, sandboxMode } ) =>\n{\n const [ ocAuth, setOcAuth ] = useState( {} );\n const [ authState, setAuthState ] = useState( {\n isAuthenticated: false,\n } );\n\n useEffect( () =>\n {\n const authSdk = sandboxMode ? new OCAuthSandbox( opts ) : new OCAuthLive( opts );\n setOcAuth( authSdk );\n updateAuthState( authSdk.getAuthState() );\n }, [] );\n\n const updateAuthState = ( authState ) =>\n {\n const { accessToken, idToken, isAuthenticated, error } = authState;\n setAuthState( {\n accessToken,\n idToken,\n isAuthenticated,\n error,\n } );\n };\n\n return <OCContext.Provider value={ { ocAuth, authState, updateAuthState } }>{ children }</OCContext.Provider>;\n};\n\nexport default OCConnect;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport AuthInfoManager from './lib/AuthInfoManager';\nimport TokenManager from './lib/TokenManager';\nimport TransactionManager from './lib/TransactionManager';\nimport { getStorageClass } from './lib/StorageManager';\nimport { createPkceMeta, parseJwt, parseUrl, prepareTokenParams } from './utils';\nimport { buildAuthEndpointUrl } from './endpoints';\nimport { AuthError } from './utils/errors';\n\nexport class OCAuthCore\n{\n tokenManager;\n authInfoManager;\n transactionManager;\n redirectUri;\n loginEndPoint;\n logoutEndPoint;\n referralCode;\n\n constructor ( loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode, logoutEndPoint )\n {\n this.transactionManager = transactionManager;\n this.tokenManager = tokenManager;\n this.authInfoManager = new AuthInfoManager();\n this.loginEndPoint = loginEndpoint;\n this.logoutEndPoint = logoutEndPoint;\n this.redirectUri = redirectUri;\n this.referralCode = referralCode;\n this.syncAuthInfo();\n }\n\n clearStorage ()\n {\n this.transactionManager.clear();\n this.tokenManager.clear();\n }\n\n async logout ()\n {\n this.clearStorage();\n const requestUrl = this.logoutEndPoint;\n window.location.assign( requestUrl );\n }\n\n async signInWithRedirect ( params )\n {\n // we use ONLY code flow with PKCE, so lacks a lot of options\n // available in other OAuth SDKs.\n const paramsClone = Object.assign( {}, params );\n paramsClone.redirectUri = this.redirectUri;\n const signinParams = await prepareTokenParams( paramsClone );\n const meta = createPkceMeta( signinParams );\n this.transactionManager.save( meta );\n signinParams.referralCode = this.referralCode\n const requestUrl = buildAuthEndpointUrl( signinParams, this.loginEndPoint );\n window.location.assign( requestUrl );\n }\n\n async handleLoginRedirect ()\n {\n const urlParams = parseUrl();\n // Again we only handle PKCE code flow\n if ( urlParams.code )\n {\n const meta = this.transactionManager.getTransactionMeta();\n const { codeVerifier } = meta;\n if ( codeVerifier )\n {\n // we used pkce mode, use it\n await this.tokenManager.exchangeTokenFromCode( urlParams.code, codeVerifier );\n // clear transaction meta, coz it's completed\n this.transactionManager.clear();\n this.syncAuthInfo();\n return this.getAuthState();\n } else\n {\n throw new AuthError( 'codeVerifier not found, cannot complete flow' );\n }\n }\n\n // no code found, nothing to do \n return {};\n }\n\n isAuthenticated ()\n {\n // if both token exist and not expired\n return !this.tokenManager.hasExpired();\n }\n\n syncAuthInfo ()\n {\n if ( this.tokenManager.hasExpired() )\n {\n this.authInfoManager.clear();\n } else\n {\n const idToken = this.tokenManager.getIdToken();\n const { edu_username, eth_address } = parseJwt( idToken );\n this.authInfoManager.setIdInfo( {\n edu_username,\n eth_address,\n } );\n }\n }\n\n getAuthState ()\n {\n const authState = {\n accessToken: this.getAccessToken(),\n idToken: this.getIdToken(),\n isAuthenticated: this.isAuthenticated(),\n };\n\n return authState;\n }\n\n getAuthInfo ()\n {\n return this.authInfoManager.getAuthInfo();\n }\n\n getIdToken ()\n {\n return this.tokenManager.getIdToken();\n }\n\n getAccessToken ()\n {\n return this.tokenManager.getAccessToken();\n }\n}\n\nconst LIVE_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBIDHtLbgVM76SXZ4iuIjuO+ERQPnVpJzagOsZdYxFG3ZJmvfdpr/Z29SLUbdZWafrOlAVlKe1Ovf/tcH671tTw==';\nconst SANDBOX_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/EymMLXd/MVYPK5r2xXQj91ZVvX3OQ+QagvR2N6lCvRVjnzmOtPRTf+u5g1RliWnmuxbV3gTm0/0VuV/40Salg==';\nexport class OCAuthLive extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n logoutEndPoint: overrideLogoutEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n referralCode\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';\n const logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.opencampus.xyz/auth/logout';\n const publicKey = overridePublicKey || LIVE_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint);\n }\n}\n\nexport class OCAuthSandbox extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n logoutEndPoint: overrideLogoutEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n referralCode,\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';\n const logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/logout';\n const publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint);\n }\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nclass AuthInfoManager\n{\n _idInfo;\n\n constructor ()\n {\n this._authState = null;\n this._idInfo = null;\n }\n\n setIdInfo ( IdInfo )\n {\n this._idInfo = Object.assign( {}, IdInfo );\n }\n\n getIdInfoAttribute ( attribute )\n {\n if ( this._idInfo === null )\n {\n return undefined;\n }\n\n return this._idInfo[ attribute ];\n }\n\n getAuthInfo ()\n {\n return Object.assign( {}, this._idInfo );\n }\n\n clear ()\n {\n this._idInfo = null;\n }\n}\n\nexport default AuthInfoManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// import StorageManager from './StorageManager';\nimport { parseJwt } from '../utils';\nimport { verifyToken } from '../crypto';\nimport { AuthError } from '../utils/errors';\n\nconst TOKEN_STORAGE_NAME = 'oc-token-storage';\n\nclass TokenManager\n{\n storageManager;\n tokenExpiredAt;\n tokenEndPoint;\n publicKey;\n\n constructor ( StorageManagerClass, tokenEndPoint, publicKey )\n {\n this.storageManager = new StorageManagerClass( TOKEN_STORAGE_NAME );\n this.tokenEndPoint = tokenEndPoint;\n this.publicKey = publicKey;\n }\n\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n async exchangeTokenFromCode ( accessCode, codeVerifier )\n {\n const body = { accessCode, codeVerifier };\n try\n {\n const response = await fetch( this.tokenEndPoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify( body ),\n } );\n\n const { access_token, id_token } = await response.json();\n if ( !access_token || !id_token )\n {\n throw new AuthError( 'Fail to exchange token' );\n }\n const pubKey = await this.getPublicKey();\n const tokenVerified = await verifyToken( id_token, pubKey );\n if ( !tokenVerified )\n {\n throw new AuthError( 'Unable to verify token' );\n }\n const parsedAccessToken = parseJwt( access_token );\n this.storageManager.getStorageObject().setStorage( {\n access_token,\n id_token,\n expired: parsedAccessToken.exp,\n } );\n } catch ( error )\n {\n console.log( error );\n throw new AuthError( 'Token acquisition failed' );\n }\n }\n\n getIdToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'id_token' );\n }\n\n getAccessToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'access_token' );\n }\n\n getExpiredAt () \n {\n return this.storageManager.getStorageObject().getItem( 'expired' );\n }\n\n async getPublicKey () \n {\n return this.publicKey;\n }\n\n hasExpired ()\n {\n const expiredAt = this.getExpiredAt();\n if ( !expiredAt )\n {\n return true;\n }\n const cur = Math.round( new Date().valueOf() / 1000 );\n\n return cur >= expiredAt;\n }\n}\n\nexport default TokenManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './urlParser';\nexport * from './prepareTokenParams';\nexport * from './createPkceMeta';\nexport * from './jwtParser';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const parseUrl = () => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const validParams = {};\n\n if (urlParams.has('id_token')) validParams.id_token = urlParams.get('id_token');\n if (urlParams.has('code')) validParams.code = urlParams.get('code');\n if (urlParams.has('state')) validParams.state = urlParams.get('state');\n\n return validParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport PKCE from '../lib/pkce';\nimport { InvalidParamsError } from './errors';\n\nexport const prepareTokenParams = async (params) => {\n // prepare all the params needed for building the signin flow\n // mandatory redirect_uri, for now, we only allow user to set redirect_uri and state\n // again this is not a full on OIDC/OAuth flow allowing user to set all the options\n // we prepare all the rest\n const { redirectUri, state } = params;\n if (!redirectUri) {\n throw new InvalidParamsError(' No redirect uri params!');\n }\n\n // must be pkce\n const codeVerifier = PKCE.generateVerifier();\n const codeChallenge = await PKCE.computeChallenge(codeVerifier);\n\n // pack up the full set of token params needed\n const tokenParams = {\n redirectUri,\n codeVerifier,\n codeChallenge,\n codeChallengeMethod: PKCE.DEFAULT_CODE_CHALLENGE_METHOD,\n scope: 'openid',\n responseType: 'code',\n };\n\n // just filter out undefined and null, honor other falsy states\n if (state !== undefined && state !== null) {\n tokenParams.state = state;\n }\n\n return tokenParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable complexity, max-statements */\n\nimport { stringToBase64Url, webcrypto } from '../crypto';\n\nexport const MIN_VERIFIER_LENGTH = 43;\nexport const MAX_VERIFIER_LENGTH = 128;\nexport const DEFAULT_CODE_CHALLENGE_METHOD = 'S256';\n\nfunction dec2hex ( dec )\n{\n return ( '0' + dec.toString( 16 ) ).substr( -2 );\n}\n\nfunction getRandomString ( length )\n{\n var a = new Uint8Array( Math.ceil( length / 2 ) );\n webcrypto.getRandomValues( a );\n var str = Array.from( a, dec2hex ).join( '' );\n\n return str.slice( 0, length );\n}\n\nfunction generateVerifier ( prefix )\n{\n var verifier = prefix || '';\n if ( verifier.length < MIN_VERIFIER_LENGTH )\n {\n verifier = verifier + getRandomString( MIN_VERIFIER_LENGTH - verifier.length );\n }\n\n return encodeURIComponent( verifier ).slice( 0, MAX_VERIFIER_LENGTH );\n}\n\nfunction computeChallenge ( str )\n{\n var buffer = new TextEncoder().encode( str );\n\n return webcrypto.subtle.digest( 'SHA-256', buffer ).then( function ( arrayBuffer )\n {\n var hash = String.fromCharCode.apply( null, new Uint8Array( arrayBuffer ) );\n var b64u = stringToBase64Url( hash ); // url-safe base64 variant\n\n return b64u;\n } );\n}\n\nexport default {\n DEFAULT_CODE_CHALLENGE_METHOD,\n generateVerifier,\n computeChallenge,\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './webcrypto';\nexport * from './base64';\nexport * from './verifyToken';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// eslint-disable-next-line no-redeclare\nconst a = function ( str )\n{\n return window.atob( str );\n};\n// eslint-disable-next-line no-redeclare\nconst b = function ( str )\n{\n return window.btoa( str );\n};\n// eslint-disable-next-line no-redeclare\nconst c = typeof crypto === 'undefined' ? null : crypto;\n\nexport { a as atob, b as btoa, c as webcrypto };\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { atob, btoa } from './webcrypto';\n\n// converts a standard base64-encoded string to a \"url/filename safe\" variant\nexport function base64ToBase64Url ( b64 )\n{\n return b64.replace( /\\+/g, '-' ).replace( /\\//g, '_' ).replace( /=+$/, '' );\n}\n\n// converts a \"url/filename safe\" base64 string to a \"standard\" base64 string\nexport function base64UrlToBase64 ( b64u )\n{\n return b64u.replace( /-/g, '+' ).replace( /_/g, '/' );\n}\n\n// converts a string to base64 (url/filename safe variant)\nexport function stringToBase64Url ( str )\n{\n var b64 = btoa( str );\n\n return base64ToBase64Url( b64 );\n}\n\nexport function stringToBuffer ( str )\n{\n var buffer = new Uint8Array( str.length );\n for ( var i = 0; i < str.length; i++ )\n {\n buffer[ i ] = str.charCodeAt( i );\n }\n return buffer;\n}\n\nexport function base64UrlDecode ( str )\n{\n return atob( base64UrlToBase64( str ) );\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\nimport { stringToBuffer, base64UrlDecode } from './base64';\nimport { webcrypto, atob } from './webcrypto';\n\nconst prepareKey = key =>\n{\n const binaryDerString = atob( key );\n return stringToBuffer( binaryDerString );\n};\n\nexport const verifyToken = async ( idToken, key ) => \n{\n var format = 'spki';\n var algo = {\n name: 'ECDSA',\n namedCurve: 'P-256',\n hash: { name: \"SHA-256\" }\n };\n var extractable = true;\n var usages = [ 'verify' ];\n const preparedKey = prepareKey( key );\n const cryptoKey = await webcrypto.subtle.importKey(\n format,\n preparedKey,\n algo,\n extractable,\n usages\n );\n\n var jwt = idToken.split( '.' );\n var payload = stringToBuffer( jwt[ 0 ] + '.' + jwt[ 1 ] );\n var b64Signature = base64UrlDecode( jwt[ 2 ] );\n var signature = stringToBuffer( b64Signature );\n\n return await webcrypto.subtle.verify(\n algo,\n cryptoKey,\n signature,\n payload\n );\n}\n\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport class InternalError extends Error {}\nexport class InvalidParamsError extends InternalError {}\nexport class AuthError extends Error {}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { InvalidParamsError } from './errors';\n\nexport const createPkceMeta = (signinParams) => {\n // prepare the meta that needs to be persisted in storage\n // extracted from the signinParams\n const { codeChallenge, codeVerifier, codeChallengeMethod } = signinParams;\n if (!codeChallenge || !codeVerifier || !codeChallengeMethod) {\n throw new InvalidParamsError('codeChallenge, codeVerifier & codeChallengeMethod are required');\n }\n\n return {\n codeChallenge,\n codeVerifier,\n codeChallengeMethod,\n };\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nexport const parseJwt = ( token ) =>\n{\n var base64Url = token.split( '.' )[ 1 ];\n var base64 = base64Url.replace( /-/g, '+' ).replace( /_/g, '/' );\n var jsonPayload = decodeURIComponent(\n window\n .atob( base64 )\n .split( '' )\n .map( function ( c )\n {\n return '%' + ( '00' + c.charCodeAt( 0 ).toString( 16 ) ).slice( -2 );\n } )\n .join( '' )\n );\n\n return JSON.parse( jsonPayload );\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n// TransactionManager manages data that's stored over a \"transaction\"\n// of the login cycle\n// A transaction contains a few things that we want to carry over multiple\n// times interacting with the SDK\n// Currently just used for\n// codeChallenge, codeVerifier, codeChallengeMethod\n\nconst TRANSACTION_STORAGE_NAME = 'oc-transaction-storage';\n\nclass TransactionManager\n{\n storageManager;\n\n constructor ( StorageManagerClass )\n {\n this.storageManager = new StorageManagerClass( TRANSACTION_STORAGE_NAME );\n }\n\n // called when we start a new transaction\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n save ( meta )\n {\n this.storageManager.getStorageObject().setStorage( meta );\n }\n\n getTransactionMeta ()\n {\n return this.storageManager.getStorageObject().getStorage();\n }\n\n hasActiveTransaction ()\n {\n const meta = this.storageManager.getStorageObject();\n\n return !!meta.codeChallenge && !!meta.codeVerifier;\n }\n}\n\nexport default TransactionManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { InternalError } from \"../utils/errors\";\nimport { CookieStorageProvider } from \"./CookieStorageProvider\";\n\nclass SavedObject\n{\n storageProvider;\n storageName;\n\n constructor ( storageProvider, storageName )\n {\n this.storageProvider = storageProvider;\n this.storageName = storageName;\n }\n\n getItem ( key )\n {\n return this.getStorage()[ key ];\n }\n\n setItem ( key, value )\n {\n return this.updateStorage( key, value );\n }\n\n removeItem ( key )\n {\n return this.clearStorage( key );\n }\n\n getStorage ()\n {\n let storageString = this.storageProvider.getItem( this.storageName );\n storageString = storageString || '{}';\n try\n {\n return JSON.parse( storageString );\n } catch ( e )\n {\n throw new InternalError( 'Unable to parse storage string: ' + this.storageName );\n }\n }\n\n setStorage ( obj )\n {\n try\n {\n let storageString = obj ? JSON.stringify( obj ) : '{}';\n this.storageProvider.setItem( this.storageName, storageString );\n } catch ( e )\n {\n throw new Error( 'Unable to set storage: ' + this.storageName );\n }\n }\n\n clearStorage ( key )\n {\n if ( !key )\n {\n // clear all\n this.storageProvider.removeItem( this.storageName );\n\n return;\n }\n\n let obj = this.getStorage();\n delete obj[ key ];\n this.setStorage( obj );\n }\n\n updateStorage ( key, value )\n {\n let obj = this.getStorage();\n obj[ key ] = value;\n this.setStorage( obj );\n }\n}\n\nexport class BaseStorageManager\n{\n storageProvider;\n storageName;\n constructor ( storageName, storageProvider )\n {\n this.storageName = storageName;\n this.storageProvider = storageProvider;\n }\n\n getStorageObject ()\n {\n return new SavedObject( this.storageProvider, this.storageName );\n }\n}\n\nexport class LocalStorageManager extends BaseStorageManager\n{\n constructor ( storageName )\n {\n super( storageName, window.localStorage );\n }\n}\n\nexport const getStorageClass = (opts) => {\n // Only cookie support domain based storage\n if (opts.storageType === 'cookie') {\n return class CookieStorageManager extends BaseStorageManager {\n constructor ( storageName ) {\n super( storageName, new CookieStorageProvider(opts.cookieDomain) );\n }\n }\n } else { \n return LocalStorageManager;\n }\n}","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport Cookies from 'js-cookie';\n\n// Wrapper to support Cookie based storage\nexport class CookieStorageProvider {\n domain;\n\n constructor ( domain )\n {\n this.domain = domain;\n }\n getItem ( key )\n {\n return Cookies.get( key );\n }\n\n setItem ( key, value )\n {\n return Cookies.set( key, value, { expires: 365, path: '/', domain: this.domain } );\n }\n\n removeItem ( key )\n {\n return Cookies.remove(key, { path: '/', domain: this.domain });\n }\n}\n","/*! js-cookie v3.0.5 | MIT */\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {\n var current = global.Cookies;\n var exports = global.Cookies = factory();\n exports.noConflict = function () { global.Cookies = current; return exports; };\n })());\n})(this, (function () { 'use strict';\n\n /* eslint-disable no-var */\n function assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n }\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n var defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n };\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n\n function init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n }\n\n var api = init(defaultConverter, { path: '/' });\n /* eslint-enable no-var */\n\n return api;\n\n}));\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './buildAuthEndpointUrl';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const buildAuthEndpointUrl = ( signInParams, loginEndPoint ) =>\n{\n const loginUrl = new URL( loginEndPoint );\n loginUrl.searchParams.append( 'origin_url', window.location.href );\n loginUrl.searchParams.append( 'redirect_uri', signInParams.redirectUri );\n loginUrl.searchParams.append( 'response_type', signInParams.responseType );\n loginUrl.searchParams.append( 'scope', signInParams.scope );\n\n // pkce params\n loginUrl.searchParams.append( 'code_challenge', signInParams.codeChallenge );\n loginUrl.searchParams.append( 'code_challenge_method', signInParams.codeChallengeMethod );\n\n // as long as it is defined we will use it\n if ( signInParams.state !== undefined )\n {\n loginUrl.searchParams.append( 'state', signInParams.state );\n }\n\n // reference data for register workflow\n if ( signInParams.referralCode )\n {\n loginUrl.searchParams.append( 'ref', signInParams.referralCode );\n }\n\n return loginUrl.href;\n};\n","export * from './lib';\nexport * from './auth';\n","export { default as TokenManager } from './TokenManager';\nexport { default as TransactionManager } from './TransactionManager';\nexport * from './StorageManager';"],"sourceRoot":""}
|
package/lib/sdk/auth.js
CHANGED
|
@@ -38,18 +38,20 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
38
38
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
39
39
|
*/
|
|
40
40
|
var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
41
|
-
function OCAuthCore(loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode) {
|
|
41
|
+
function OCAuthCore(loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode, logoutEndPoint) {
|
|
42
42
|
_classCallCheck(this, OCAuthCore);
|
|
43
43
|
_defineProperty(this, "tokenManager", void 0);
|
|
44
44
|
_defineProperty(this, "authInfoManager", void 0);
|
|
45
45
|
_defineProperty(this, "transactionManager", void 0);
|
|
46
46
|
_defineProperty(this, "redirectUri", void 0);
|
|
47
47
|
_defineProperty(this, "loginEndPoint", void 0);
|
|
48
|
+
_defineProperty(this, "logoutEndPoint", void 0);
|
|
48
49
|
_defineProperty(this, "referralCode", void 0);
|
|
49
50
|
this.transactionManager = transactionManager;
|
|
50
51
|
this.tokenManager = tokenManager;
|
|
51
52
|
this.authInfoManager = new _AuthInfoManager["default"]();
|
|
52
53
|
this.loginEndPoint = loginEndpoint;
|
|
54
|
+
this.logoutEndPoint = logoutEndPoint;
|
|
53
55
|
this.redirectUri = redirectUri;
|
|
54
56
|
this.referralCode = referralCode;
|
|
55
57
|
this.syncAuthInfo();
|
|
@@ -61,21 +63,43 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
61
63
|
this.tokenManager.clear();
|
|
62
64
|
}
|
|
63
65
|
}, {
|
|
64
|
-
key: "
|
|
66
|
+
key: "logout",
|
|
65
67
|
value: function () {
|
|
66
|
-
var
|
|
67
|
-
var
|
|
68
|
+
var _logout = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
69
|
+
var requestUrl;
|
|
68
70
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
69
71
|
while (1) switch (_context.prev = _context.next) {
|
|
72
|
+
case 0:
|
|
73
|
+
this.clearStorage();
|
|
74
|
+
requestUrl = this.logoutEndPoint;
|
|
75
|
+
window.location.assign(requestUrl);
|
|
76
|
+
case 3:
|
|
77
|
+
case "end":
|
|
78
|
+
return _context.stop();
|
|
79
|
+
}
|
|
80
|
+
}, _callee, this);
|
|
81
|
+
}));
|
|
82
|
+
function logout() {
|
|
83
|
+
return _logout.apply(this, arguments);
|
|
84
|
+
}
|
|
85
|
+
return logout;
|
|
86
|
+
}()
|
|
87
|
+
}, {
|
|
88
|
+
key: "signInWithRedirect",
|
|
89
|
+
value: function () {
|
|
90
|
+
var _signInWithRedirect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
|
|
91
|
+
var paramsClone, signinParams, meta, requestUrl;
|
|
92
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
93
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
70
94
|
case 0:
|
|
71
95
|
// we use ONLY code flow with PKCE, so lacks a lot of options
|
|
72
96
|
// available in other OAuth SDKs.
|
|
73
97
|
paramsClone = Object.assign({}, params);
|
|
74
98
|
paramsClone.redirectUri = this.redirectUri;
|
|
75
|
-
|
|
99
|
+
_context2.next = 4;
|
|
76
100
|
return (0, _utils.prepareTokenParams)(paramsClone);
|
|
77
101
|
case 4:
|
|
78
|
-
signinParams =
|
|
102
|
+
signinParams = _context2.sent;
|
|
79
103
|
meta = (0, _utils.createPkceMeta)(signinParams);
|
|
80
104
|
this.transactionManager.save(meta);
|
|
81
105
|
signinParams.referralCode = this.referralCode;
|
|
@@ -83,9 +107,9 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
83
107
|
window.location.assign(requestUrl);
|
|
84
108
|
case 10:
|
|
85
109
|
case "end":
|
|
86
|
-
return
|
|
110
|
+
return _context2.stop();
|
|
87
111
|
}
|
|
88
|
-
},
|
|
112
|
+
}, _callee2, this);
|
|
89
113
|
}));
|
|
90
114
|
function signInWithRedirect(_x) {
|
|
91
115
|
return _signInWithRedirect.apply(this, arguments);
|
|
@@ -95,38 +119,38 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
95
119
|
}, {
|
|
96
120
|
key: "handleLoginRedirect",
|
|
97
121
|
value: function () {
|
|
98
|
-
var _handleLoginRedirect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
122
|
+
var _handleLoginRedirect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
99
123
|
var urlParams, meta, codeVerifier;
|
|
100
|
-
return _regeneratorRuntime().wrap(function
|
|
101
|
-
while (1) switch (
|
|
124
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
125
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
102
126
|
case 0:
|
|
103
127
|
urlParams = (0, _utils.parseUrl)(); // Again we only handle PKCE code flow
|
|
104
128
|
if (!urlParams.code) {
|
|
105
|
-
|
|
129
|
+
_context3.next = 13;
|
|
106
130
|
break;
|
|
107
131
|
}
|
|
108
132
|
meta = this.transactionManager.getTransactionMeta();
|
|
109
133
|
codeVerifier = meta.codeVerifier;
|
|
110
134
|
if (!codeVerifier) {
|
|
111
|
-
|
|
135
|
+
_context3.next = 12;
|
|
112
136
|
break;
|
|
113
137
|
}
|
|
114
|
-
|
|
138
|
+
_context3.next = 7;
|
|
115
139
|
return this.tokenManager.exchangeTokenFromCode(urlParams.code, codeVerifier);
|
|
116
140
|
case 7:
|
|
117
141
|
// clear transaction meta, coz it's completed
|
|
118
142
|
this.transactionManager.clear();
|
|
119
143
|
this.syncAuthInfo();
|
|
120
|
-
return
|
|
144
|
+
return _context3.abrupt("return", this.getAuthState());
|
|
121
145
|
case 12:
|
|
122
146
|
throw new _errors.AuthError('codeVerifier not found, cannot complete flow');
|
|
123
147
|
case 13:
|
|
124
|
-
return
|
|
148
|
+
return _context3.abrupt("return", {});
|
|
125
149
|
case 14:
|
|
126
150
|
case "end":
|
|
127
|
-
return
|
|
151
|
+
return _context3.stop();
|
|
128
152
|
}
|
|
129
|
-
},
|
|
153
|
+
}, _callee3, this);
|
|
130
154
|
}));
|
|
131
155
|
function handleLoginRedirect() {
|
|
132
156
|
return _handleLoginRedirect.apply(this, arguments);
|
|
@@ -190,16 +214,18 @@ var OCAuthLive = exports.OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
|
|
|
190
214
|
_classCallCheck(this, OCAuthLive);
|
|
191
215
|
var overrideTokenEndpoint = opts.tokenEndPoint,
|
|
192
216
|
overrideLoginEndpoint = opts.loginEndPoint,
|
|
217
|
+
overrideLogoutEndpoint = opts.logoutEndPoint,
|
|
193
218
|
overridePublicKey = opts.publicKey,
|
|
194
219
|
redirectUri = opts.redirectUri,
|
|
195
220
|
referralCode = opts.referralCode;
|
|
196
221
|
var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';
|
|
197
222
|
var loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';
|
|
223
|
+
var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.opencampus.xyz/auth/logout';
|
|
198
224
|
var publicKey = overridePublicKey || LIVE_PUBLIC_KEY;
|
|
199
225
|
var storageClass = (0, _StorageManager.getStorageClass)(opts);
|
|
200
226
|
var pkceTransactionManager = new _TransactionManager["default"](storageClass);
|
|
201
227
|
var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
|
|
202
|
-
return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode]);
|
|
228
|
+
return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
|
|
203
229
|
}
|
|
204
230
|
_inherits(OCAuthLive, _OCAuthCore2);
|
|
205
231
|
return _createClass(OCAuthLive);
|
|
@@ -210,16 +236,18 @@ var OCAuthSandbox = exports.OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3)
|
|
|
210
236
|
_classCallCheck(this, OCAuthSandbox);
|
|
211
237
|
var overrideTokenEndpoint = opts.tokenEndPoint,
|
|
212
238
|
overrideLoginEndpoint = opts.loginEndPoint,
|
|
239
|
+
overrideLogoutEndpoint = opts.logoutEndPoint,
|
|
213
240
|
overridePublicKey = opts.publicKey,
|
|
214
241
|
redirectUri = opts.redirectUri,
|
|
215
242
|
referralCode = opts.referralCode;
|
|
216
243
|
var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';
|
|
217
244
|
var loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';
|
|
245
|
+
var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/logout';
|
|
218
246
|
var publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;
|
|
219
247
|
var storageClass = (0, _StorageManager.getStorageClass)(opts);
|
|
220
248
|
var pkceTransactionManager = new _TransactionManager["default"](storageClass);
|
|
221
249
|
var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
|
|
222
|
-
return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode]);
|
|
250
|
+
return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
|
|
223
251
|
}
|
|
224
252
|
_inherits(OCAuthSandbox, _OCAuthCore3);
|
|
225
253
|
return _createClass(OCAuthSandbox);
|
|
@@ -38,13 +38,17 @@ var CookieStorageProvider = exports.CookieStorageProvider = /*#__PURE__*/functio
|
|
|
38
38
|
value: function setItem(key, value) {
|
|
39
39
|
return _jsCookie["default"].set(key, value, {
|
|
40
40
|
expires: 365,
|
|
41
|
+
path: '/',
|
|
41
42
|
domain: this.domain
|
|
42
43
|
});
|
|
43
44
|
}
|
|
44
45
|
}, {
|
|
45
46
|
key: "removeItem",
|
|
46
47
|
value: function removeItem(key) {
|
|
47
|
-
return _jsCookie["default"].remove(key
|
|
48
|
+
return _jsCookie["default"].remove(key, {
|
|
49
|
+
path: '/',
|
|
50
|
+
domain: this.domain
|
|
51
|
+
});
|
|
48
52
|
}
|
|
49
53
|
}]);
|
|
50
54
|
}();
|