@opencampus/ocid-connect-js 2.0.6 → 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/dist/ocid-connect-js.js +425 -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/auth.d.ts +4 -4
- package/lib/sdk/auth.js +101 -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 +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 -65
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,17 +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);
|
|
54
|
+
_defineProperty(this, "walletServiceManager", void 0);
|
|
51
55
|
if (!clientId) {
|
|
52
56
|
throw new _errors.InvalidParamsError('clientId is not defined');
|
|
53
57
|
}
|
|
54
58
|
this.transactionManager = transactionManager;
|
|
55
59
|
this.tokenManager = tokenManager;
|
|
56
|
-
this.authInfoManager =
|
|
60
|
+
this.authInfoManager = authInfoManager;
|
|
57
61
|
this.loginEndPoint = loginEndpoint;
|
|
58
62
|
this.logoutEndPoint = logoutEndPoint;
|
|
59
63
|
this.redirectUri = redirectUri;
|
|
60
64
|
this.referralCode = referralCode;
|
|
61
65
|
this.clientId = clientId;
|
|
66
|
+
this.walletServiceManager = walletServiceManager;
|
|
62
67
|
this.syncAuthInfo();
|
|
63
68
|
}
|
|
64
69
|
return _createClass(OCAuthCore, [{
|
|
@@ -70,20 +75,22 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
70
75
|
}, {
|
|
71
76
|
key: "logout",
|
|
72
77
|
value: function () {
|
|
73
|
-
var _logout = _asyncToGenerator(/*#__PURE__*/
|
|
78
|
+
var _logout = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(logoutReturnTo) {
|
|
74
79
|
var url;
|
|
75
|
-
return
|
|
76
|
-
while (1) switch (_context.
|
|
80
|
+
return _regenerator().w(function (_context) {
|
|
81
|
+
while (1) switch (_context.n) {
|
|
77
82
|
case 0:
|
|
78
83
|
this.clearStorage();
|
|
84
|
+
_context.n = 1;
|
|
85
|
+
return this.walletServiceManager.logout();
|
|
86
|
+
case 1:
|
|
79
87
|
url = new URL(this.logoutEndPoint);
|
|
80
88
|
if (logoutReturnTo) {
|
|
81
89
|
url.searchParams.append('returnTo', logoutReturnTo);
|
|
82
90
|
}
|
|
83
91
|
window.location.assign(url.toString());
|
|
84
|
-
case
|
|
85
|
-
|
|
86
|
-
return _context.stop();
|
|
92
|
+
case 2:
|
|
93
|
+
return _context.a(2);
|
|
87
94
|
}
|
|
88
95
|
}, _callee, this);
|
|
89
96
|
}));
|
|
@@ -95,29 +102,28 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
95
102
|
}, {
|
|
96
103
|
key: "signInWithRedirect",
|
|
97
104
|
value: function () {
|
|
98
|
-
var _signInWithRedirect = _asyncToGenerator(/*#__PURE__*/
|
|
105
|
+
var _signInWithRedirect = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(params) {
|
|
99
106
|
var paramsClone, signinParams, meta, requestUrl;
|
|
100
|
-
return
|
|
101
|
-
while (1) switch (_context2.
|
|
107
|
+
return _regenerator().w(function (_context2) {
|
|
108
|
+
while (1) switch (_context2.n) {
|
|
102
109
|
case 0:
|
|
103
110
|
// we use ONLY code flow with PKCE, so lacks a lot of options
|
|
104
111
|
// available in other OAuth SDKs.
|
|
105
112
|
paramsClone = Object.assign({}, params);
|
|
106
113
|
paramsClone.redirectUri = this.redirectUri;
|
|
107
114
|
paramsClone.clientId = this.clientId;
|
|
108
|
-
_context2.
|
|
115
|
+
_context2.n = 1;
|
|
109
116
|
return (0, _utils.prepareTokenParams)(paramsClone);
|
|
110
|
-
case
|
|
111
|
-
signinParams = _context2.
|
|
117
|
+
case 1:
|
|
118
|
+
signinParams = _context2.v;
|
|
112
119
|
meta = (0, _utils.createPkceMeta)(signinParams);
|
|
113
120
|
this.transactionManager.save(meta);
|
|
114
121
|
signinParams.referralCode = this.referralCode;
|
|
115
122
|
signinParams.emailPlaceholder = paramsClone.emailPlaceholder;
|
|
116
123
|
requestUrl = (0, _endpoints.buildAuthEndpointUrl)(signinParams, this.loginEndPoint);
|
|
117
124
|
window.location.assign(requestUrl);
|
|
118
|
-
case
|
|
119
|
-
|
|
120
|
-
return _context2.stop();
|
|
125
|
+
case 2:
|
|
126
|
+
return _context2.a(2);
|
|
121
127
|
}
|
|
122
128
|
}, _callee2, this);
|
|
123
129
|
}));
|
|
@@ -129,36 +135,35 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
129
135
|
}, {
|
|
130
136
|
key: "handleLoginRedirect",
|
|
131
137
|
value: function () {
|
|
132
|
-
var _handleLoginRedirect = _asyncToGenerator(/*#__PURE__*/
|
|
138
|
+
var _handleLoginRedirect = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
133
139
|
var urlParams, meta, codeVerifier;
|
|
134
|
-
return
|
|
135
|
-
while (1) switch (_context3.
|
|
140
|
+
return _regenerator().w(function (_context3) {
|
|
141
|
+
while (1) switch (_context3.n) {
|
|
136
142
|
case 0:
|
|
137
143
|
urlParams = (0, _utils.parseUrl)(); // Again we only handle PKCE code flow
|
|
138
144
|
if (!urlParams.code) {
|
|
139
|
-
_context3.
|
|
145
|
+
_context3.n = 4;
|
|
140
146
|
break;
|
|
141
147
|
}
|
|
142
148
|
meta = this.transactionManager.getTransactionMeta();
|
|
143
149
|
codeVerifier = meta.codeVerifier;
|
|
144
150
|
if (!codeVerifier) {
|
|
145
|
-
_context3.
|
|
151
|
+
_context3.n = 3;
|
|
146
152
|
break;
|
|
147
153
|
}
|
|
148
|
-
_context3.
|
|
154
|
+
_context3.n = 1;
|
|
149
155
|
return this.tokenManager.exchangeTokenFromCode(urlParams.code, codeVerifier, urlParams.state);
|
|
150
|
-
case
|
|
156
|
+
case 1:
|
|
151
157
|
// clear transaction meta, coz it's completed
|
|
152
158
|
this.transactionManager.clear();
|
|
153
|
-
|
|
154
|
-
return
|
|
155
|
-
case
|
|
159
|
+
_context3.n = 2;
|
|
160
|
+
return this.syncAuthInfo();
|
|
161
|
+
case 2:
|
|
162
|
+
return _context3.a(2, this.getAuthState());
|
|
163
|
+
case 3:
|
|
156
164
|
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();
|
|
165
|
+
case 4:
|
|
166
|
+
return _context3.a(2, {});
|
|
162
167
|
}
|
|
163
168
|
}, _callee3, this);
|
|
164
169
|
}));
|
|
@@ -175,16 +180,34 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
175
180
|
}
|
|
176
181
|
}, {
|
|
177
182
|
key: "syncAuthInfo",
|
|
178
|
-
value: function
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
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);
|
|
186
208
|
}
|
|
187
|
-
|
|
209
|
+
return syncAuthInfo;
|
|
210
|
+
}()
|
|
188
211
|
}, {
|
|
189
212
|
key: "getAuthState",
|
|
190
213
|
value: function getAuthState() {
|
|
@@ -243,6 +266,8 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
|
|
|
243
266
|
}();
|
|
244
267
|
var LIVE_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBIDHtLbgVM76SXZ4iuIjuO+ERQPnVpJzagOsZdYxFG3ZJmvfdpr/Z29SLUbdZWafrOlAVlKe1Ovf/tcH671tTw==';
|
|
245
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';
|
|
246
271
|
var OCAuthLive = exports.OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
|
|
247
272
|
function OCAuthLive() {
|
|
248
273
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -251,17 +276,32 @@ var OCAuthLive = exports.OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
|
|
|
251
276
|
overrideLoginEndpoint = opts.loginEndPoint,
|
|
252
277
|
overrideLogoutEndpoint = opts.logoutEndPoint,
|
|
253
278
|
overridePublicKey = opts.publicKey,
|
|
279
|
+
overrideAirKitTokenEndpoint = opts.airKitTokenEndPoint,
|
|
280
|
+
overrideAirKitPartnerId = opts.airKitPartnerId,
|
|
281
|
+
overrideAirKitBuildEnv = opts.airKitBuildEnv,
|
|
254
282
|
redirectUri = opts.redirectUri,
|
|
255
283
|
referralCode = opts.referralCode,
|
|
256
|
-
clientId = opts.clientId
|
|
284
|
+
clientId = opts.clientId,
|
|
285
|
+
useWalletService = opts.useWalletService;
|
|
257
286
|
var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';
|
|
258
287
|
var loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';
|
|
259
288
|
var logoutEndpoint = overrideLogoutEndpoint || 'https://api.login.opencampus.xyz/auth/logout';
|
|
289
|
+
var airKitTokenEndpoint = overrideAirKitTokenEndpoint || 'https://api.login.opencampus.xyz/auth/airkit/token';
|
|
260
290
|
var publicKey = overridePublicKey || LIVE_PUBLIC_KEY;
|
|
291
|
+
var airKitPartnerId = overrideAirKitPartnerId || LIVE_PARTNER_ID;
|
|
292
|
+
var airKitBuildEnv = overrideAirKitBuildEnv || _airkit.BUILD_ENV.PRODUCTION;
|
|
261
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
|
+
});
|
|
262
302
|
var pkceTransactionManager = new _TransactionManager["default"](storageClass);
|
|
263
303
|
var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
|
|
264
|
-
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]);
|
|
265
305
|
}
|
|
266
306
|
_inherits(OCAuthLive, _OCAuthCore2);
|
|
267
307
|
return _createClass(OCAuthLive);
|
|
@@ -274,17 +314,32 @@ var OCAuthSandbox = exports.OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3)
|
|
|
274
314
|
overrideLoginEndpoint = opts.loginEndPoint,
|
|
275
315
|
overrideLogoutEndpoint = opts.logoutEndPoint,
|
|
276
316
|
overridePublicKey = opts.publicKey,
|
|
317
|
+
overrideAirKitTokenEndpoint = opts.airKitTokenEndPoint,
|
|
318
|
+
overrideAirKitPartnerId = opts.airKitPartnerId,
|
|
319
|
+
overrideAirKitBuildEnv = opts.airKitBuildEnv,
|
|
277
320
|
redirectUri = opts.redirectUri,
|
|
278
|
-
referralCode = opts.referralCode
|
|
321
|
+
referralCode = opts.referralCode,
|
|
322
|
+
useWalletService = opts.useWalletService;
|
|
279
323
|
var clientId = opts.clientId || 'sandbox';
|
|
280
324
|
var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';
|
|
281
325
|
var loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';
|
|
282
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';
|
|
283
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"]();
|
|
284
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
|
+
});
|
|
285
340
|
var pkceTransactionManager = new _TransactionManager["default"](storageClass);
|
|
286
341
|
var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
|
|
287
|
-
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]);
|
|
288
343
|
}
|
|
289
344
|
_inherits(OCAuthSandbox, _OCAuthCore3);
|
|
290
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
|
}));
|