@opencampus/ocid-connect-js 2.0.6 → 2.0.8
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 +18 -0
- package/dist/ocid-connect-js.js +422 -215
- package/dist/ocid-connect-js.js.map +1 -1
- package/lib/react/LoginButton.js +8 -9
- package/lib/react/LoginCallBack.js +19 -19
- package/lib/react/OCConnect.js +8 -9
- package/lib/react/OCContext.js +1 -2
- package/lib/react/{OCSpinner.css → OCSpinner.xyz.css} +3 -3
- package/lib/sdk/airkit.d.ts +2 -0
- package/lib/sdk/airkit.js +21 -0
- package/lib/sdk/auth.d.ts +4 -4
- package/lib/sdk/auth.js +104 -46
- package/lib/sdk/crypto/verifyToken.js +11 -14
- package/lib/sdk/lib/AirKitServiceManager.d.ts +4 -0
- package/lib/sdk/lib/AirKitServiceManager.js +237 -0
- package/lib/sdk/lib/AuthInfoManager.d.ts +1 -0
- package/lib/sdk/lib/AuthInfoManager.js +6 -0
- package/lib/sdk/lib/TokenManager.js +36 -38
- package/lib/sdk/lib/WalletServiceManager.d.ts +17 -0
- package/lib/sdk/lib/WalletServiceManager.js +149 -0
- package/lib/sdk/utils/prepareTokenParams.js +11 -14
- package/package.json +28 -2
- package/CHANGELOG.md +0 -65
package/lib/sdk/auth.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.OCAuthSandbox = exports.OCAuthLive = exports.OCAuthCore = void 0;
|
|
7
|
+
var _WalletServiceManager = _interopRequireDefault(require("./lib/WalletServiceManager"));
|
|
7
8
|
var _AuthInfoManager = _interopRequireDefault(require("./lib/AuthInfoManager"));
|
|
8
9
|
var _TokenManager = _interopRequireDefault(require("./lib/TokenManager"));
|
|
9
10
|
var _TransactionManager = _interopRequireDefault(require("./lib/TransactionManager"));
|
|
@@ -20,7 +21,8 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
20
21
|
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
21
22
|
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
22
23
|
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
23
|
-
function
|
|
24
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
25
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
24
26
|
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
25
27
|
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
26
28
|
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
@@ -38,7 +40,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
38
40
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
39
41
|
*/
|
|
40
42
|
var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
41
|
-
function OCAuthCore(clientId, loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode, logoutEndPoint) {
|
|
43
|
+
function OCAuthCore(clientId, loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode, logoutEndPoint, walletServiceManager, authInfoManager) {
|
|
42
44
|
_classCallCheck(this, OCAuthCore);
|
|
43
45
|
_defineProperty(this, "clientId", void 0);
|
|
44
46
|
_defineProperty(this, "tokenManager", void 0);
|
|
@@ -48,17 +50,19 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
48
50
|
_defineProperty(this, "loginEndPoint", void 0);
|
|
49
51
|
_defineProperty(this, "logoutEndPoint", void 0);
|
|
50
52
|
_defineProperty(this, "referralCode", void 0);
|
|
53
|
+
_defineProperty(this, "walletServiceManager", void 0);
|
|
51
54
|
if (!clientId) {
|
|
52
55
|
throw new _errors.InvalidParamsError('clientId is not defined');
|
|
53
56
|
}
|
|
54
57
|
this.transactionManager = transactionManager;
|
|
55
58
|
this.tokenManager = tokenManager;
|
|
56
|
-
this.authInfoManager =
|
|
59
|
+
this.authInfoManager = authInfoManager;
|
|
57
60
|
this.loginEndPoint = loginEndpoint;
|
|
58
61
|
this.logoutEndPoint = logoutEndPoint;
|
|
59
62
|
this.redirectUri = redirectUri;
|
|
60
63
|
this.referralCode = referralCode;
|
|
61
64
|
this.clientId = clientId;
|
|
65
|
+
this.walletServiceManager = walletServiceManager;
|
|
62
66
|
this.syncAuthInfo();
|
|
63
67
|
}
|
|
64
68
|
return _createClass(OCAuthCore, [{
|
|
@@ -70,20 +74,22 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
70
74
|
}, {
|
|
71
75
|
key: "logout",
|
|
72
76
|
value: function () {
|
|
73
|
-
var _logout = _asyncToGenerator(/*#__PURE__*/
|
|
77
|
+
var _logout = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(logoutReturnTo) {
|
|
74
78
|
var url;
|
|
75
|
-
return
|
|
76
|
-
while (1) switch (_context.
|
|
79
|
+
return _regenerator().w(function (_context) {
|
|
80
|
+
while (1) switch (_context.n) {
|
|
77
81
|
case 0:
|
|
78
82
|
this.clearStorage();
|
|
83
|
+
_context.n = 1;
|
|
84
|
+
return this.walletServiceManager.logout();
|
|
85
|
+
case 1:
|
|
79
86
|
url = new URL(this.logoutEndPoint);
|
|
80
87
|
if (logoutReturnTo) {
|
|
81
88
|
url.searchParams.append('returnTo', logoutReturnTo);
|
|
82
89
|
}
|
|
83
90
|
window.location.assign(url.toString());
|
|
84
|
-
case
|
|
85
|
-
|
|
86
|
-
return _context.stop();
|
|
91
|
+
case 2:
|
|
92
|
+
return _context.a(2);
|
|
87
93
|
}
|
|
88
94
|
}, _callee, this);
|
|
89
95
|
}));
|
|
@@ -95,29 +101,28 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
95
101
|
}, {
|
|
96
102
|
key: "signInWithRedirect",
|
|
97
103
|
value: function () {
|
|
98
|
-
var _signInWithRedirect = _asyncToGenerator(/*#__PURE__*/
|
|
104
|
+
var _signInWithRedirect = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(params) {
|
|
99
105
|
var paramsClone, signinParams, meta, requestUrl;
|
|
100
|
-
return
|
|
101
|
-
while (1) switch (_context2.
|
|
106
|
+
return _regenerator().w(function (_context2) {
|
|
107
|
+
while (1) switch (_context2.n) {
|
|
102
108
|
case 0:
|
|
103
109
|
// we use ONLY code flow with PKCE, so lacks a lot of options
|
|
104
110
|
// available in other OAuth SDKs.
|
|
105
111
|
paramsClone = Object.assign({}, params);
|
|
106
112
|
paramsClone.redirectUri = this.redirectUri;
|
|
107
113
|
paramsClone.clientId = this.clientId;
|
|
108
|
-
_context2.
|
|
114
|
+
_context2.n = 1;
|
|
109
115
|
return (0, _utils.prepareTokenParams)(paramsClone);
|
|
110
|
-
case
|
|
111
|
-
signinParams = _context2.
|
|
116
|
+
case 1:
|
|
117
|
+
signinParams = _context2.v;
|
|
112
118
|
meta = (0, _utils.createPkceMeta)(signinParams);
|
|
113
119
|
this.transactionManager.save(meta);
|
|
114
120
|
signinParams.referralCode = this.referralCode;
|
|
115
121
|
signinParams.emailPlaceholder = paramsClone.emailPlaceholder;
|
|
116
122
|
requestUrl = (0, _endpoints.buildAuthEndpointUrl)(signinParams, this.loginEndPoint);
|
|
117
123
|
window.location.assign(requestUrl);
|
|
118
|
-
case
|
|
119
|
-
|
|
120
|
-
return _context2.stop();
|
|
124
|
+
case 2:
|
|
125
|
+
return _context2.a(2);
|
|
121
126
|
}
|
|
122
127
|
}, _callee2, this);
|
|
123
128
|
}));
|
|
@@ -129,36 +134,35 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
129
134
|
}, {
|
|
130
135
|
key: "handleLoginRedirect",
|
|
131
136
|
value: function () {
|
|
132
|
-
var _handleLoginRedirect = _asyncToGenerator(/*#__PURE__*/
|
|
137
|
+
var _handleLoginRedirect = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
133
138
|
var urlParams, meta, codeVerifier;
|
|
134
|
-
return
|
|
135
|
-
while (1) switch (_context3.
|
|
139
|
+
return _regenerator().w(function (_context3) {
|
|
140
|
+
while (1) switch (_context3.n) {
|
|
136
141
|
case 0:
|
|
137
142
|
urlParams = (0, _utils.parseUrl)(); // Again we only handle PKCE code flow
|
|
138
143
|
if (!urlParams.code) {
|
|
139
|
-
_context3.
|
|
144
|
+
_context3.n = 4;
|
|
140
145
|
break;
|
|
141
146
|
}
|
|
142
147
|
meta = this.transactionManager.getTransactionMeta();
|
|
143
148
|
codeVerifier = meta.codeVerifier;
|
|
144
149
|
if (!codeVerifier) {
|
|
145
|
-
_context3.
|
|
150
|
+
_context3.n = 3;
|
|
146
151
|
break;
|
|
147
152
|
}
|
|
148
|
-
_context3.
|
|
153
|
+
_context3.n = 1;
|
|
149
154
|
return this.tokenManager.exchangeTokenFromCode(urlParams.code, codeVerifier, urlParams.state);
|
|
150
|
-
case
|
|
155
|
+
case 1:
|
|
151
156
|
// clear transaction meta, coz it's completed
|
|
152
157
|
this.transactionManager.clear();
|
|
153
|
-
|
|
154
|
-
return
|
|
155
|
-
case
|
|
158
|
+
_context3.n = 2;
|
|
159
|
+
return this.syncAuthInfo();
|
|
160
|
+
case 2:
|
|
161
|
+
return _context3.a(2, this.getAuthState());
|
|
162
|
+
case 3:
|
|
156
163
|
throw new _errors.AuthError('codeVerifier not found, cannot complete flow');
|
|
157
|
-
case
|
|
158
|
-
return _context3.
|
|
159
|
-
case 14:
|
|
160
|
-
case "end":
|
|
161
|
-
return _context3.stop();
|
|
164
|
+
case 4:
|
|
165
|
+
return _context3.a(2, {});
|
|
162
166
|
}
|
|
163
167
|
}, _callee3, this);
|
|
164
168
|
}));
|
|
@@ -175,16 +179,34 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
175
179
|
}
|
|
176
180
|
}, {
|
|
177
181
|
key: "syncAuthInfo",
|
|
178
|
-
value: function
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
182
|
+
value: function () {
|
|
183
|
+
var _syncAuthInfo = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
|
|
184
|
+
var _this$getParsedIdToke, edu_username, eth_address;
|
|
185
|
+
return _regenerator().w(function (_context4) {
|
|
186
|
+
while (1) switch (_context4.n) {
|
|
187
|
+
case 0:
|
|
188
|
+
if (!this.tokenManager.hasExpired()) {
|
|
189
|
+
_context4.n = 1;
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
this.authInfoManager.clear();
|
|
193
|
+
_context4.n = 2;
|
|
194
|
+
break;
|
|
195
|
+
case 1:
|
|
196
|
+
_this$getParsedIdToke = this.getParsedIdToken(), edu_username = _this$getParsedIdToke.edu_username, eth_address = _this$getParsedIdToke.eth_address;
|
|
197
|
+
this.authInfoManager.setAuthState(this.getAccessToken(), this.getIdToken(), edu_username, eth_address, true);
|
|
198
|
+
_context4.n = 2;
|
|
199
|
+
return this.walletServiceManager.login(this.getAccessToken());
|
|
200
|
+
case 2:
|
|
201
|
+
return _context4.a(2);
|
|
202
|
+
}
|
|
203
|
+
}, _callee4, this);
|
|
204
|
+
}));
|
|
205
|
+
function syncAuthInfo() {
|
|
206
|
+
return _syncAuthInfo.apply(this, arguments);
|
|
186
207
|
}
|
|
187
|
-
|
|
208
|
+
return syncAuthInfo;
|
|
209
|
+
}()
|
|
188
210
|
}, {
|
|
189
211
|
key: "getAuthState",
|
|
190
212
|
value: function getAuthState() {
|
|
@@ -243,6 +265,12 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
243
265
|
}();
|
|
244
266
|
var LIVE_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBIDHtLbgVM76SXZ4iuIjuO+ERQPnVpJzagOsZdYxFG3ZJmvfdpr/Z29SLUbdZWafrOlAVlKe1Ovf/tcH671tTw==';
|
|
245
267
|
var SANDBOX_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/EymMLXd/MVYPK5r2xXQj91ZVvX3OQ+QagvR2N6lCvRVjnzmOtPRTf+u5g1RliWnmuxbV3gTm0/0VuV/40Salg==';
|
|
268
|
+
var BUILD_ENV = {
|
|
269
|
+
PRODUCTION: 'production',
|
|
270
|
+
SANDBOX: 'sandbox'
|
|
271
|
+
};
|
|
272
|
+
var LIVE_PARTNER_ID = '2debfc3c-2205-4c67-b6f2-d015b286b318';
|
|
273
|
+
var SANDBOX_PARTNER_ID = '3d54efbe-2666-45b7-bdf9-e843d69fd2f8';
|
|
246
274
|
var OCAuthLive = exports.OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
|
|
247
275
|
function OCAuthLive() {
|
|
248
276
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -251,17 +279,32 @@ var OCAuthLive = exports.OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
|
|
|
251
279
|
overrideLoginEndpoint = opts.loginEndPoint,
|
|
252
280
|
overrideLogoutEndpoint = opts.logoutEndPoint,
|
|
253
281
|
overridePublicKey = opts.publicKey,
|
|
282
|
+
overrideAirKitTokenEndpoint = opts.airKitTokenEndPoint,
|
|
283
|
+
overrideAirKitPartnerId = opts.airKitPartnerId,
|
|
284
|
+
overrideAirKitBuildEnv = opts.airKitBuildEnv,
|
|
254
285
|
redirectUri = opts.redirectUri,
|
|
255
286
|
referralCode = opts.referralCode,
|
|
256
|
-
clientId = opts.clientId
|
|
287
|
+
clientId = opts.clientId,
|
|
288
|
+
useWalletService = opts.useWalletService;
|
|
257
289
|
var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';
|
|
258
290
|
var loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';
|
|
259
291
|
var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.opencampus.xyz/auth/logout';
|
|
292
|
+
var airKitTokenEndpoint = overrideAirKitTokenEndpoint || 'https://api.login.opencampus.xyz/auth/airkit/token';
|
|
260
293
|
var publicKey = overridePublicKey || LIVE_PUBLIC_KEY;
|
|
294
|
+
var airKitPartnerId = overrideAirKitPartnerId || LIVE_PARTNER_ID;
|
|
295
|
+
var airKitBuildEnv = overrideAirKitBuildEnv || BUILD_ENV.PRODUCTION;
|
|
261
296
|
var storageClass = (0, _StorageManager.getStorageClass)(opts);
|
|
297
|
+
var authInfoManager = new _AuthInfoManager["default"]();
|
|
298
|
+
var walletServiceManager = new _WalletServiceManager["default"]({
|
|
299
|
+
airKitPartnerId: airKitPartnerId,
|
|
300
|
+
airKitEnv: airKitBuildEnv,
|
|
301
|
+
airKitTokenEndpoint: airKitTokenEndpoint,
|
|
302
|
+
authInfoManager: authInfoManager,
|
|
303
|
+
useWalletService: useWalletService
|
|
304
|
+
});
|
|
262
305
|
var pkceTransactionManager = new _TransactionManager["default"](storageClass);
|
|
263
306
|
var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
|
|
264
|
-
return _callSuper(this, OCAuthLive, [clientId, loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
|
|
307
|
+
return _callSuper(this, OCAuthLive, [clientId, loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint, walletServiceManager, authInfoManager]);
|
|
265
308
|
}
|
|
266
309
|
_inherits(OCAuthLive, _OCAuthCore2);
|
|
267
310
|
return _createClass(OCAuthLive);
|
|
@@ -274,17 +317,32 @@ var OCAuthSandbox = exports.OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3)
|
|
|
274
317
|
overrideLoginEndpoint = opts.loginEndPoint,
|
|
275
318
|
overrideLogoutEndpoint = opts.logoutEndPoint,
|
|
276
319
|
overridePublicKey = opts.publicKey,
|
|
320
|
+
overrideAirKitTokenEndpoint = opts.airKitTokenEndPoint,
|
|
321
|
+
overrideAirKitPartnerId = opts.airKitPartnerId,
|
|
322
|
+
overrideAirKitBuildEnv = opts.airKitBuildEnv,
|
|
277
323
|
redirectUri = opts.redirectUri,
|
|
278
|
-
referralCode = opts.referralCode
|
|
324
|
+
referralCode = opts.referralCode,
|
|
325
|
+
useWalletService = opts.useWalletService;
|
|
279
326
|
var clientId = opts.clientId || 'sandbox';
|
|
280
327
|
var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';
|
|
281
328
|
var loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';
|
|
282
329
|
var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/logout';
|
|
330
|
+
var airKitTokenEndpoint = overrideAirKitTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/airkit/token';
|
|
283
331
|
var publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;
|
|
332
|
+
var airKitPartnerId = overrideAirKitPartnerId || SANDBOX_PARTNER_ID;
|
|
333
|
+
var airKitBuildEnv = overrideAirKitBuildEnv || BUILD_ENV.SANDBOX;
|
|
334
|
+
var authInfoManager = new _AuthInfoManager["default"]();
|
|
284
335
|
var storageClass = (0, _StorageManager.getStorageClass)(opts);
|
|
336
|
+
var walletServiceManager = new _WalletServiceManager["default"]({
|
|
337
|
+
airKitPartnerId: airKitPartnerId,
|
|
338
|
+
airKitEnv: airKitBuildEnv,
|
|
339
|
+
airKitTokenEndpoint: airKitTokenEndpoint,
|
|
340
|
+
authInfoManager: authInfoManager,
|
|
341
|
+
useWalletService: useWalletService
|
|
342
|
+
});
|
|
285
343
|
var pkceTransactionManager = new _TransactionManager["default"](storageClass);
|
|
286
344
|
var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
|
|
287
|
-
return _callSuper(this, OCAuthSandbox, [clientId, loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint]);
|
|
345
|
+
return _callSuper(this, OCAuthSandbox, [clientId, loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint, walletServiceManager, authInfoManager]);
|
|
288
346
|
}
|
|
289
347
|
_inherits(OCAuthSandbox, _OCAuthCore3);
|
|
290
348
|
return _createClass(OCAuthSandbox);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.verifyToken = void 0;
|
|
8
7
|
var _base = require("./base64");
|
|
9
8
|
var _webcrypto = require("./webcrypto");
|
|
10
|
-
function
|
|
9
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
10
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
11
11
|
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
12
12
|
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } /*!
|
|
13
13
|
* Copyright 2024-Present Animoca Brands Corporation Ltd.
|
|
@@ -23,10 +23,10 @@ var prepareKey = function prepareKey(key) {
|
|
|
23
23
|
return (0, _base.stringToBuffer)(binaryDerString);
|
|
24
24
|
};
|
|
25
25
|
var verifyToken = exports.verifyToken = /*#__PURE__*/function () {
|
|
26
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/
|
|
26
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(idToken, key) {
|
|
27
27
|
var format, algo, extractable, usages, preparedKey, cryptoKey, jwt, payload, b64Signature, signature;
|
|
28
|
-
return
|
|
29
|
-
while (1) switch (_context.
|
|
28
|
+
return _regenerator().w(function (_context) {
|
|
29
|
+
while (1) switch (_context.n) {
|
|
30
30
|
case 0:
|
|
31
31
|
format = 'spki';
|
|
32
32
|
algo = {
|
|
@@ -39,21 +39,18 @@ var verifyToken = exports.verifyToken = /*#__PURE__*/function () {
|
|
|
39
39
|
extractable = true;
|
|
40
40
|
usages = ['verify'];
|
|
41
41
|
preparedKey = prepareKey(key);
|
|
42
|
-
_context.
|
|
42
|
+
_context.n = 1;
|
|
43
43
|
return _webcrypto.webcrypto.subtle.importKey(format, preparedKey, algo, extractable, usages);
|
|
44
|
-
case
|
|
45
|
-
cryptoKey = _context.
|
|
44
|
+
case 1:
|
|
45
|
+
cryptoKey = _context.v;
|
|
46
46
|
jwt = idToken.split('.');
|
|
47
47
|
payload = (0, _base.stringToBuffer)(jwt[0] + '.' + jwt[1]);
|
|
48
48
|
b64Signature = (0, _base.base64UrlDecode)(jwt[2]);
|
|
49
49
|
signature = (0, _base.stringToBuffer)(b64Signature);
|
|
50
|
-
_context.
|
|
50
|
+
_context.n = 2;
|
|
51
51
|
return _webcrypto.webcrypto.subtle.verify(algo, cryptoKey, signature, payload);
|
|
52
|
-
case
|
|
53
|
-
return _context.
|
|
54
|
-
case 15:
|
|
55
|
-
case "end":
|
|
56
|
-
return _context.stop();
|
|
52
|
+
case 2:
|
|
53
|
+
return _context.a(2, _context.v);
|
|
57
54
|
}
|
|
58
55
|
}, _callee);
|
|
59
56
|
}));
|