@opencampus/ocid-connect-js 1.2.3 → 1.2.5

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/README.md CHANGED
@@ -104,15 +104,21 @@ export default function CustomLoadingComponent ()
104
104
  />
105
105
  ```
106
106
 
107
- Use useOCAuth hook to read credentials info
107
+ 1. useOCAuth is a hook that provides credentials (authentication information)
108
+ 2. Before using any information from this hook, we need to check isInitialized flag
109
+ 3. This is because there's a setup/initialization period where the SDK (software development kit) is getting ready
110
+
111
+ Here's an example of how it would work:
108
112
 
109
113
  ```js
110
114
  import { useOCAuth } from '@opencampus/ocid-connect-js';
111
115
 
112
116
  const UserTokenPage = (props) => {
113
- const { authState, ocAuth, OCId, ethAddress } = useOCAuth();
117
+ const { isInitialized, authState, ocAuth, OCId, ethAddress } = useOCAuth();
114
118
 
115
- if (authState.error !== undefined) {
119
+ if (!isInitialized) {
120
+ return <div>Loading...</div>;
121
+ } else if (authState.error !== undefined) {
116
122
  return <div>Error: {authState.error.message}</div>;
117
123
  } else {
118
124
  return (
@@ -283,10 +289,6 @@ import { useOCAuth } from '@opencampus/ocid-connect-js';
283
289
  export default function Home() {
284
290
  const { authState, ocAuth } = useOCAuth();
285
291
 
286
- useEffect(() => {
287
- console.log(authState);
288
- }, [authState]); // Now it will log whenever authState changes
289
-
290
292
  if (authState.error) {
291
293
  return <div>Error: {authState.error.message}</div>;
292
294
  }
@@ -358,6 +358,7 @@ var LoginCallBack = function LoginCallBack(_ref) {
358
358
  customErrorComponent = _ref.customErrorComponent,
359
359
  customLoadingComponent = _ref.customLoadingComponent;
360
360
  var _useOCAuth = Object(_OCContext__WEBPACK_IMPORTED_MODULE_1__["useOCAuth"])(),
361
+ isInitialized = _useOCAuth.isInitialized,
361
362
  ocAuth = _useOCAuth.ocAuth,
362
363
  authState = _useOCAuth.authState,
363
364
  setAuthError = _useOCAuth.setAuthError;
@@ -399,7 +400,7 @@ var LoginCallBack = function LoginCallBack(_ref) {
399
400
  handleLogin();
400
401
  }
401
402
  }, [ocAuth]);
402
- if (authState.error !== undefined && !errorCallback) {
403
+ if (isInitialized && authState.error !== undefined && !errorCallback) {
403
404
  return customErrorComponent ? customErrorComponent : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, "Error Logging in: ", authState.error.message);
404
405
  } else {
405
406
  return customLoadingComponent ? customLoadingComponent : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h3", null, "Loading ......"));
@@ -439,7 +440,7 @@ var OCConnect = function OCConnect(_ref) {
439
440
  var children = _ref.children,
440
441
  opts = _ref.opts,
441
442
  sandboxMode = _ref.sandboxMode;
442
- var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])({}),
443
+ var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(),
443
444
  _useState2 = _slicedToArray(_useState, 2),
444
445
  ocAuth = _useState2[0],
445
446
  setOcAuth = _useState2[1];
@@ -451,16 +452,18 @@ var OCConnect = function OCConnect(_ref) {
451
452
  _useState6 = _slicedToArray(_useState5, 2),
452
453
  ethAddress = _useState6[0],
453
454
  setEthAddress = _useState6[1];
454
- var _useState7 = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])({
455
- isAuthenticated: false
456
- }),
455
+ var _useState7 = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(),
457
456
  _useState8 = _slicedToArray(_useState7, 2),
458
457
  authState = _useState8[0],
459
458
  setAuthState = _useState8[1];
460
- var _useState9 = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(null),
459
+ var _useState9 = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(false),
461
460
  _useState10 = _slicedToArray(_useState9, 2),
462
- authError = _useState10[0],
463
- setAuthError = _useState10[1];
461
+ isInitialized = _useState10[0],
462
+ setIsInitialized = _useState10[1];
463
+ var _useState11 = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(null),
464
+ _useState12 = _slicedToArray(_useState11, 2),
465
+ authError = _useState12[0],
466
+ setAuthError = _useState12[1];
464
467
  var updateAuthState = function updateAuthState(authState) {
465
468
  setAuthState(authState);
466
469
  setOCId(authState.OCId);
@@ -472,9 +475,10 @@ var OCConnect = function OCConnect(_ref) {
472
475
  var authSdk = sandboxMode ? new _sdk_auth__WEBPACK_IMPORTED_MODULE_2__["OCAuthSandbox"](opts) : new _sdk_auth__WEBPACK_IMPORTED_MODULE_2__["OCAuthLive"](opts);
473
476
  updateAuthState(authSdk.getAuthState());
474
477
  setOcAuth(authSdk);
478
+ setIsInitialized(true);
475
479
  }, []);
476
480
  Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
477
- if (ocAuth.authInfoManager) {
481
+ if (ocAuth && ocAuth.authInfoManager) {
478
482
  // reactively recieve update on the authstate change
479
483
  ocAuth.authInfoManager.subscribe(updateAuthState);
480
484
  return function () {
@@ -489,6 +493,7 @@ var OCConnect = function OCConnect(_ref) {
489
493
  ocAuth: ocAuth,
490
494
  authState: authState,
491
495
  authError: authError,
496
+ isInitialized: isInitialized,
492
497
  setAuthError: setAuthError
493
498
  }
494
499
  }, children);
@@ -682,7 +687,7 @@ var OCAuthCore = /*#__PURE__*/function () {
682
687
  var _this$getParsedIdToke = this.getParsedIdToken(),
683
688
  edu_username = _this$getParsedIdToke.edu_username,
684
689
  eth_address = _this$getParsedIdToke.eth_address;
685
- this.authInfoManager.setAuthState(this.getAccessToken(), this.getIdToken(), edu_username, eth_address, this.isAuthenticated());
690
+ this.authInfoManager.setAuthState(this.getAccessToken(), this.getIdToken(), edu_username, eth_address, true);
686
691
  }
687
692
  }
688
693
  }, {
@@ -760,7 +765,7 @@ var OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
760
765
  var storageClass = Object(_lib_StorageManager__WEBPACK_IMPORTED_MODULE_3__["getStorageClass"])(opts);
761
766
  var pkceTransactionManager = new _lib_TransactionManager__WEBPACK_IMPORTED_MODULE_2__["default"](storageClass);
762
767
  var tokenManager = new _lib_TokenManager__WEBPACK_IMPORTED_MODULE_1__["default"](storageClass, tokenEndpoint, publicKey);
763
- return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
768
+ return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint, false]);
764
769
  }
