@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 +9 -7
- package/dist/ocid-connect-js.js +23 -14
- package/dist/ocid-connect-js.js.map +1 -1
- package/lib/react/LoginCallBack.js +2 -1
- package/lib/react/OCConnect.js +12 -8
- package/lib/sdk/auth.js +5 -4
- package/lib/sdk/lib/AuthInfoManager.js +4 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -104,15 +104,21 @@ export default function CustomLoadingComponent ()
|
|
|
104
104
|
/>
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
|
|
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 (
|
|
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
|
}
|
package/dist/ocid-connect-js.js
CHANGED
|
@@ -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"])(
|
|
459
|
+
var _useState9 = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(false),
|
|
461
460
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
462
|
-
|
|
463
|
-
|
|
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,
|
|
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 =
|
|
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 <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 <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 ......"));
|
package/lib/react/OCConnect.js
CHANGED
|
@@ -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)(
|
|
47
|
+
var _useState9 = (0, _react.useState)(false),
|
|
50
48
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
51
|
-
|
|
52
|
-
|
|
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,
|
|
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 =
|
|
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",
|