@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
|
@@ -1,6 +1,5 @@
|
|
|
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
|
});
|
|
@@ -8,7 +7,8 @@ exports.prepareTokenParams = void 0;
|
|
|
8
7
|
var _pkce = _interopRequireDefault(require("../lib/pkce"));
|
|
9
8
|
var _errors = require("./errors");
|
|
10
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
|
-
function
|
|
10
|
+
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 }; })(); }
|
|
11
|
+
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
12
|
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
13
|
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
14
|
* Copyright 2024-Present Animoca Brands Corporation Ltd.
|
|
@@ -20,10 +20,10 @@ function _asyncToGenerator(n) { return function () { var t = this, e = arguments
|
|
|
20
20
|
* 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.
|
|
21
21
|
*/
|
|
22
22
|
var prepareTokenParams = exports.prepareTokenParams = /*#__PURE__*/function () {
|
|
23
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/
|
|
23
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(params) {
|
|
24
24
|
var clientId, redirectUri, state, codeVerifier, codeChallenge, tokenParams;
|
|
25
|
-
return
|
|
26
|
-
while (1) switch (_context.
|
|
25
|
+
return _regenerator().w(function (_context) {
|
|
26
|
+
while (1) switch (_context.n) {
|
|
27
27
|
case 0:
|
|
28
28
|
// prepare all the params needed for building the signin flow
|
|
29
29
|
// mandatory redirect_uri, for now, we only allow user to set redirect_uri and state
|
|
@@ -31,17 +31,17 @@ var prepareTokenParams = exports.prepareTokenParams = /*#__PURE__*/function () {
|
|
|
31
31
|
// we prepare all the rest
|
|
32
32
|
clientId = params.clientId, redirectUri = params.redirectUri, state = params.state;
|
|
33
33
|
if (redirectUri) {
|
|
34
|
-
_context.
|
|
34
|
+
_context.n = 1;
|
|
35
35
|
break;
|
|
36
36
|
}
|
|
37
37
|
throw new _errors.InvalidParamsError(' No redirect uri params!');
|
|
38
|
-
case
|
|
38
|
+
case 1:
|
|
39
39
|
// must be pkce
|
|
40
40
|
codeVerifier = _pkce["default"].generateVerifier();
|
|
41
|
-
_context.
|
|
41
|
+
_context.n = 2;
|
|
42
42
|
return _pkce["default"].computeChallenge(codeVerifier);
|
|
43
|
-
case
|
|
44
|
-
codeChallenge = _context.
|
|
43
|
+
case 2:
|
|
44
|
+
codeChallenge = _context.v;
|
|
45
45
|
// pack up the full set of token params needed
|
|
46
46
|
tokenParams = {
|
|
47
47
|
clientId: clientId,
|
|
@@ -55,10 +55,7 @@ var prepareTokenParams = exports.prepareTokenParams = /*#__PURE__*/function () {
|
|
|
55
55
|
if (state !== undefined && state !== null) {
|
|
56
56
|
tokenParams.state = state;
|
|
57
57
|
}
|
|
58
|
-
return _context.
|
|
59
|
-
case 10:
|
|
60
|
-
case "end":
|
|
61
|
-
return _context.stop();
|
|
58
|
+
return _context.a(2, tokenParams);
|
|
62
59
|
}
|
|
63
60
|
}, _callee);
|
|
64
61
|
}));
|
package/package.json
CHANGED
|
@@ -1,10 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opencampus/ocid-connect-js",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.8",
|
|
4
4
|
"author": "Animoca Brands",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "OCID Connector Library",
|
|
7
7
|
"main": "./lib",
|
|
8
|
+
"module": "./lib/index.js",
|
|
9
|
+
"sideEffects": [
|
|
10
|
+
"./lib/sdk/airkit.js",
|
|
11
|
+
"./lib/react/*.css"
|
|
12
|
+
],
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"require": "./lib/index.js",
|
|
16
|
+
"import": "./lib/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./react": {
|
|
19
|
+
"require": "./lib/react/index.js",
|
|
20
|
+
"import": "./lib/react/index.js"
|
|
21
|
+
},
|
|
22
|
+
"./sdk": {
|
|
23
|
+
"require": "./lib/sdk/index.js",
|
|
24
|
+
"import": "./lib/sdk/index.js"
|
|
25
|
+
},
|
|
26
|
+
"./sdk/airkit": {
|
|
27
|
+
"require": "./lib/sdk/airkit.js",
|
|
28
|
+
"import": "./lib/sdk/airkit.js"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
8
31
|
"files": [
|
|
9
32
|
"dist",
|
|
10
33
|
"lib"
|
|
@@ -14,6 +37,7 @@
|
|
|
14
37
|
"generate-types": "tsc --declaration --allowJs --emitDeclarationOnly",
|
|
15
38
|
"lib": "babel ./src --out-dir ./lib && cp ./src/react/*.css lib/react/ && yarn generate-types",
|
|
16
39
|
"build": "NODE_OPTIONS=--openssl-legacy-provider npm run lib && NODE_OPTIONS=--openssl-legacy-provider gulp dist",
|
|
40
|
+
"test:tree-shake": "node scripts/check-tree-shake.js",
|
|
17
41
|
"prepublishOnly": "npm run build",
|
|
18
42
|
"lint": "eslint src",
|
|
19
43
|
"precommit": "lint-staged"
|
|
@@ -37,6 +61,7 @@
|
|
|
37
61
|
"deepmerge": "^1.1.0",
|
|
38
62
|
"del": "^2.2.2",
|
|
39
63
|
"es5-shim": "^4.5.9",
|
|
64
|
+
"esbuild": "^0.28.0",
|
|
40
65
|
"eslint": "^8.4.1",
|
|
41
66
|
"eslint-plugin-import": "^2.25.3",
|
|
42
67
|
"eslint-plugin-react": "^7.27.1",
|
|
@@ -60,6 +85,7 @@
|
|
|
60
85
|
"webpack-cli": "^3.1.2"
|
|
61
86
|
},
|
|
62
87
|
"dependencies": {
|
|
88
|
+
"@mocanetwork/airkit": "^1.6.0",
|
|
63
89
|
"js-cookie": "^3.0.5",
|
|
64
90
|
"tiny-emitter": "^2.1.0"
|
|
65
91
|
},
|
|
@@ -86,4 +112,4 @@
|
|
|
86
112
|
]
|
|
87
113
|
}
|
|
88
114
|
]
|
|
89
|
-
}
|
|
115
|
+
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
## [v2.0.6] - 2025-04-29
|
|
6
|
-
### Changed
|
|
7
|
-
- add emailPlaceHolder as param in signinWithRedirect
|
|
8
|
-
- add emailPlaceHolder as property in LoginButton
|
|
9
|
-
- remove emailPlaceHolder as param in opts
|
|
10
|
-
|
|
11
|
-
## [v2.0.5] - 2025-11-06
|
|
12
|
-
### Changed
|
|
13
|
-
- Add option to send email to login process.
|
|
14
|
-
|
|
15
|
-
## [v2.0.3] - 2025-04-29
|
|
16
|
-
### Changed
|
|
17
|
-
- Allow overriding state in LoginButton
|
|
18
|
-
|
|
19
|
-
## [v2.0.2] - 2025-04-28
|
|
20
|
-
### Changed
|
|
21
|
-
- Update for React v19
|
|
22
|
-
|
|
23
|
-
## [v2.0.1] - 2025-04-03
|
|
24
|
-
### Changed
|
|
25
|
-
- Add optional storage key override to allow overlap cookie domain to distinguish their own storage states.
|
|
26
|
-
|
|
27
|
-
## [v2.0.0] - 2025-03-28
|
|
28
|
-
### Changed
|
|
29
|
-
- Authentication Client Id.
|
|
30
|
-
- New updated spinner while waiting for token exchange.
|
|
31
|
-
|
|
32
|
-
## [v1.2.3] - 2024-11-04
|
|
33
|
-
### Changed
|
|
34
|
-
- Add logoutReturnTo as an optional parameter to logout method so users can instruct OC Service to return to a designation url after logging out.
|
|
35
|
-
|
|
36
|
-
## [v1.2.2] - 2024-10-16
|
|
37
|
-
### Changed
|
|
38
|
-
- Add new properties to OCAuthCore:
|
|
39
|
-
- OCId
|
|
40
|
-
- ethAddress
|
|
41
|
-
- State parameters (from signup process)
|
|
42
|
-
|
|
43
|
-
## [v1.2.1] - 2024-10-03
|
|
44
|
-
### Changed
|
|
45
|
-
- Add methods to access parsed data from idToken and accessToken
|
|
46
|
-
|
|
47
|
-
## [v1.2.0] - 2024-09-22
|
|
48
|
-
### Added
|
|
49
|
-
- Add logout function to instruct OC to log user out of OC Service
|
|
50
|
-
|
|
51
|
-
## [v1.1.2] - 2024-08-28
|
|
52
|
-
### Changed
|
|
53
|
-
- Add option to send referral code to registration process.
|
|
54
|
-
- Referral code is used in OpenCampus for bonus points.
|
|
55
|
-
|
|
56
|
-
## [v1.1.0] - 2024-08-22
|
|
57
|
-
### Added
|
|
58
|
-
- Improved cross-domain storage handling
|
|
59
|
-
- Implemented cookie-based storage option:
|
|
60
|
-
- Added `storageType: 'cookie'` option
|
|
61
|
-
- Added `cookieDomain` configuration for domain specification
|
|
62
|
-
|
|
63
|
-
## [v1.0.1] - 2024-08-06
|
|
64
|
-
### Added
|
|
65
|
-
- Initial release
|