@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
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _airkit = require("@mocanetwork/airkit");
|
|
8
|
+
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); }
|
|
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
|
+
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
|
+
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
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
14
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
15
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
17
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
18
|
+
var airKitClient = null;
|
|
19
|
+
var AirKitServiceClient = /*#__PURE__*/function () {
|
|
20
|
+
function AirKitServiceClient(_ref) {
|
|
21
|
+
var airKitPartnerId = _ref.airKitPartnerId,
|
|
22
|
+
airKitEnv = _ref.airKitEnv,
|
|
23
|
+
airKitTokenEndpoint = _ref.airKitTokenEndpoint,
|
|
24
|
+
authInfoManager = _ref.authInfoManager;
|
|
25
|
+
_classCallCheck(this, AirKitServiceClient);
|
|
26
|
+
this.airKitTokenEndpoint = airKitTokenEndpoint;
|
|
27
|
+
this.airKitEnv = airKitEnv;
|
|
28
|
+
this.airService = new _airkit.AirService({
|
|
29
|
+
partnerId: airKitPartnerId,
|
|
30
|
+
environment: airKitEnv
|
|
31
|
+
});
|
|
32
|
+
this.airServiceInitialized = false;
|
|
33
|
+
this.authInfoManager = authInfoManager;
|
|
34
|
+
}
|
|
35
|
+
return _createClass(AirKitServiceClient, [{
|
|
36
|
+
key: "init",
|
|
37
|
+
value: function () {
|
|
38
|
+
var _init = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
39
|
+
return _regenerator().w(function (_context) {
|
|
40
|
+
while (1) switch (_context.n) {
|
|
41
|
+
case 0:
|
|
42
|
+
if (this.airServiceInitialized) {
|
|
43
|
+
_context.n = 2;
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
_context.n = 1;
|
|
47
|
+
return this.airService.init({
|
|
48
|
+
buildEnv: this.airKitEnv
|
|
49
|
+
});
|
|
50
|
+
case 1:
|
|
51
|
+
this.airServiceInitialized = true;
|
|
52
|
+
case 2:
|
|
53
|
+
return _context.a(2);
|
|
54
|
+
}
|
|
55
|
+
}, _callee, this);
|
|
56
|
+
}));
|
|
57
|
+
function init() {
|
|
58
|
+
return _init.apply(this, arguments);
|
|
59
|
+
}
|
|
60
|
+
return init;
|
|
61
|
+
}()
|
|
62
|
+
}, {
|
|
63
|
+
key: "getInstance",
|
|
64
|
+
value: function getInstance() {
|
|
65
|
+
if (!this.airServiceInitialized) {
|
|
66
|
+
console.log('AirService is initializing');
|
|
67
|
+
}
|
|
68
|
+
return this.airService;
|
|
69
|
+
}
|
|
70
|
+
}, {
|
|
71
|
+
key: "login",
|
|
72
|
+
value: function () {
|
|
73
|
+
var _login = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(accessToken) {
|
|
74
|
+
var response, tokenResponse, airKitToken;
|
|
75
|
+
return _regenerator().w(function (_context2) {
|
|
76
|
+
while (1) switch (_context2.n) {
|
|
77
|
+
case 0:
|
|
78
|
+
_context2.n = 1;
|
|
79
|
+
return this.init();
|
|
80
|
+
case 1:
|
|
81
|
+
_context2.n = 2;
|
|
82
|
+
return fetch(this.airKitTokenEndpoint, {
|
|
83
|
+
method: 'GET',
|
|
84
|
+
headers: {
|
|
85
|
+
'Content-Type': 'application/json',
|
|
86
|
+
Authorization: "Bearer ".concat(accessToken)
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
case 2:
|
|
90
|
+
response = _context2.v;
|
|
91
|
+
_context2.n = 3;
|
|
92
|
+
return response.json();
|
|
93
|
+
case 3:
|
|
94
|
+
tokenResponse = _context2.v;
|
|
95
|
+
airKitToken = tokenResponse.airKitToken;
|
|
96
|
+
if (!airKitToken) {
|
|
97
|
+
_context2.n = 5;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
_context2.n = 4;
|
|
101
|
+
return this.airService.login({
|
|
102
|
+
authToken: airKitToken
|
|
103
|
+
});
|
|
104
|
+
case 4:
|
|
105
|
+
this.authInfoManager.updateAuthState({
|
|
106
|
+
isLoggedInAirKit: true
|
|
107
|
+
});
|
|
108
|
+
case 5:
|
|
109
|
+
return _context2.a(2);
|
|
110
|
+
}
|
|
111
|
+
}, _callee2, this);
|
|
112
|
+
}));
|
|
113
|
+
function login(_x) {
|
|
114
|
+
return _login.apply(this, arguments);
|
|
115
|
+
}
|
|
116
|
+
return login;
|
|
117
|
+
}()
|
|
118
|
+
}, {
|
|
119
|
+
key: "logout",
|
|
120
|
+
value: function () {
|
|
121
|
+
var _logout = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
122
|
+
return _regenerator().w(function (_context3) {
|
|
123
|
+
while (1) switch (_context3.n) {
|
|
124
|
+
case 0:
|
|
125
|
+
if (!this.airService.isLoggedIn) {
|
|
126
|
+
_context3.n = 1;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
_context3.n = 1;
|
|
130
|
+
return this.airService.logout();
|
|
131
|
+
case 1:
|
|
132
|
+
this.authInfoManager.updateAuthState({
|
|
133
|
+
isLoggedInAirKit: false
|
|
134
|
+
});
|
|
135
|
+
case 2:
|
|
136
|
+
return _context3.a(2);
|
|
137
|
+
}
|
|
138
|
+
}, _callee3, this);
|
|
139
|
+
}));
|
|
140
|
+
function logout() {
|
|
141
|
+
return _logout.apply(this, arguments);
|
|
142
|
+
}
|
|
143
|
+
return logout;
|
|
144
|
+
}()
|
|
145
|
+
}]);
|
|
146
|
+
}();
|
|
147
|
+
var EmptyAirKitServiceClient = /*#__PURE__*/function () {
|
|
148
|
+
function EmptyAirKitServiceClient() {
|
|
149
|
+
_classCallCheck(this, EmptyAirKitServiceClient);
|
|
150
|
+
console.log('AirKit Service is disabled.');
|
|
151
|
+
}
|
|
152
|
+
return _createClass(EmptyAirKitServiceClient, [{
|
|
153
|
+
key: "init",
|
|
154
|
+
value: function () {
|
|
155
|
+
var _init2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
|
|
156
|
+
return _regenerator().w(function (_context4) {
|
|
157
|
+
while (1) switch (_context4.n) {
|
|
158
|
+
case 0:
|
|
159
|
+
return _context4.a(2);
|
|
160
|
+
}
|
|
161
|
+
}, _callee4);
|
|
162
|
+
}));
|
|
163
|
+
function init() {
|
|
164
|
+
return _init2.apply(this, arguments);
|
|
165
|
+
}
|
|
166
|
+
return init;
|
|
167
|
+
}()
|
|
168
|
+
}, {
|
|
169
|
+
key: "getInstance",
|
|
170
|
+
value: function () {
|
|
171
|
+
var _getInstance = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
|
|
172
|
+
return _regenerator().w(function (_context5) {
|
|
173
|
+
while (1) switch (_context5.n) {
|
|
174
|
+
case 0:
|
|
175
|
+
return _context5.a(2, null);
|
|
176
|
+
}
|
|
177
|
+
}, _callee5);
|
|
178
|
+
}));
|
|
179
|
+
function getInstance() {
|
|
180
|
+
return _getInstance.apply(this, arguments);
|
|
181
|
+
}
|
|
182
|
+
return getInstance;
|
|
183
|
+
}()
|
|
184
|
+
}, {
|
|
185
|
+
key: "login",
|
|
186
|
+
value: function () {
|
|
187
|
+
var _login2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {
|
|
188
|
+
return _regenerator().w(function (_context6) {
|
|
189
|
+
while (1) switch (_context6.n) {
|
|
190
|
+
case 0:
|
|
191
|
+
return _context6.a(2);
|
|
192
|
+
}
|
|
193
|
+
}, _callee6);
|
|
194
|
+
}));
|
|
195
|
+
function login() {
|
|
196
|
+
return _login2.apply(this, arguments);
|
|
197
|
+
}
|
|
198
|
+
return login;
|
|
199
|
+
}()
|
|
200
|
+
}, {
|
|
201
|
+
key: "logout",
|
|
202
|
+
value: function () {
|
|
203
|
+
var _logout2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {
|
|
204
|
+
return _regenerator().w(function (_context7) {
|
|
205
|
+
while (1) switch (_context7.n) {
|
|
206
|
+
case 0:
|
|
207
|
+
return _context7.a(2);
|
|
208
|
+
}
|
|
209
|
+
}, _callee7);
|
|
210
|
+
}));
|
|
211
|
+
function logout() {
|
|
212
|
+
return _logout2.apply(this, arguments);
|
|
213
|
+
}
|
|
214
|
+
return logout;
|
|
215
|
+
}()
|
|
216
|
+
}]);
|
|
217
|
+
}();
|
|
218
|
+
var _default = exports["default"] = {
|
|
219
|
+
getClient: function getClient(airKitPartnerId, airKitEnv, airKitTokenEndpoint) {
|
|
220
|
+
var useAirKitService = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
221
|
+
var authInfoManager = arguments.length > 4 ? arguments[4] : undefined;
|
|
222
|
+
if (!airKitClient) {
|
|
223
|
+
if (!useAirKitService) {
|
|
224
|
+
airKitClient = new EmptyAirKitServiceClient();
|
|
225
|
+
return airKitClient;
|
|
226
|
+
}
|
|
227
|
+
var airService = new AirKitServiceClient({
|
|
228
|
+
airKitPartnerId: airKitPartnerId,
|
|
229
|
+
airKitEnv: airKitEnv,
|
|
230
|
+
airKitTokenEndpoint: airKitTokenEndpoint,
|
|
231
|
+
authInfoManager: authInfoManager
|
|
232
|
+
});
|
|
233
|
+
airKitClient = airService;
|
|
234
|
+
}
|
|
235
|
+
return airKitClient;
|
|
236
|
+
}
|
|
237
|
+
};
|
|
@@ -5,6 +5,7 @@ declare class AuthInfoManager {
|
|
|
5
5
|
_emitter: any;
|
|
6
6
|
setAuthState(accessToken: any, idToken: any, OCId: any, ethAddress: any, isAuthenticated: any): void;
|
|
7
7
|
getAuthState(): any;
|
|
8
|
+
updateAuthState(partialAuthState: any): void;
|
|
8
9
|
clear(): void;
|
|
9
10
|
subscribe(handler: any): void;
|
|
10
11
|
unsubscribe(handler: any): void;
|
|
@@ -47,6 +47,12 @@ var AuthInfoManager = /*#__PURE__*/function () {
|
|
|
47
47
|
value: function getAuthState() {
|
|
48
48
|
return Object.assign({}, this._authState);
|
|
49
49
|
}
|
|
50
|
+
}, {
|
|
51
|
+
key: "updateAuthState",
|
|
52
|
+
value: function updateAuthState(partialAuthState) {
|
|
53
|
+
this._authState = Object.assign({}, this._authState, partialAuthState);
|
|
54
|
+
this._emitter.emit(EVENT_AUTH_STATE_CHANGE, this._authState);
|
|
55
|
+
}
|
|
50
56
|
}, {
|
|
51
57
|
key: "clear",
|
|
52
58
|
value: function clear() {
|
|
@@ -8,7 +8,8 @@ var _utils = require("../utils");
|
|
|
8
8
|
var _crypto = require("../crypto");
|
|
9
9
|
var _errors = require("../utils/errors");
|
|
10
10
|
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); }
|
|
11
|
-
function
|
|
11
|
+
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 }; })(); }
|
|
12
|
+
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); }
|
|
12
13
|
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); }
|
|
13
14
|
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); }); }; }
|
|
14
15
|
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
@@ -45,7 +46,7 @@ var TokenManager = /*#__PURE__*/function () {
|
|
|
45
46
|
}, {
|
|
46
47
|
key: "exchangeTokenFromCode",
|
|
47
48
|
value: function () {
|
|
48
|
-
var _exchangeTokenFromCode = _asyncToGenerator(/*#__PURE__*/
|
|
49
|
+
var _exchangeTokenFromCode = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(accessCode, codeVerifier) {
|
|
49
50
|
var state,
|
|
50
51
|
body,
|
|
51
52
|
response,
|
|
@@ -56,17 +57,18 @@ var TokenManager = /*#__PURE__*/function () {
|
|
|
56
57
|
tokenVerified,
|
|
57
58
|
parsedAccessToken,
|
|
58
59
|
storageData,
|
|
59
|
-
_args = arguments
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
_args = arguments,
|
|
61
|
+
_t;
|
|
62
|
+
return _regenerator().w(function (_context) {
|
|
63
|
+
while (1) switch (_context.p = _context.n) {
|
|
62
64
|
case 0:
|
|
63
65
|
state = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;
|
|
64
66
|
body = {
|
|
65
67
|
accessCode: accessCode,
|
|
66
68
|
codeVerifier: codeVerifier
|
|
67
69
|
};
|
|
68
|
-
_context.
|
|
69
|
-
_context.
|
|
70
|
+
_context.p = 1;
|
|
71
|
+
_context.n = 2;
|
|
70
72
|
return fetch(this.tokenEndPoint, {
|
|
71
73
|
method: 'POST',
|
|
72
74
|
headers: {
|
|
@@ -74,34 +76,34 @@ var TokenManager = /*#__PURE__*/function () {
|
|
|
74
76
|
},
|
|
75
77
|
body: JSON.stringify(body)
|
|
76
78
|
});
|
|
77
|
-
case
|
|
78
|
-
response = _context.
|
|
79
|
-
_context.
|
|
79
|
+
case 2:
|
|
80
|
+
response = _context.v;
|
|
81
|
+
_context.n = 3;
|
|
80
82
|
return response.json();
|
|
81
|
-
case
|
|
82
|
-
_yield$response$json = _context.
|
|
83
|
+
case 3:
|
|
84
|
+
_yield$response$json = _context.v;
|
|
83
85
|
access_token = _yield$response$json.access_token;
|
|
84
86
|
id_token = _yield$response$json.id_token;
|
|
85
87
|
if (!(!access_token || !id_token)) {
|
|
86
|
-
_context.
|
|
88
|
+
_context.n = 4;
|
|
87
89
|
break;
|
|
88
90
|
}
|
|
89
91
|
throw new _errors.AuthError('Fail to exchange token');
|
|
90
|
-
case
|
|
91
|
-
_context.
|
|
92
|
+
case 4:
|
|
93
|
+
_context.n = 5;
|
|
92
94
|
return this.getPublicKey();
|
|
93
|
-
case
|
|
94
|
-
pubKey = _context.
|
|
95
|
-
_context.
|
|
95
|
+
case 5:
|
|
96
|
+
pubKey = _context.v;
|
|
97
|
+
_context.n = 6;
|
|
96
98
|
return (0, _crypto.verifyToken)(id_token, pubKey);
|
|
97
|
-
case
|
|
98
|
-
tokenVerified = _context.
|
|
99
|
+
case 6:
|
|
100
|
+
tokenVerified = _context.v;
|
|
99
101
|
if (tokenVerified) {
|
|
100
|
-
_context.
|
|
102
|
+
_context.n = 7;
|
|
101
103
|
break;
|
|
102
104
|
}
|
|
103
105
|
throw new _errors.AuthError('Unable to verify token');
|
|
104
|
-
case
|
|
106
|
+
case 7:
|
|
105
107
|
parsedAccessToken = (0, _utils.parseJwt)(access_token);
|
|
106
108
|
storageData = Object.assign({
|
|
107
109
|
access_token: access_token,
|
|
@@ -111,18 +113,17 @@ var TokenManager = /*#__PURE__*/function () {
|
|
|
111
113
|
state: state
|
|
112
114
|
});
|
|
113
115
|
this.storageManager.getStorageObject().setStorage(storageData);
|
|
114
|
-
_context.
|
|
116
|
+
_context.n = 9;
|
|
115
117
|
break;
|
|
116
|
-
case
|
|
117
|
-
_context.
|
|
118
|
-
|
|
119
|
-
console.log(
|
|
118
|
+
case 8:
|
|
119
|
+
_context.p = 8;
|
|
120
|
+
_t = _context.v;
|
|
121
|
+
console.log(_t);
|
|
120
122
|
throw new _errors.AuthError('Token acquisition failed');
|
|
121
|
-
case
|
|
122
|
-
|
|
123
|
-
return _context.stop();
|
|
123
|
+
case 9:
|
|
124
|
+
return _context.a(2);
|
|
124
125
|
}
|
|
125
|
-
}, _callee, this, [[
|
|
126
|
+
}, _callee, this, [[1, 8]]);
|
|
126
127
|
}));
|
|
127
128
|
function exchangeTokenFromCode(_x, _x2) {
|
|
128
129
|
return _exchangeTokenFromCode.apply(this, arguments);
|
|
@@ -152,14 +153,11 @@ var TokenManager = /*#__PURE__*/function () {
|
|
|
152
153
|
}, {
|
|
153
154
|
key: "getPublicKey",
|
|
154
155
|
value: function () {
|
|
155
|
-
var _getPublicKey = _asyncToGenerator(/*#__PURE__*/
|
|
156
|
-
return
|
|
157
|
-
while (1) switch (_context2.
|
|
156
|
+
var _getPublicKey = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
157
|
+
return _regenerator().w(function (_context2) {
|
|
158
|
+
while (1) switch (_context2.n) {
|
|
158
159
|
case 0:
|
|
159
|
-
return _context2.
|
|
160
|
-
case 1:
|
|
161
|
-
case "end":
|
|
162
|
-
return _context2.stop();
|
|
160
|
+
return _context2.a(2, this.publicKey);
|
|
163
161
|
}
|
|
164
162
|
}, _callee2, this);
|
|
165
163
|
}));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export default WalletServiceManager;
|
|
2
|
+
declare class WalletServiceManager {
|
|
3
|
+
constructor({ airKitPartnerId, airKitEnv, airKitTokenEndpoint, authInfoManager, useWalletService, }: {
|
|
4
|
+
airKitPartnerId: any;
|
|
5
|
+
airKitEnv: any;
|
|
6
|
+
airKitTokenEndpoint: any;
|
|
7
|
+
authInfoManager: any;
|
|
8
|
+
useWalletService: any;
|
|
9
|
+
});
|
|
10
|
+
airKitTokenEndpoint: any;
|
|
11
|
+
airKitEnv: any;
|
|
12
|
+
authInfoManager: any;
|
|
13
|
+
init(): Promise<void>;
|
|
14
|
+
login(accessToken: any): Promise<void>;
|
|
15
|
+
logout(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _airkit = require("@mocanetwork/airkit");
|
|
8
|
+
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); }
|
|
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
|
+
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
|
+
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
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
14
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
15
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
17
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
18
|
+
var _airService = null;
|
|
19
|
+
var _airServiceInitialized = false;
|
|
20
|
+
var WalletServiceManager = /*#__PURE__*/function () {
|
|
21
|
+
function WalletServiceManager(_ref) {
|
|
22
|
+
var airKitPartnerId = _ref.airKitPartnerId,
|
|
23
|
+
airKitEnv = _ref.airKitEnv,
|
|
24
|
+
airKitTokenEndpoint = _ref.airKitTokenEndpoint,
|
|
25
|
+
authInfoManager = _ref.authInfoManager,
|
|
26
|
+
useWalletService = _ref.useWalletService;
|
|
27
|
+
_classCallCheck(this, WalletServiceManager);
|
|
28
|
+
this.airKitTokenEndpoint = airKitTokenEndpoint;
|
|
29
|
+
this.airKitEnv = airKitEnv;
|
|
30
|
+
this.authInfoManager = authInfoManager;
|
|
31
|
+
if (useWalletService && !_airService) {
|
|
32
|
+
_airService = new _airkit.AirService({
|
|
33
|
+
partnerId: airKitPartnerId,
|
|
34
|
+
environment: airKitEnv
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return _createClass(WalletServiceManager, [{
|
|
39
|
+
key: "init",
|
|
40
|
+
value: function () {
|
|
41
|
+
var _init = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
42
|
+
return _regenerator().w(function (_context) {
|
|
43
|
+
while (1) switch (_context.n) {
|
|
44
|
+
case 0:
|
|
45
|
+
if (!(_airService && !_airServiceInitialized)) {
|
|
46
|
+
_context.n = 2;
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
_context.n = 1;
|
|
50
|
+
return _airService.init({
|
|
51
|
+
buildEnv: this.airKitEnv
|
|
52
|
+
});
|
|
53
|
+
case 1:
|
|
54
|
+
_airServiceInitialized = true;
|
|
55
|
+
case 2:
|
|
56
|
+
return _context.a(2);
|
|
57
|
+
}
|
|
58
|
+
}, _callee, this);
|
|
59
|
+
}));
|
|
60
|
+
function init() {
|
|
61
|
+
return _init.apply(this, arguments);
|
|
62
|
+
}
|
|
63
|
+
return init;
|
|
64
|
+
}()
|
|
65
|
+
}, {
|
|
66
|
+
key: "login",
|
|
67
|
+
value: function () {
|
|
68
|
+
var _login = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(accessToken) {
|
|
69
|
+
var response, tokenResponse, airKitToken;
|
|
70
|
+
return _regenerator().w(function (_context2) {
|
|
71
|
+
while (1) switch (_context2.n) {
|
|
72
|
+
case 0:
|
|
73
|
+
if (!_airService) {
|
|
74
|
+
_context2.n = 5;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
_context2.n = 1;
|
|
78
|
+
return this.init();
|
|
79
|
+
case 1:
|
|
80
|
+
_context2.n = 2;
|
|
81
|
+
return fetch(this.airKitTokenEndpoint, {
|
|
82
|
+
method: "GET",
|
|
83
|
+
headers: {
|
|
84
|
+
"Content-Type": "application/json",
|
|
85
|
+
Authorization: "Bearer ".concat(accessToken)
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
case 2:
|
|
89
|
+
response = _context2.v;
|
|
90
|
+
_context2.n = 3;
|
|
91
|
+
return response.json();
|
|
92
|
+
case 3:
|
|
93
|
+
tokenResponse = _context2.v;
|
|
94
|
+
airKitToken = tokenResponse.airKitToken;
|
|
95
|
+
if (!airKitToken) {
|
|
96
|
+
_context2.n = 5;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
_context2.n = 4;
|
|
100
|
+
return _airService.login({
|
|
101
|
+
authToken: airKitToken
|
|
102
|
+
});
|
|
103
|
+
case 4:
|
|
104
|
+
this.authInfoManager.updateAuthState({
|
|
105
|
+
walletService: _airService
|
|
106
|
+
});
|
|
107
|
+
case 5:
|
|
108
|
+
return _context2.a(2);
|
|
109
|
+
}
|
|
110
|
+
}, _callee2, this);
|
|
111
|
+
}));
|
|
112
|
+
function login(_x) {
|
|
113
|
+
return _login.apply(this, arguments);
|
|
114
|
+
}
|
|
115
|
+
return login;
|
|
116
|
+
}()
|
|
117
|
+
}, {
|
|
118
|
+
key: "logout",
|
|
119
|
+
value: function () {
|
|
120
|
+
var _logout = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
121
|
+
return _regenerator().w(function (_context3) {
|
|
122
|
+
while (1) switch (_context3.n) {
|
|
123
|
+
case 0:
|
|
124
|
+
if (!(_airService && _airService.isLoggedIn)) {
|
|
125
|
+
_context3.n = 2;
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
_context3.n = 1;
|
|
129
|
+
return _airService.logout();
|
|
130
|
+
case 1:
|
|
131
|
+
this.authInfoManager.updateAuthState({
|
|
132
|
+
walletService: undefined
|
|
133
|
+
});
|
|
134
|
+
case 2:
|
|
135
|
+
return _context3.a(2);
|
|
136
|
+
}
|
|
137
|
+
}, _callee3, this);
|
|
138
|
+
}));
|
|
139
|
+
function logout() {
|
|
140
|
+
return _logout.apply(this, arguments);
|
|
141
|
+
}
|
|
142
|
+
return logout;
|
|
143
|
+
}()
|
|
144
|
+
}]);
|
|
145
|
+
}();
|
|
146
|
+
var _default = exports["default"] = WalletServiceManager;
|