@owneraio/finp2p-sdk-js 0.15.11 → 0.16.0
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.
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { Config } from '../../types/Auth';
|
|
2
3
|
import { Logger } from '../../types/Core/Logger';
|
|
3
|
-
export declare const
|
|
4
|
+
export declare const createJwtToken: (orgId: string, cfg: Config, logger: Logger) => string;
|
|
4
5
|
export declare const validateAuthConfig: (logger: Logger, cfg?: Config) => void;
|
|
6
|
+
export declare const generateNonce: () => Buffer;
|
|
@@ -22,36 +22,41 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
25
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.validateAuthConfig = exports.
|
|
29
|
+
exports.generateNonce = exports.validateAuthConfig = exports.createJwtToken = void 0;
|
|
27
30
|
const Auth_1 = require("../../types/Auth");
|
|
28
31
|
const crypto = __importStar(require("crypto"));
|
|
29
|
-
const
|
|
30
|
-
|
|
32
|
+
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
33
|
+
const createJwtToken = (orgId, cfg, logger) => {
|
|
31
34
|
const timestamp = Math.floor(new Date().getTime() / 1000);
|
|
32
|
-
const
|
|
33
|
-
|
|
35
|
+
const nonce = (0, exports.generateNonce)();
|
|
36
|
+
const expireAt = timestamp + 30;
|
|
37
|
+
let algorithm;
|
|
34
38
|
switch (cfg.secret.type) {
|
|
35
39
|
case Auth_1.SecretType.HS256:
|
|
36
|
-
|
|
40
|
+
algorithm = 'HS256';
|
|
37
41
|
break;
|
|
38
42
|
case Auth_1.SecretType.RS256:
|
|
39
|
-
|
|
43
|
+
algorithm = 'RS256';
|
|
40
44
|
break;
|
|
41
45
|
default:
|
|
42
46
|
logger.error('[sdk] unsupported secret type');
|
|
43
47
|
return '';
|
|
44
48
|
}
|
|
45
|
-
const
|
|
46
|
-
|
|
49
|
+
const payload = {
|
|
50
|
+
aud: orgId,
|
|
47
51
|
apiKey: cfg.apiKey,
|
|
48
|
-
nonce,
|
|
49
|
-
timestamp,
|
|
50
|
-
|
|
52
|
+
nonce: nonce.toString('hex'),
|
|
53
|
+
iat: timestamp,
|
|
54
|
+
exp: expireAt
|
|
51
55
|
};
|
|
52
|
-
|
|
56
|
+
const secret = cfg.secret.raw;
|
|
57
|
+
return jsonwebtoken_1.default.sign(payload, secret, { algorithm });
|
|
53
58
|
};
|
|
54
|
-
exports.
|
|
59
|
+
exports.createJwtToken = createJwtToken;
|
|
55
60
|
const validateAuthConfig = (logger, cfg) => {
|
|
56
61
|
if (!(cfg === null || cfg === void 0 ? void 0 : cfg.apiKey.length)) {
|
|
57
62
|
throw {
|
|
@@ -99,4 +104,13 @@ const validateAuthConfig = (logger, cfg) => {
|
|
|
99
104
|
}
|
|
100
105
|
};
|
|
101
106
|
exports.validateAuthConfig = validateAuthConfig;
|
|
107
|
+
const generateNonce = () => {
|
|
108
|
+
const buffer = Buffer.alloc(32);
|
|
109
|
+
buffer.fill(crypto.randomBytes(24), 0, 24);
|
|
110
|
+
const nowEpochSeconds = Math.floor(new Date().getTime() / 1000);
|
|
111
|
+
const t = BigInt(nowEpochSeconds);
|
|
112
|
+
buffer.writeBigInt64BE(t, 24);
|
|
113
|
+
return buffer;
|
|
114
|
+
};
|
|
115
|
+
exports.generateNonce = generateNonce;
|
|
102
116
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/OwneraAPI/finp2p-node-api/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/OwneraAPI/finp2p-node-api/auth.ts"],"names":[],"mappings":"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"}
|
package/lib/OwneraAPI/index.js
CHANGED
|
@@ -22,12 +22,12 @@ exports.default = (options) => {
|
|
|
22
22
|
const apiConnector = (0, utils_1.createConnector)(owneraAPIAddress);
|
|
23
23
|
if (!!authConfig) {
|
|
24
24
|
(0, auth_1.validateAuthConfig)(logger, authConfig);
|
|
25
|
-
gqlClient = new utils_1.GqlClient(`${owneraAPIAddress}oss/query`, () => `${(0, auth_1.
|
|
25
|
+
gqlClient = new utils_1.GqlClient(`${owneraAPIAddress}oss/query`, () => `${(0, auth_1.createJwtToken)(orgId, authConfig, logger)}`, logger);
|
|
26
26
|
apiConnector.interceptors.request.use((config) => {
|
|
27
|
-
config.headers.Authorization = `Bearer ${(0, auth_1.
|
|
27
|
+
config.headers.Authorization = `Bearer ${(0, auth_1.createJwtToken)(orgId, authConfig, logger)}`;
|
|
28
28
|
return config;
|
|
29
29
|
});
|
|
30
|
-
gqlClient.setAuthInterceptor(() => `${(0, auth_1.
|
|
30
|
+
gqlClient.setAuthInterceptor(() => `${(0, auth_1.createJwtToken)(orgId, authConfig, logger)}`);
|
|
31
31
|
}
|
|
32
32
|
if (!gqlClient) {
|
|
33
33
|
throw {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/OwneraAPI/index.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/OwneraAPI/index.ts"],"names":[],"mappings":";;;;;AAAA,iDAA4E;AAC5E,0EAAkD;AAClD,4EAAoD;AACpD,kFAA0D;AAC1D,sEAA8C;AAC9C,wDAAgC;AAChC,oFAA4D;AAC5D,gEAAoC;AACpC,8DAAkC;AAClC,mCAAqD;AAErD,0EAAkD;AAElD,8EAAsD;AACtD,0EAAkD;AAElD,kBAAe,CAAC,OAAyB,EAAsB,EAAE;IAC/D,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEvF,IAAI,SAAgC,CAAC;IACrC,MAAM,YAAY,GAAkB,IAAA,uBAAe,EAAC,gBAAgB,CAAC,CAAC;IAEtE,IAAI,CAAC,CAAC,UAAU,EAAE;QAChB,IAAA,yBAAkB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvC,SAAS,GAAG,IAAI,iBAAS,CAAC,GAAG,gBAAgB,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,IAAA,qBAAc,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACxH,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/C,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,IAAA,qBAAc,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;YACrF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,GAAG,IAAA,qBAAc,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;KACpF;IACD,IAAI,CAAC,SAAS,EAAE;QACd,MAAM;YACJ,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,yEAAyE;SACnF,CAAC;KACH;IAED,MAAM,gBAAgB,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAA,uBAAe,EAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtG,OAAO;QACL,QAAQ,EAAE,IAAA,kBAAQ,EAAC,YAAY,EAAE,MAAM,CAAC;QACxC,SAAS,EAAE,IAAA,mBAAS,EAAC,YAAY,EAAE,MAAM,CAAC;QAC1C,YAAY,EAAE,IAAA,sBAAY,EAAC,YAAY,EAAE,MAAM,CAAC;QAChD,MAAM,EAAE,IAAA,gBAAM,EAAC,YAAY,EAAE,MAAM,CAAC;QACpC,QAAQ,EAAE,IAAA,kBAAQ,EAAC,YAAY,EAAE,MAAM,CAAC;QACxC,KAAK,EAAE,IAAA,aAAG,EAAC,SAAU,EAAE,MAAM,CAAC;QAC9B,aAAa,EAAE,IAAA,uBAAa,EAAC,KAAK,EAAE,SAAU,EAAE,MAAM,CAAC;QACvD,cAAc,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,qBAAO,EAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAClF,MAAM,EAAE,oBAAM;QACd,UAAU,EAAE,IAAA,oBAAU,EAAC,YAAY,EAAE,MAAM,CAAC;QAC5C,QAAQ,EAAE,IAAA,kBAAQ,EAAC,YAAY,EAAE,MAAM,CAAC;KACzC,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@owneraio/finp2p-sdk-js",
|
|
3
3
|
"main": "lib/index.js",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.16.0",
|
|
6
6
|
"homepage": "https://ownera.io/",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "yarn clean && tsc",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"graphql": "^16.8.1",
|
|
36
36
|
"graphql-request": "^6.1.0",
|
|
37
37
|
"graphql-ws": "^5.14.1",
|
|
38
|
+
"jsonwebtoken": "^9.0.2",
|
|
38
39
|
"keccak": "^3.0.4",
|
|
39
40
|
"secp256k1": "^5.0.0",
|
|
40
41
|
"ts-pattern": "^5.0.5",
|
|
@@ -44,6 +45,7 @@
|
|
|
44
45
|
"@types/axios": "^0.14.0",
|
|
45
46
|
"@types/blake2": "^4.0.2",
|
|
46
47
|
"@types/jest": "^29.5.5",
|
|
48
|
+
"@types/jsonwebtoken": "^9.0.3",
|
|
47
49
|
"@types/keccak": "^3.0.2",
|
|
48
50
|
"@types/secp256k1": "4.0.4",
|
|
49
51
|
"@types/uuid": "^9.0.5",
|