765
770
  _inherits(OCAuthLive, _OCAuthCore2);
766
771
  return _createClass(OCAuthLive);
@@ -774,7 +779,8 @@ var OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3) {
774
779
  overrideLogoutEndpoint = opts.logoutEndPoint,
775
780
  overridePublicKey = opts.publicKey,
776
781
  redirectUri = opts.redirectUri,
777
- referralCode = opts.referralCode;
782
+ referralCode = opts.referralCode,
783
+ mode = opts.mode;
778
784
  var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';
779
785
  var loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';
780
786
  var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/logout';
@@ -782,7 +788,7 @@ var OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3) {
782
788
  var storageClass = Object(_lib_StorageManager__WEBPACK_IMPORTED_MODULE_3__["getStorageClass"])(opts);
783
789
  var pkceTransactionManager = new _lib_TransactionManager__WEBPACK_IMPORTED_MODULE_2__["default"](storageClass);
784
790
  var tokenManager = new _lib_TokenManager__WEBPACK_IMPORTED_MODULE_1__["default"](storageClass, tokenEndpoint, publicKey);
785
- return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
791
+ return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint, true]);
786
792
  }
787
793
  _inherits(OCAuthSandbox, _OCAuthCore3);
788
794
  return _createClass(OCAuthSandbox);
