@opencampus/ocid-connect-js 2.0.5 → 2.0.7
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 +2 -1
- package/dist/ocid-connect-js.js +428 -220
- package/dist/ocid-connect-js.js.map +1 -1
- package/lib/react/LoginButton.d.ts +2 -1
- package/lib/react/LoginButton.js +12 -11
- 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/auth.d.ts +4 -5
- package/lib/sdk/auth.js +100 -49
- 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 +16 -0
- package/lib/sdk/lib/WalletServiceManager.js +146 -0
- package/lib/sdk/utils/prepareTokenParams.js +11 -14
- package/package.json +3 -2
- package/CHANGELOG.md +0 -59
package/lib/sdk/auth.js
CHANGED
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.OCAuthSandbox = exports.OCAuthLive = exports.OCAuthCore = void 0;
|
|
7
|
+
var _airkit = require("@mocanetwork/airkit");
|
|
8
|
+
var _WalletServiceManager = _interopRequireDefault(require("./lib/WalletServiceManager"));
|
|
7
9
|
var _AuthInfoManager = _interopRequireDefault(require("./lib/AuthInfoManager"));
|
|
8
10
|
var _TokenManager = _interopRequireDefault(require("./lib/TokenManager"));
|
|
9
11
|
var _TransactionManager = _interopRequireDefault(require("./lib/TransactionManager"));
|
|
@@ -20,7 +22,8 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
20
22
|
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
21
23
|
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
24
|
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
23
|
-
function
|
|
25
|
+
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 }; })(); }
|
|
26
|
+
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
27
|
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
28
|
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
29
|
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
@@ -38,7 +41,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
38
41
|
* 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
42
|
*/
|
|
40
43
|
var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
41
|
-
function OCAuthCore(clientId, loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode, logoutEndPoint,
|
|
44
|
+
function OCAuthCore(clientId, loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode, logoutEndPoint, walletServiceManager, authInfoManager) {
|
|
42
45
|
_classCallCheck(this, OCAuthCore);
|
|
43
46
|
_defineProperty(this, "clientId", void 0);
|
|
44
47
|
_defineProperty(this, "tokenManager", void 0);
|
|
@@ -48,19 +51,19 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
48
51
|
_defineProperty(this, "loginEndPoint", void 0);
|
|
49
52
|
_defineProperty(this, "logoutEndPoint", void 0);
|
|
50
53
|
_defineProperty(this, "referralCode", void 0);
|
|
51
|
-
_defineProperty(this, "
|
|
54
|
+
_defineProperty(this, "walletServiceManager", void 0);
|
|
52
55
|
if (!clientId) {
|
|
53
56
|
throw new _errors.InvalidParamsError('clientId is not defined');
|
|
54
57
|
}
|
|
55
58
|
this.transactionManager = transactionManager;
|
|
56
59
|
this.tokenManager = tokenManager;
|
|
57
|
-
this.authInfoManager =
|
|
60
|
+
this.authInfoManager = authInfoManager;
|
|
58
61
|
this.loginEndPoint = loginEndpoint;
|
|
59
62
|
this.logoutEndPoint = logoutEndPoint;
|
|
60
63
|
this.redirectUri = redirectUri;
|
|
61
64
|
this.referralCode = referralCode;
|
|
62
|
-
this.emailPlaceholder = emailPlaceholder;
|
|
63
65
|
this.clientId = clientId;
|
|
66
|
+
this.walletServiceManager = walletServiceManager;
|
|
64
67
|
this.syncAuthInfo();
|
|
65
68
|
}
|
|
66
69
|
return _createClass(OCAuthCore, [{
|
|
@@ -72,20 +75,22 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
72
75
|
}, {
|
|
73
76
|
key: "logout",
|
|
74
77
|
value: function () {
|
|
75
|
-
var _logout = _asyncToGenerator(/*#__PURE__*/
|
|
78
|
+
var _logout = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(logoutReturnTo) {
|
|
76
79
|
var url;
|
|
77
|
-
return
|
|
78
|
-
while (1) switch (_context.
|
|
80
|
+
return _regenerator().w(function (_context) {
|
|
81
|
+
while (1) switch (_context.n) {
|
|
79
82
|
case 0:
|
|
80
83
|
this.clearStorage();
|
|
84
|
+
_context.n = 1;
|
|
85
|
+
return this.walletServiceManager.logout();
|
|
86
|
+
case 1:
|
|
81
87
|
url = new URL(this.logoutEndPoint);
|
|
82
88
|
if (logoutReturnTo) {
|
|
83
89
|
url.searchParams.append('returnTo', logoutReturnTo);
|
|
84
90
|
}
|
|
85
91
|
window.location.assign(url.toString());
|
|
86
|
-
case
|
|
87
|
-
|
|
88
|
-
return _context.stop();
|
|
92
|
+
case 2:
|
|
93
|
+
return _context.a(2);
|
|
89
94
|
}
|
|
90
95
|
}, _callee, this);
|
|
91
96
|
}));
|
|
@@ -97,29 +102,28 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
97
102
|
}, {
|
|
98
103
|
key: "signInWithRedirect",
|
|
99
104
|
value: function () {
|
|
100
|
-
var _signInWithRedirect = _asyncToGenerator(/*#__PURE__*/
|
|
105
|
+
var _signInWithRedirect = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(params) {
|
|
101
106
|
var paramsClone, signinParams, meta, requestUrl;
|
|
102
|
-
return
|
|
103
|
-
while (1) switch (_context2.
|
|
107
|
+
return _regenerator().w(function (_context2) {
|
|
108
|
+
while (1) switch (_context2.n) {
|
|
104
109
|
case 0:
|
|
105
110
|
// we use ONLY code flow with PKCE, so lacks a lot of options
|
|
106
111
|
// available in other OAuth SDKs.
|
|
107
112
|
paramsClone = Object.assign({}, params);
|
|
108
113
|
paramsClone.redirectUri = this.redirectUri;
|
|
109
114
|
paramsClone.clientId = this.clientId;
|
|
110
|
-
_context2.
|
|
115
|
+
_context2.n = 1;
|
|
111
116
|
return (0, _utils.prepareTokenParams)(paramsClone);
|
|
112
|
-
case
|
|
113
|
-
signinParams = _context2.
|
|
117
|
+
case 1:
|
|
118
|
+
signinParams = _context2.v;
|
|
114
119
|
meta = (0, _utils.createPkceMeta)(signinParams);
|
|
115
120
|
this.transactionManager.save(meta);
|
|
116
121
|
signinParams.referralCode = this.referralCode;
|
|
117
|
-
signinParams.emailPlaceholder =
|
|
122
|
+
signinParams.emailPlaceholder = paramsClone.emailPlaceholder;
|
|
118
123
|
requestUrl = (0, _endpoints.buildAuthEndpointUrl)(signinParams, this.loginEndPoint);
|
|
119
124
|
window.location.assign(requestUrl);
|
|
120
|
-
case
|
|
121
|
-
|
|
122
|
-
return _context2.stop();
|
|
125
|
+
case 2:
|
|
126
|
+
return _context2.a(2);
|
|
123
127
|
}
|
|
124
128
|
}, _callee2, this);
|
|
125
129
|
}));
|
|
@@ -131,36 +135,35 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
131
135
|
}, {
|
|
132
136
|
key: "handleLoginRedirect",
|
|
133
137
|
value: function () {
|
|
134
|
-
var _handleLoginRedirect = _asyncToGenerator(/*#__PURE__*/
|
|
138
|
+
var _handleLoginRedirect = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
135
139
|
var urlParams, meta, codeVerifier;
|
|
136
|
-
return
|
|
137
|
-
while (1) switch (_context3.
|
|
140
|
+
return _regenerator().w(function (_context3) {
|
|
141
|
+
while (1) switch (_context3.n) {
|
|
138
142
|
case 0:
|
|
139
143
|
urlParams = (0, _utils.parseUrl)(); // Again we only handle PKCE code flow
|
|
140
144
|
if (!urlParams.code) {
|
|
141
|
-
_context3.
|
|
145
|
+
_context3.n = 4;
|
|
142
146
|
break;
|
|
143
147
|
}
|
|
144
148
|
meta = this.transactionManager.getTransactionMeta();
|
|
145
149
|
codeVerifier = meta.codeVerifier;
|
|
146
150
|
if (!codeVerifier) {
|
|
147
|
-
_context3.
|
|
151
|
+
_context3.n = 3;
|
|
148
152
|
break;
|
|
149
153
|
}
|
|
150
|
-
_context3.
|
|
154
|
+
_context3.n = 1;
|
|
151
155
|
return this.tokenManager.exchangeTokenFromCode(urlParams.code, codeVerifier, urlParams.state);
|
|
152
|
-
case
|
|
156
|
+
case 1:
|
|
153
157
|
// clear transaction meta, coz it's completed
|
|
154
158
|
this.transactionManager.clear();
|
|
155
|
-
|
|
156
|
-
return
|
|
157
|
-
case
|
|
159
|
+
_context3.n = 2;
|
|
160
|
+
return this.syncAuthInfo();
|
|
161
|
+
case 2:
|
|
162
|
+
return _context3.a(2, this.getAuthState());
|
|
163
|
+
case 3:
|
|
158
164
|
throw new _errors.AuthError('codeVerifier not found, cannot complete flow');
|
|
159
|
-
case
|
|
160
|
-
return _context3.
|
|
161
|
-
case 14:
|
|
162
|
-
case "end":
|
|
163
|
-
return _context3.stop();
|
|
165
|
+
case 4:
|
|
166
|
+
return _context3.a(2, {});
|
|
164
167
|
}
|
|
165
168
|
}, _callee3, this);
|
|
166
169
|
}));
|
|
@@ -177,16 +180,34 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
177
180
|
}
|
|
178
181
|
}, {
|
|
179
182
|
key: "syncAuthInfo",
|
|
180
|
-
value: function
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
183
|
+
value: function () {
|
|
184
|
+
var _syncAuthInfo = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
|
|
185
|
+
var _this$getParsedIdToke, edu_username, eth_address;
|
|
186
|
+
return _regenerator().w(function (_context4) {
|
|
187
|
+
while (1) switch (_context4.n) {
|
|
188
|
+
case 0:
|
|
189
|
+
if (!this.tokenManager.hasExpired()) {
|
|
190
|
+
_context4.n = 1;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
this.authInfoManager.clear();
|
|
194
|
+
_context4.n = 2;
|
|
195
|
+
break;
|
|
196
|
+
case 1:
|
|
197
|
+
_this$getParsedIdToke = this.getParsedIdToken(), edu_username = _this$getParsedIdToke.edu_username, eth_address = _this$getParsedIdToke.eth_address;
|
|
198
|
+
this.authInfoManager.setAuthState(this.getAccessToken(), this.getIdToken(), edu_username, eth_address, true);
|
|
199
|
+
_context4.n = 2;
|
|
200
|
+
return this.walletServiceManager.login(this.getAccessToken());
|
|
201
|
+
case 2:
|
|
202
|
+
return _context4.a(2);
|
|
203
|
+
}
|
|
204
|
+
}, _callee4, this);
|
|
205
|
+
}));
|
|
206
|
+
function syncAuthInfo() {
|
|
207
|
+
return _syncAuthInfo.apply(this, arguments);
|
|
188
208
|
}
|
|
189
|
-
|
|
209
|
+
return syncAuthInfo;
|
|
210
|
+
}()
|
|
190
211
|
}, {
|
|
191
212
|
key: "getAuthState",
|
|
192
213
|
value: function getAuthState() {
|
|
@@ -245,6 +266,8 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
245
266
|
}();
|
|
246
267
|
var LIVE_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBIDHtLbgVM76SXZ4iuIjuO+ERQPnVpJzagOsZdYxFG3ZJmvfdpr/Z29SLUbdZWafrOlAVlKe1Ovf/tcH671tTw==';
|
|
247
268
|
var SANDBOX_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/EymMLXd/MVYPK5r2xXQj91ZVvX3OQ+QagvR2N6lCvRVjnzmOtPRTf+u5g1RliWnmuxbV3gTm0/0VuV/40Salg==';
|
|
269
|
+
var LIVE_PARTNER_ID = '2debfc3c-2205-4c67-b6f2-d015b286b318';
|
|
270
|
+
var SANDBOX_PARTNER_ID = '3d54efbe-2666-45b7-bdf9-e843d69fd2f8';
|
|
248
271
|
var OCAuthLive = exports.OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
|
|
249
272
|
function OCAuthLive() {
|
|
250
273
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -253,18 +276,32 @@ var OCAuthLive = exports.OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
|
|
|
253
276
|
overrideLoginEndpoint = opts.loginEndPoint,
|
|
254
277
|
overrideLogoutEndpoint = opts.logoutEndPoint,
|
|
255
278
|
overridePublicKey = opts.publicKey,
|
|
279
|
+
overrideAirKitTokenEndpoint = opts.airKitTokenEndPoint,
|
|
280
|
+
overrideAirKitPartnerId = opts.airKitPartnerId,
|
|
281
|
+
overrideAirKitBuildEnv = opts.airKitBuildEnv,
|
|
256
282
|
redirectUri = opts.redirectUri,
|
|
257
283
|
referralCode = opts.referralCode,
|
|
258
284
|
clientId = opts.clientId,
|
|
259
|
-
|
|
285
|
+
useWalletService = opts.useWalletService;
|
|
260
286
|
var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';
|
|
261
287
|
var loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';
|
|
262
288
|
var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.opencampus.xyz/auth/logout';
|
|
289
|
+
var airKitTokenEndpoint = overrideAirKitTokenEndpoint || 'https://api.login.opencampus.xyz/auth/airkit/token';
|
|
263
290
|
var publicKey = overridePublicKey || LIVE_PUBLIC_KEY;
|
|
291
|
+
var airKitPartnerId = overrideAirKitPartnerId || LIVE_PARTNER_ID;
|
|
292
|
+
var airKitBuildEnv = overrideAirKitBuildEnv || _airkit.BUILD_ENV.PRODUCTION;
|
|
264
293
|
var storageClass = (0, _StorageManager.getStorageClass)(opts);
|
|
294
|
+
var authInfoManager = new _AuthInfoManager["default"]();
|
|
295
|
+
var walletServiceManager = new _WalletServiceManager["default"]({
|
|
296
|
+
airKitPartnerId: airKitPartnerId,
|
|
297
|
+
airKitEnv: airKitBuildEnv,
|
|
298
|
+
airKitTokenEndpoint: airKitTokenEndpoint,
|
|
299
|
+
authInfoManager: authInfoManager,
|
|
300
|
+
useWalletService: useWalletService
|
|
301
|
+
});
|
|
265
302
|
var pkceTransactionManager = new _TransactionManager["default"](storageClass);
|
|
266
303
|
var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
|
|
267
|
-
return _callSuper(this, OCAuthLive, [clientId, loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint,
|
|
304
|
+
return _callSuper(this, OCAuthLive, [clientId, loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint, walletServiceManager, authInfoManager]);
|
|
268
305
|
}
|
|
269
306
|
_inherits(OCAuthLive, _OCAuthCore2);
|
|
270
307
|
return _createClass(OCAuthLive);
|
|
@@ -277,18 +314,32 @@ var OCAuthSandbox = exports.OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3)
|
|
|
277
314
|
overrideLoginEndpoint = opts.loginEndPoint,
|
|
278
315
|
overrideLogoutEndpoint = opts.logoutEndPoint,
|
|
279
316
|
overridePublicKey = opts.publicKey,
|
|
317
|
+
overrideAirKitTokenEndpoint = opts.airKitTokenEndPoint,
|
|
318
|
+
overrideAirKitPartnerId = opts.airKitPartnerId,
|
|
319
|
+
overrideAirKitBuildEnv = opts.airKitBuildEnv,
|
|
280
320
|
redirectUri = opts.redirectUri,
|
|
281
321
|
referralCode = opts.referralCode,
|
|
282
|
-
|
|
322
|
+
useWalletService = opts.useWalletService;
|
|
283
323
|
var clientId = opts.clientId || 'sandbox';
|
|
284
324
|
var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';
|
|
285
325
|
var loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';
|
|
286
326
|
var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/logout';
|
|
327
|
+
var airKitTokenEndpoint = overrideAirKitTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/airkit/token';
|
|
287
328
|
var publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;
|
|
329
|
+
var airKitPartnerId = overrideAirKitPartnerId || SANDBOX_PARTNER_ID;
|
|
330
|
+
var airKitBuildEnv = overrideAirKitBuildEnv || _airkit.BUILD_ENV.SANDBOX;
|
|
331
|
+
var authInfoManager = new _AuthInfoManager["default"]();
|
|
288
332
|
var storageClass = (0, _StorageManager.getStorageClass)(opts);
|
|
333
|
+
var walletServiceManager = new _WalletServiceManager["default"]({
|
|
334
|
+
airKitPartnerId: airKitPartnerId,
|
|
335
|
+
airKitEnv: airKitBuildEnv,
|
|
336
|
+
airKitTokenEndpoint: airKitTokenEndpoint,
|
|
337
|
+
authInfoManager: authInfoManager,
|
|
338
|
+
useWalletService: useWalletService
|
|
339
|
+
});
|
|
289
340
|
var pkceTransactionManager = new _TransactionManager["default"](storageClass);
|
|
290
341
|
var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
|
|
291
|
-
return _callSuper(this, OCAuthSandbox, [clientId, loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint,
|
|
342
|
+
return _callSuper(this, OCAuthSandbox, [clientId, loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode, logoutEndpoint, walletServiceManager, authInfoManager]);
|
|
292
343
|
}
|
|
293
344
|
_inherits(OCAuthSandbox, _OCAuthCore3);
|
|
294
345
|
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
|
}));
|