@@ -842,7 +848,10 @@ var AuthInfoManager = /*#__PURE__*/function () {
842
848
  }, {
843
849
  key: "clear",
844
850
  value: function clear() {
845
- this._authState = null;
851
+ this._authState = {
852
+ isAuthenticated: false
853
+ };
854
+ this._emitter.emit(EVENT_AUTH_STATE_CHANGE, this._authState);
846
855
  }
847
856
  }, {
848
857
  key: "subscribe",
@@ -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","setAuthError","useEffect","handleLogin","handleLoginRedirect","t0","error","message","OCConnect","children","opts","sandboxMode","_useState","useState","_useState2","_slicedToArray","setOcAuth","_useState3","_useState4","OCId","setOCId","_useState5","_useState6","ethAddress","setEthAddress","_useState7","isAuthenticated","_useState8","setAuthState","_useState9","_useState10","authError","updateAuthState","authSdk","OCAuthSandbox","OCAuthLive","getAuthState","authInfoManager","subscribe","unsubscribe","Provider","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","String","Number","OCAuthCore","loginEndpoint","redirectUri","transactionManager","tokenManager","referralCode","logoutEndPoint","AuthInfoManager","loginEndPoint","syncAuthInfo","clearStorage","clear","_logout","logoutReturnTo","url","URL","searchParams","append","window","location","assign","toString","logout","_x","_signInWithRedirect","_callee2","params","paramsClone","signinParams","meta","requestUrl","_callee2$","_context2","prepareTokenParams","createPkceMeta","save","buildAuthEndpointUrl","_x2","_handleLoginRedirect","_callee3","urlParams","codeVerifier","_callee3$","_context3","parseUrl","code","getTransactionMeta","exchangeTokenFromCode","AuthError","hasExpired","_this$getParsedIdToke","getParsedIdToken","edu_username","eth_address","getAccessToken","getIdToken","getStateParameter","idToken","parseJwt","getParsedAccessToken","accessToken","get","_info$OCId","info","_info$ethAddress","LIVE_PUBLIC_KEY","SANDBOX_PUBLIC_KEY","_OCAuthCore2","overrideTokenEndpoint","tokenEndPoint","overrideLoginEndpoint","overrideLogoutEndpoint","overridePublicKey","publicKey","tokenEndpoint","logoutEndpoint","storageClass","getStorageClass","pkceTransactionManager","TransactionManager","TokenManager","_callSuper","_inherits","_OCAuthCore3","EVENT_AUTH_STATE_CHANGE","_authState","_emitter","Emitter","emit","handler","on","off","TOKEN_STORAGE_NAME","StorageManagerClass","storageManager","getStorageObject","_exchangeTokenFromCode","accessCode","body","response","_yield$response$json","access_token","id_token","pubKey","tokenVerified","parsedAccessToken","storageData","_args","fetch","headers","JSON","stringify","json","getPublicKey","verifyToken","expired","exp","setStorage","console","log","getItem","getExpiredAt","_getPublicKey","expiredAt","cur","Math","round","Date","valueOf","queryString","search","URLSearchParams","validParams","has","codeChallenge","tokenParams","InvalidParamsError","PKCE","generateVerifier","computeChallenge","codeChallengeMethod","DEFAULT_CODE_CHALLENGE_METHOD","scope","responseType","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","dec2hex","dec","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","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&nbsp;<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, setAuthError } = useOCAuth();\n\n useEffect( () =>\n {\n const handleLogin = async () =>\n {\n if ( ocAuth )\n {\n try\n {\n await ocAuth.handleLoginRedirect();\n successCallback();\n } catch (e)\n {\n setAuthError(e);\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 ? (\n customLoadingComponent\n ) : (\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 [ OCId, setOCId ] = useState();\n const [ ethAddress, setEthAddress ] = useState();\n const [ authState, setAuthState ] = useState( {\n isAuthenticated: false,\n } );\n const [ authError, setAuthError ] = useState( null );\n\n const updateAuthState = authState =>\n {\n setAuthState( authState );\n setOCId( authState.OCId );\n setEthAddress( authState.ethAddress );\n };\n\n // init sdk\n useEffect( () =>\n {\n const authSdk = sandboxMode ? new OCAuthSandbox(opts) : new OCAuthLive(opts);\n updateAuthState( authSdk.getAuthState() );\n setOcAuth( authSdk );\n }, [] );\n\n useEffect( () =>\n {\n if ( ocAuth.authInfoManager )\n {\n // reactively recieve update on the authstate change\n ocAuth.authInfoManager.subscribe( updateAuthState );\n return () =>\n {\n ocAuth.authInfoManager.unsubscribe( updateAuthState );\n };\n }\n }, [ ocAuth ] );\n\n return (\n <OCContext.Provider value={ { OCId, ethAddress, ocAuth, authState, authError, setAuthError } }>\n { children }\n </OCContext.Provider>\n );\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 (logoutReturnTo)\n {\n this.clearStorage();\n const url = new URL(this.logoutEndPoint);\n if (logoutReturnTo) {\n url.searchParams.append('returnTo', logoutReturnTo);\n }\n window.location.assign(url.toString());\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, urlParams.state );\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 const { edu_username, eth_address } = this.getParsedIdToken();\n this.authInfoManager.setAuthState(\n this.getAccessToken(),\n this.getIdToken(),\n edu_username,\n eth_address,\n this.isAuthenticated()\n );\n }\n }\n\n getAuthState ()\n {\n return this.authInfoManager.getAuthState();\n }\n\n getStateParameter ()\n {\n return this.tokenManager.getStateParameter();\n }\n\n getIdToken ()\n {\n return this.tokenManager.getIdToken();\n }\n\n getAccessToken ()\n {\n return this.tokenManager.getAccessToken();\n }\n\n getParsedIdToken ()\n {\n // return all info in id token\n const idToken = this.tokenManager.getIdToken();\n if (idToken)\n {\n return parseJwt(idToken);\n }\n return {};\n }\n\n getParsedAccessToken ()\n {\n // return all info in access token\n const accessToken = this.tokenManager.getAccessToken();\n if (accessToken)\n {\n return parseJwt(accessToken);\n }\n return {};\n }\n\n get OCId ()\n {\n const info = this.authInfoManager.getAuthState();\n return info.OCId ?? null;\n }\n\n get ethAddress ()\n {\n const info = this.authInfoManager.getAuthState();\n return info.ethAddress ?? null;\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 */\n\nimport Emitter from 'tiny-emitter';\n\nconst EVENT_AUTH_STATE_CHANGE = 'authStateChange';\n\nclass AuthInfoManager\n{\n _emmitter;\n _authState;\n\n constructor ()\n {\n this._authState = null;\n this._emitter = new Emitter();\n }\n\n setAuthState (accessToken, idToken, OCId, ethAddress, isAuthenticated)\n {\n this._authState = { accessToken, idToken, OCId, ethAddress, isAuthenticated };\n this._emitter.emit(EVENT_AUTH_STATE_CHANGE, this._authState);\n }\n\n getAuthState ()\n {\n return Object.assign({}, this._authState);\n }\n\n clear ()\n {\n this._authState = null;\n }\n\n subscribe (handler)\n {\n this._emitter.on(EVENT_AUTH_STATE_CHANGE, handler);\n }\n\n unsubscribe (handler)\n {\n this._emitter.off(EVENT_AUTH_STATE_CHANGE, handler);\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, state = null )\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 const storageData = Object.assign(\n {\n access_token,\n id_token,\n expired: parsedAccessToken.exp\n },\n state && { state }\n );\n this.storageManager.getStorageObject().setStorage(storageData);\n } catch ( error )\n {\n console.log( error );\n throw new AuthError( 'Token acquisition failed' );\n }\n }\n\n getStateParameter ()\n {\n return this.storageManager.getStorageObject().getItem( 'state' );\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":""}
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","isInitialized","authState","setAuthError","useEffect","handleLogin","handleLoginRedirect","t0","error","message","OCConnect","children","opts","sandboxMode","_useState","useState","_useState2","_slicedToArray","setOcAuth","_useState3","_useState4","OCId","setOCId","_useState5","_useState6","ethAddress","setEthAddress","_useState7","_useState8","setAuthState","_useState9","_useState10","setIsInitialized","_useState11","_useState12","authError","updateAuthState","authSdk","OCAuthSandbox","OCAuthLive","getAuthState","authInfoManager","subscribe","unsubscribe","Provider","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","String","Number","OCAuthCore","loginEndpoint","redirectUri","transactionManager","tokenManager","referralCode","logoutEndPoint","AuthInfoManager","loginEndPoint","syncAuthInfo","clearStorage","clear","_logout","logoutReturnTo","url","URL","searchParams","append","window","location","assign","toString","logout","_x","_signInWithRedirect","_callee2","params","paramsClone","signinParams","meta","requestUrl","_callee2$","_context2","prepareTokenParams","createPkceMeta","save","buildAuthEndpointUrl","_x2","_handleLoginRedirect","_callee3","urlParams","codeVerifier","_callee3$","_context3","parseUrl","code","getTransactionMeta","exchangeTokenFromCode","AuthError","isAuthenticated","hasExpired","_this$getParsedIdToke","getParsedIdToken","edu_username","eth_address","getAccessToken","getIdToken","getStateParameter","idToken","parseJwt","getParsedAccessToken","accessToken","get","_info$OCId","info","_info$ethAddress","LIVE_PUBLIC_KEY","SANDBOX_PUBLIC_KEY","_OCAuthCore2","overrideTokenEndpoint","tokenEndPoint","overrideLoginEndpoint","overrideLogoutEndpoint","overridePublicKey","publicKey","tokenEndpoint","logoutEndpoint","storageClass","getStorageClass","pkceTransactionManager","TransactionManager","TokenManager","_callSuper","_inherits","_OCAuthCore3","mode","EVENT_AUTH_STATE_CHANGE","_authState","_emitter","Emitter","emit","handler","on","off","TOKEN_STORAGE_NAME","StorageManagerClass","storageManager","getStorageObject","_exchangeTokenFromCode","accessCode","body","response","_yield$response$json","access_token","id_token","pubKey","tokenVerified","parsedAccessToken","storageData","_args","fetch","headers","JSON","stringify","json","getPublicKey","verifyToken","expired","exp","setStorage","console","log","getItem","getExpiredAt","_getPublicKey","expiredAt","cur","Math","round","Date","valueOf","queryString","search","URLSearchParams","validParams","has","codeChallenge","tokenParams","InvalidParamsError","PKCE","generateVerifier","computeChallenge","codeChallengeMethod","DEFAULT_CODE_CHALLENGE_METHOD","scope","responseType","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","dec2hex","dec","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","href"],"mappings":"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IAAAxM,KAAA,EAED,SAAA2a,UAAUA,CAAGnO,GAAG,EAChB;MACI,OAAOgP,gDAAO,CAACI,MAAM,CAACpP,GAAG,EAAE;QAAEmP,IAAI,EAAE,GAAG;QAAEJ,MAAM,EAAE,IAAI,CAACA;MAAO,CAAC,CAAC;IAClE;EAAC;AAAA,I;;;;;;ACjCL;AACA;AACA;AACA,EAAE,KAA4D;AAC9D,EAAE,SAKK;AACP,CAAC,sBAAsB;;AAEvB;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,EAAE;AACxC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA;AACA,uEAAuE;AACvE;AACA;AACA,4CAA4C;AAC5C;AACA,yEAAyE;AACzE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8DAA8D;AAC9D;AACA,qBAAqB,oBAAoB;AACzC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA,+CAA+C;AAC/C,SAAS;AACT;AACA,+BAA+B;AAC/B;AACA,OAAO;AACP;AACA,qBAAqB,0CAA0C;AAC/D,oBAAoB;AACpB;AACA;AACA;;AAEA,oCAAoC,YAAY;AAChD;;AAEA;;AAEA,CAAC;;;;;;;;AClJD;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMpM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAK0M,YAAY,EAAEtO,aAAa,EACjE;EACI,IAAMuO,QAAQ,GAAG,IAAIhO,GAAG,CAAEP,aAAc,CAAC;EACzCuO,QAAQ,CAAC/N,YAAY,CAACC,MAAM,CAAE,YAAY,EAAEC,MAAM,CAACC,QAAQ,CAAC6N,IAAK,CAAC;EAClED,QAAQ,CAAC/N,YAAY,CAACC,MAAM,CAAE,cAAc,EAAE6N,YAAY,CAAC5O,WAAY,CAAC;EACxE6O,QAAQ,CAAC/N,YAAY,CAACC,MAAM,CAAE,eAAe,EAAE6N,YAAY,CAAC7F,YAAa,CAAC;EAC1E8F,QAAQ,CAAC/N,YAAY,CAACC,MAAM,CAAE,OAAO,EAAE6N,YAAY,CAAC9F,KAAM,CAAC;;EAE3D;EACA+F,QAAQ,CAAC/N,YAAY,CAACC,MAAM,CAAE,gBAAgB,EAAE6N,YAAY,CAACtG,aAAc,CAAC;EAC5EuG,QAAQ,CAAC/N,YAAY,CAACC,MAAM,CAAE,uBAAuB,EAAE6N,YAAY,CAAChG,mBAAoB,CAAC;;EAEzF;EACA,IAAKgG,YAAY,CAACnT,KAAK,KAAKtB,SAAS,EACrC;IACI0U,QAAQ,CAAC/N,YAAY,CAACC,MAAM,CAAE,OAAO,EAAE6N,YAAY,CAACnT,KAAM,CAAC;EAC/D;;EAEA;EACA,IAAKmT,YAAY,CAACzO,YAAY,EAC9B;IACI0O,QAAQ,CAAC/N,YAAY,CAACC,MAAM,CAAE,KAAK,EAAE6N,YAAY,CAACzO,YAAa,CAAC;EACpE;EAEA,OAAO0O,QAAQ,CAACC,IAAI;AACxB,CAAC,C;;;;;;;AClCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsB;;;;;;;;ACAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACY","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&nbsp;<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 { isInitialized, ocAuth, authState, setAuthError } = useOCAuth();\n\n useEffect( () =>\n {\n const handleLogin = async () =>\n {\n if ( ocAuth )\n {\n try\n {\n await ocAuth.handleLoginRedirect();\n successCallback();\n } catch (e)\n {\n setAuthError(e);\n if (errorCallback)\n {\n errorCallback();\n }\n }\n }\n };\n if ( !handledRedirect )\n {\n handleLogin();\n }\n }, [ ocAuth ] );\n\n if ( isInitialized && authState.error !== undefined && !errorCallback )\n {\n return customErrorComponent ? customErrorComponent : <div>Error Logging in: { authState.error.message }</div>;\n } else\n {\n return customLoadingComponent ? (\n customLoadingComponent\n ) : (\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 [ OCId, setOCId ] = useState();\n const [ ethAddress, setEthAddress ] = useState();\n const [ authState, setAuthState ] = useState();\n const [ isInitialized, setIsInitialized ] = useState(false);\n const [ authError, setAuthError ] = useState( null );\n\n const updateAuthState = authState =>\n {\n setAuthState( authState );\n setOCId( authState.OCId );\n setEthAddress( authState.ethAddress );\n };\n\n // init sdk\n useEffect( () =>\n {\n const authSdk = sandboxMode ? new OCAuthSandbox(opts) : new OCAuthLive(opts);\n updateAuthState( authSdk.getAuthState() );\n setOcAuth( authSdk );\n setIsInitialized( true );\n }, [] );\n\n useEffect( () =>\n {\n if ( ocAuth && ocAuth.authInfoManager )\n {\n // reactively recieve update on the authstate change\n ocAuth.authInfoManager.subscribe( updateAuthState );\n return () =>\n {\n ocAuth.authInfoManager.unsubscribe( updateAuthState );\n };\n }\n }, [ ocAuth ] );\n\n return (\n <OCContext.Provider value={ { OCId, ethAddress, ocAuth, authState, authError, isInitialized, setAuthError } }>\n { children }\n </OCContext.Provider>\n );\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 (logoutReturnTo)\n {\n this.clearStorage();\n const url = new URL(this.logoutEndPoint);\n if (logoutReturnTo) {\n url.searchParams.append('returnTo', logoutReturnTo);\n }\n window.location.assign(url.toString());\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, urlParams.state );\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 const { edu_username, eth_address } = this.getParsedIdToken();\n this.authInfoManager.setAuthState(\n this.getAccessToken(),\n this.getIdToken(),\n edu_username,\n eth_address,\n true\n );\n }\n }\n\n getAuthState ()\n {\n return this.authInfoManager.getAuthState();\n }\n\n getStateParameter ()\n {\n return this.tokenManager.getStateParameter();\n }\n\n getIdToken ()\n {\n return this.tokenManager.getIdToken();\n }\n\n getAccessToken ()\n {\n return this.tokenManager.getAccessToken();\n }\n\n getParsedIdToken ()\n {\n // return all info in id token\n const idToken = this.tokenManager.getIdToken();\n if (idToken)\n {\n return parseJwt(idToken);\n }\n return {};\n }\n\n getParsedAccessToken ()\n {\n // return all info in access token\n const accessToken = this.tokenManager.getAccessToken();\n if (accessToken)\n {\n return parseJwt(accessToken);\n }\n return {};\n }\n\n get OCId ()\n {\n const info = this.authInfoManager.getAuthState();\n return info.OCId ?? null;\n }\n\n get ethAddress ()\n {\n const info = this.authInfoManager.getAuthState();\n return info.ethAddress ?? null;\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, false );\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 mode,\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, true );\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\nimport Emitter from 'tiny-emitter';\n\nconst EVENT_AUTH_STATE_CHANGE = 'authStateChange';\n\nclass AuthInfoManager\n{\n _emmitter;\n _authState;\n\n constructor ()\n {\n this._authState = null;\n this._emitter = new Emitter();\n }\n\n setAuthState (accessToken, idToken, OCId, ethAddress, isAuthenticated)\n {\n this._authState = { accessToken, idToken, OCId, ethAddress, isAuthenticated };\n this._emitter.emit(EVENT_AUTH_STATE_CHANGE, this._authState);\n }\n\n getAuthState ()\n {\n return Object.assign({}, this._authState);\n }\n\n clear ()\n {\n this._authState = { isAuthenticated: false };\n this._emitter.emit(EVENT_AUTH_STATE_CHANGE, this._authState);\n }\n\n subscribe (handler)\n {\n this._emitter.on(EVENT_AUTH_STATE_CHANGE, handler);\n }\n\n unsubscribe (handler)\n {\n this._emitter.off(EVENT_AUTH_STATE_CHANGE, handler);\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, state = null )\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 const storageData = Object.assign(\n {\n access_token,\n id_token,\n expired: parsedAccessToken.exp\n },\n state && { state }\n );\n this.storageManager.getStorageObject().setStorage(storageData);\n } catch ( error )\n {\n console.log( error );\n throw new AuthError( 'Token acquisition failed' );\n }\n }\n\n getStateParameter ()\n {\n return this.storageManager.getStorageObject().getItem( 'state' );\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":""}
@@ -27,6 +27,7 @@ var LoginCallBack = function LoginCallBack(_ref) {
27
27
  customErrorComponent = _ref.customErrorComponent,
28
28
  customLoadingComponent = _ref.customLoadingComponent;
29
29
  var _useOCAuth = (0, _OCContext.useOCAuth)(),
30
+ isInitialized = _useOCAuth.isInitialized,
30
31
  ocAuth = _useOCAuth.ocAuth,
31
32
  authState = _useOCAuth.authState,
32
33
  setAuthError = _useOCAuth.setAuthError;
@@ -68,7 +69,7 @@ var LoginCallBack = function LoginCallBack(_ref) {
68
69
  handleLogin();
69
70
  }
70
71
  }, [ocAuth]);
71
- if (authState.error !== undefined && !errorCallback) {
72
+ if (isInitialized && authState.error !== undefined && !errorCallback) {
72
73
  return customErrorComponent ? customErrorComponent : /*#__PURE__*/_react["default"].createElement("div", null, "Error Logging in: ", authState.error.message);
73
74
  } else {
74
75
  return customLoadingComponent ? customLoadingComponent : /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h3", null, "Loading ......"));
@@ -28,7 +28,7 @@ var OCConnect = function OCConnect(_ref) {
28
28
  var children = _ref.children,
29
29
  opts = _ref.opts,
30
30
  sandboxMode = _ref.sandboxMode;
31
- var _useState = (0, _react.useState)({}),
31
+ var _useState = (0, _react.useState)(),
32
32
  _useState2 = _slicedToArray(_useState, 2),
33
33
  ocAuth = _useState2[0],
34
34
  setOcAuth = _useState2[1];
@@ -40,16 +40,18 @@ var OCConnect = function OCConnect(_ref) {
40
40
  _useState6 = _slicedToArray(_useState5, 2),
41
41
  ethAddress = _useState6[0],
42
42
  setEthAddress = _useState6[1];
43
- var _useState7 = (0, _react.useState)({
44
- isAuthenticated: false
45
- }),
43
+ var _useState7 = (0, _react.useState)(),
46
44
  _useState8 = _slicedToArray(_useState7, 2),
47
45
  authState = _useState8[0],
48
46
  setAuthState = _useState8[1];
49
- var _useState9 = (0, _react.useState)(null),
47
+ var _useState9 = (0, _react.useState)(false),
50
48
  _useState10 = _slicedToArray(_useState9, 2),
51
- authError = _useState10[0],
52
- setAuthError = _useState10[1];
49
+ isInitialized = _useState10[0],
50
+ setIsInitialized = _useState10[1];
51
+ var _useState11 = (0, _react.useState)(null),
52
+ _useState12 = _slicedToArray(_useState11, 2),
53
+ authError = _useState12[0],
54
+ setAuthError = _useState12[1];
53
55
  var updateAuthState = function updateAuthState(authState) {
54
56
  setAuthState(authState);
55
57
  setOCId(authState.OCId);
@@ -61,9 +63,10 @@ var OCConnect = function OCConnect(_ref) {
61
63
  var authSdk = sandboxMode ? new _auth.OCAuthSandbox(opts) : new _auth.OCAuthLive(opts);
62
64
  updateAuthState(authSdk.getAuthState());
63
65
  setOcAuth(authSdk);
66
+ setIsInitialized(true);
64
67
  }, []);
65
68
  (0, _react.useEffect)(function () {
66
- if (ocAuth.authInfoManager) {
69
+ if (ocAuth && ocAuth.authInfoManager) {
67
70
  // reactively recieve update on the authstate change
68
71
  ocAuth.authInfoManager.subscribe(updateAuthState);
69
72
  return function () {
@@ -78,6 +81,7 @@ var OCConnect = function OCConnect(_ref) {
78
81
  ocAuth: ocAuth,
79
82
  authState: authState,
80
83
  authError: authError,
84
+ isInitialized: isInitialized,
81
85
  setAuthError: setAuthError
82
86
  }
83
87
  }, children);
package/lib/sdk/auth.js CHANGED
@@ -175,7 +175,7 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
175
175
  var _this$getParsedIdToke = this.getParsedIdToken(),
176
176
  edu_username = _this$getParsedIdToke.edu_username,
177
177
  eth_address = _this$getParsedIdToke.eth_address;
178
- this.authInfoManager.setAuthState(this.getAccessToken(), this.getIdToken(), edu_username, eth_address, this.isAuthenticated());
178
+ this.authInfoManager.setAuthState(this.getAccessToken(), this.getIdToken(), edu_username, eth_address, true);
179
179
  }
180
180
  }
181
181
  }, {
@@ -253,7 +253,7 @@ var OCAuthLive = exports.OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
253
253
  var storageClass = (0, _StorageManager.getStorageClass)(opts);
254
254
  var pkceTransactionManager = new _TransactionManager["default"](storageClass);
255
255
  var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
256
- return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
256
+ return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint, false]);
257
257
  }
258
258
  _inherits(OCAuthLive, _OCAuthCore2);
259
259
  return _createClass(OCAuthLive);
@@ -267,7 +267,8 @@ var OCAuthSandbox = exports.OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3)
267
267
  overrideLogoutEndpoint = opts.logoutEndPoint,
268
268
  overridePublicKey = opts.publicKey,
269
269
  redirectUri = opts.redirectUri,
270
- referralCode = opts.referralCode;
270
+ referralCode = opts.referralCode,
271
+ mode = opts.mode;
271
272
  var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';
272
273
  var loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';
273
274
  var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/logout';
@@ -275,7 +276,7 @@ var OCAuthSandbox = exports.OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3)
275
276
  var storageClass = (0, _StorageManager.getStorageClass)(opts);
276
277
  var pkceTransactionManager = new _TransactionManager["default"](storageClass);
277
278
  var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
278
- return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
279
+ return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint, true]);
279
280
  }
280
281
  _inherits(OCAuthSandbox, _OCAuthCore3);
281
282
  return _createClass(OCAuthSandbox);
@@ -50,7 +50,10 @@ var AuthInfoManager = /*#__PURE__*/function () {
50
50
  }, {
51
51
  key: "clear",
52
52
  value: function clear() {
53
- this._authState = null;
53
+ this._authState = {
54
+ isAuthenticated: false
55
+ };
56
+ this._emitter.emit(EVENT_AUTH_STATE_CHANGE, this._authState);
54
57
  }
55
58
  }, {
56
59
  key: "subscribe",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencampus/ocid-connect-js",
3
- "version": "1.2.3",
3
+ "version": "1.2.5",
4
4
  "author": "Animoca Brands",
5
5
  "license": "MIT",
6
6
  "description": "OCID Connector Library",