@webda/core 3.11.2 → 3.13.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.
- package/lib/core.d.ts +21 -1
- package/lib/core.js +33 -2
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +20 -1
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +0 -3
- package/lib/index.js +14 -17
- package/lib/index.js.map +1 -1
- package/lib/models/coremodel.d.ts +116 -6
- package/lib/models/coremodel.js +88 -11
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/user.d.ts +13 -0
- package/lib/models/user.js +20 -0
- package/lib/models/user.js.map +1 -1
- package/lib/queues/pubsubservice.d.ts +20 -0
- package/lib/queues/pubsubservice.js +27 -0
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queueservice.d.ts +0 -12
- package/lib/queues/queueservice.js +4 -26
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/configuration.d.ts +3 -2
- package/lib/services/configuration.js +4 -2
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/cryptoservice.d.ts +49 -1
- package/lib/services/cryptoservice.js +123 -4
- package/lib/services/cryptoservice.js.map +1 -1
- package/lib/services/cryptoservice.spec.js +40 -0
- package/lib/services/cryptoservice.spec.js.map +1 -1
- package/lib/services/prometheus.spec.js +1 -1
- package/lib/services/prometheus.spec.js.map +1 -1
- package/lib/services/service.d.ts +18 -1
- package/lib/services/service.js +24 -0
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +8 -0
- package/lib/services/service.spec.js.map +1 -1
- package/lib/stores/file.js +0 -9
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.js +9 -0
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/memory.js +2 -0
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/store.d.ts +40 -2
- package/lib/stores/store.js +108 -44
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.js +2 -2
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/query.d.ts +82 -13
- package/lib/stores/webdaql/query.js +131 -3
- package/lib/stores/webdaql/query.js.map +1 -1
- package/lib/stores/webdaql/query.spec.js +27 -0
- package/lib/stores/webdaql/query.spec.js.map +1 -1
- package/lib/test.js +2 -1
- package/lib/test.js.map +1 -1
- package/lib/utils/context.d.ts +5 -1
- package/lib/utils/context.js +14 -8
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +15 -0
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/logger.d.ts +1 -1
- package/lib/utils/logger.js +3 -0
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/serializers.d.ts +5 -0
- package/lib/utils/serializers.js +22 -0
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +58 -2
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/waiter.js +5 -0
- package/lib/utils/waiter.js.map +1 -1
- package/package.json +6 -5
- package/webda.module.json +14 -113
- package/lib/services/echo.d.ts +0 -45
- package/lib/services/echo.js +0 -49
- package/lib/services/echo.js.map +0 -1
- package/lib/services/echo.spec.d.ts +0 -1
- package/lib/services/echo.spec.js +0 -47
- package/lib/services/echo.spec.js.map +0 -1
- package/lib/services/proxy.d.ts +0 -197
- package/lib/services/proxy.js +0 -336
- package/lib/services/proxy.js.map +0 -1
- package/lib/services/proxy.spec.d.ts +0 -1
- package/lib/services/proxy.spec.js +0 -188
- package/lib/services/proxy.spec.js.map +0 -1
- package/lib/services/version.d.ts +0 -34
- package/lib/services/version.js +0 -53
- package/lib/services/version.js.map +0 -1
- package/lib/services/version.spec.d.ts +0 -1
- package/lib/services/version.spec.js +0 -24
- package/lib/services/version.spec.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Gauge, Histogram } from "../core.js";
|
|
2
1
|
import { ServiceParameters } from "../services/service.js";
|
|
3
2
|
import { CancelableLoopPromise, WaitDelayerFactories } from "../utils/waiter.js";
|
|
4
3
|
import { PubSubService } from "./pubsubservice.js";
|
|
@@ -24,28 +23,6 @@ export class QueueParameters extends ServiceParameters {
|
|
|
24
23
|
* @category CoreServices
|
|
25
24
|
*/
|
|
26
25
|
class Queue extends PubSubService {
|
|
27
|
-
initMetrics() {
|
|
28
|
-
super.initMetrics();
|
|
29
|
-
this.metrics.size = this.getMetric(Gauge, {
|
|
30
|
-
name: "queue_size",
|
|
31
|
-
help: "Number of item in the queue",
|
|
32
|
-
collect: async () => {
|
|
33
|
-
this.metrics.size.set(await this.size());
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
this.metrics.consumed = this.getMetric(Gauge, {
|
|
37
|
-
name: "queue_consumed",
|
|
38
|
-
help: "Number of item consumed by the queue"
|
|
39
|
-
});
|
|
40
|
-
this.metrics.errors = this.getMetric(Gauge, {
|
|
41
|
-
name: "queue_errors",
|
|
42
|
-
help: "Number of item in error"
|
|
43
|
-
});
|
|
44
|
-
this.metrics.processing_duration = this.getMetric(Histogram, {
|
|
45
|
-
name: "queue_processing_duration",
|
|
46
|
-
help: "Time to consume an item"
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
26
|
/**
|
|
50
27
|
* Create the delayer
|
|
51
28
|
*/
|
|
@@ -63,7 +40,7 @@ class Queue extends PubSubService {
|
|
|
63
40
|
try {
|
|
64
41
|
let speed = Date.now();
|
|
65
42
|
let items = await this.receiveMessage(this.eventPrototype);
|
|
66
|
-
this.metrics.
|
|
43
|
+
this.metrics.messages_received.inc(items.length);
|
|
67
44
|
speed = Date.now() - speed;
|
|
68
45
|
this.failedIterations = 0;
|
|
69
46
|
if (items.length === 0) {
|
|
@@ -74,13 +51,14 @@ class Queue extends PubSubService {
|
|
|
74
51
|
try {
|
|
75
52
|
await this.callback(msg.Message);
|
|
76
53
|
await this.deleteMessage(msg.ReceiptHandle);
|
|
77
|
-
end();
|
|
78
54
|
}
|
|
79
55
|
catch (err) {
|
|
80
|
-
end();
|
|
81
56
|
this.metrics.errors.inc();
|
|
82
57
|
this.getWebda().log("ERROR", `Message ${msg.ReceiptHandle}`, err);
|
|
83
58
|
}
|
|
59
|
+
finally {
|
|
60
|
+
end();
|
|
61
|
+
}
|
|
84
62
|
};
|
|
85
63
|
if (this.parameters.workerParallelism) {
|
|
86
64
|
// Parallelized processing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueservice.js","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"queueservice.js","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudbinary.js","sourceRoot":"","sources":["../../src/services/cloudbinary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cloudbinary.js","sourceRoot":"","sources":["../../src/services/cloudbinary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAA0B,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnF;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,gBAAgB;IAGzD,YAAY,MAAW,EAAE,OAAsB;QAC7C,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,KAAX,IAAI,CAAC,MAAM,GAAK,EAAE,EAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAgB,WAAqE,SAAQ,aAAgB;IACjH;;OAEG;IACH,cAAc,CAAC,MAAW;QACxB,OAAO,IAAI,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAkB,EAAE;QACrE,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAAY,EAAE,SAAiB,MAAM;QAC3C,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAmB,EAAE,QAAgB,EAAE,KAAa;QAC/D,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QACxC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,IAAe,EAAE,IAAY;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CAaF"}
|
|
@@ -37,8 +37,9 @@ export declare class ConfigurationServiceParameters extends ServiceParameters {
|
|
|
37
37
|
constructor(params: any);
|
|
38
38
|
}
|
|
39
39
|
export type ConfigurationEvents = {
|
|
40
|
-
"Configuration.Applied":
|
|
41
|
-
"Configuration.Applying":
|
|
40
|
+
"Configuration.Applied": any;
|
|
41
|
+
"Configuration.Applying": any;
|
|
42
|
+
"Configuration.Loaded": any;
|
|
42
43
|
};
|
|
43
44
|
/**
|
|
44
45
|
* Handle sessionSecret ( rolling between two secrets ) expire every hour
|
|
@@ -125,9 +125,10 @@ export default class ConfigurationService extends Service {
|
|
|
125
125
|
}
|
|
126
126
|
this.log("DEBUG", "Refreshing configuration");
|
|
127
127
|
const newConfig = (await this.loadConfiguration()) || this.parameters.default;
|
|
128
|
+
this.emit("Configuration.Loaded", newConfig);
|
|
128
129
|
const serializedConfig = JSON.stringify(newConfig);
|
|
129
130
|
if (serializedConfig !== this.serializedConfiguration) {
|
|
130
|
-
this.emit("Configuration.Applying",
|
|
131
|
+
this.emit("Configuration.Applying", newConfig);
|
|
131
132
|
this.log("DEBUG", "Apply new configuration");
|
|
132
133
|
this.serializedConfiguration = serializedConfig;
|
|
133
134
|
this.configuration = newConfig;
|
|
@@ -149,7 +150,7 @@ export default class ConfigurationService extends Service {
|
|
|
149
150
|
}
|
|
150
151
|
});
|
|
151
152
|
await Promise.all(promises);
|
|
152
|
-
this.emit("Configuration.Applied",
|
|
153
|
+
this.emit("Configuration.Applied", newConfig);
|
|
153
154
|
}
|
|
154
155
|
// If the ConfigurationProvider cannot trigger we check at interval
|
|
155
156
|
if (this.interval) {
|
|
@@ -168,6 +169,7 @@ export default class ConfigurationService extends Service {
|
|
|
168
169
|
*/
|
|
169
170
|
async loadAndStoreConfiguration() {
|
|
170
171
|
let res = await this.loadConfiguration();
|
|
172
|
+
this.emit("Configuration.Loaded", res);
|
|
171
173
|
this.serializedConfiguration = JSON.stringify(res);
|
|
172
174
|
return res;
|
|
173
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/services/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAuBvD,MAAM,OAAO,8BAA+B,SAAQ,iBAAiB;IAanE,YAAY,MAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,aAAa,KAAlB,IAAI,CAAC,aAAa,GAAK,IAAI,EAAC;IAC9B,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/services/configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import * as util from "util";
|
|
2
4
|
import { OperationContext, RegistryEntry, Store } from "../index.js";
|
|
3
5
|
import { DeepPartial, Service, ServiceParameters } from "./service.js";
|
|
6
|
+
export declare class SecretString {
|
|
7
|
+
protected str: string;
|
|
8
|
+
protected encrypter: string;
|
|
9
|
+
constructor(str: string, encrypter: string);
|
|
10
|
+
static from(value: string | SecretString, path?: string): string;
|
|
11
|
+
getValue(): string;
|
|
12
|
+
toString(): string;
|
|
13
|
+
[util.inspect.custom](depth: any, options: any, inspect: any): string;
|
|
14
|
+
}
|
|
4
15
|
export interface KeysRegistry {
|
|
5
16
|
/**
|
|
6
17
|
* Contains the instanceId of the last
|
|
@@ -20,6 +31,23 @@ export interface KeysRegistry {
|
|
|
20
31
|
*/
|
|
21
32
|
current: string;
|
|
22
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Encrypt/Decrypt string
|
|
36
|
+
*/
|
|
37
|
+
export interface StringEncrypter {
|
|
38
|
+
/**
|
|
39
|
+
* Encrypt a string
|
|
40
|
+
* @param data
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
encrypt(data: string, options?: any): Promise<string>;
|
|
44
|
+
/**
|
|
45
|
+
* Decrypt a string
|
|
46
|
+
* @param data
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
decrypt(data: string, options?: any): Promise<string>;
|
|
50
|
+
}
|
|
23
51
|
/**
|
|
24
52
|
* JWT Options
|
|
25
53
|
*/
|
|
@@ -142,7 +170,17 @@ interface KeysDefinition {
|
|
|
142
170
|
/**
|
|
143
171
|
* @WebdaModda
|
|
144
172
|
*/
|
|
145
|
-
export default class CryptoService<T extends CryptoServiceParameters = CryptoServiceParameters> extends Service<T> {
|
|
173
|
+
export default class CryptoService<T extends CryptoServiceParameters = CryptoServiceParameters> extends Service<T> implements StringEncrypter {
|
|
174
|
+
private static encrypters;
|
|
175
|
+
/**
|
|
176
|
+
* Register an encrypter for configuration
|
|
177
|
+
* @param name
|
|
178
|
+
* @param encrypter
|
|
179
|
+
*/
|
|
180
|
+
static registerEncrypter(name: string, encrypter: {
|
|
181
|
+
encrypt: (data: string) => Promise<string>;
|
|
182
|
+
decrypt: (data: string) => Promise<string>;
|
|
183
|
+
}): void;
|
|
146
184
|
currentSymetricKey: string;
|
|
147
185
|
currentAsymetricKey: {
|
|
148
186
|
publicKey: string;
|
|
@@ -238,6 +276,16 @@ export default class CryptoService<T extends CryptoServiceParameters = CryptoSer
|
|
|
238
276
|
* Parse the JWT header section
|
|
239
277
|
*/
|
|
240
278
|
getJWTHeader(token: string): any;
|
|
279
|
+
/**
|
|
280
|
+
* Encrypt configuration
|
|
281
|
+
* @param data
|
|
282
|
+
*/
|
|
283
|
+
static encryptConfiguration(data: any): Promise<any>;
|
|
284
|
+
/**
|
|
285
|
+
*
|
|
286
|
+
* @param data
|
|
287
|
+
*/
|
|
288
|
+
static decryptConfiguration(data: any): Promise<any>;
|
|
241
289
|
/**
|
|
242
290
|
* Decrypt data
|
|
243
291
|
*/
|
|
@@ -4,11 +4,40 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { createCipheriv, createDecipheriv, createHmac, generateKeyPairSync, randomBytes } from "crypto";
|
|
7
|
+
import { createCipheriv, createDecipheriv, createHash, createHmac, generateKeyPairSync, randomBytes } from "crypto";
|
|
8
8
|
import jwt from "jsonwebtoken";
|
|
9
9
|
import { pem2jwk } from "pem-jwk";
|
|
10
|
+
import * as util from "util";
|
|
11
|
+
import { Core } from "../index.js";
|
|
10
12
|
import { JSONUtils } from "../utils/serializers.js";
|
|
11
13
|
import { Inject, Route, Service, ServiceParameters } from "./service.js";
|
|
14
|
+
export class SecretString {
|
|
15
|
+
constructor(str, encrypter) {
|
|
16
|
+
this.str = str;
|
|
17
|
+
this.encrypter = encrypter;
|
|
18
|
+
}
|
|
19
|
+
static from(value, path) {
|
|
20
|
+
if (value instanceof SecretString) {
|
|
21
|
+
return value.getValue();
|
|
22
|
+
}
|
|
23
|
+
if (Core.get()) {
|
|
24
|
+
Core.get()?.log("WARN", "A secret string is not encrypted", value);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
console.error("WARN", "A secret string is not encrypted");
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
getValue() {
|
|
32
|
+
return this.str;
|
|
33
|
+
}
|
|
34
|
+
toString() {
|
|
35
|
+
return "********";
|
|
36
|
+
}
|
|
37
|
+
[util.inspect.custom](depth, options, inspect) {
|
|
38
|
+
return "********";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
12
41
|
export class CryptoServiceParameters extends ServiceParameters {
|
|
13
42
|
constructor(params) {
|
|
14
43
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -31,7 +60,7 @@ export class CryptoServiceParameters extends ServiceParameters {
|
|
|
31
60
|
/**
|
|
32
61
|
* @WebdaModda
|
|
33
62
|
*/
|
|
34
|
-
|
|
63
|
+
class CryptoService extends Service {
|
|
35
64
|
constructor() {
|
|
36
65
|
super(...arguments);
|
|
37
66
|
/**
|
|
@@ -39,6 +68,17 @@ export default class CryptoService extends Service {
|
|
|
39
68
|
*/
|
|
40
69
|
this.jwks = {};
|
|
41
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Register an encrypter for configuration
|
|
73
|
+
* @param name
|
|
74
|
+
* @param encrypter
|
|
75
|
+
*/
|
|
76
|
+
static registerEncrypter(name, encrypter) {
|
|
77
|
+
if (CryptoService.encrypters[name]) {
|
|
78
|
+
console.error("Encrypter", name, "already registered");
|
|
79
|
+
}
|
|
80
|
+
CryptoService.encrypters[name] = encrypter;
|
|
81
|
+
}
|
|
42
82
|
/**
|
|
43
83
|
* @override
|
|
44
84
|
*/
|
|
@@ -50,6 +90,7 @@ export default class CryptoService extends Service {
|
|
|
50
90
|
*/
|
|
51
91
|
async init() {
|
|
52
92
|
await super.init();
|
|
93
|
+
CryptoService.encrypters["self"] = this;
|
|
53
94
|
// Load keys
|
|
54
95
|
if (!(await this.load()) && this.parameters.autoCreate) {
|
|
55
96
|
await this.rotate();
|
|
@@ -253,15 +294,72 @@ export default class CryptoService extends Service {
|
|
|
253
294
|
getJWTHeader(token) {
|
|
254
295
|
return JSON.parse(Buffer.from(token.split(".")[0], "base64").toString());
|
|
255
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Encrypt configuration
|
|
299
|
+
* @param data
|
|
300
|
+
*/
|
|
301
|
+
static async encryptConfiguration(data) {
|
|
302
|
+
if (data instanceof Object) {
|
|
303
|
+
for (let i in data) {
|
|
304
|
+
data[i] = await CryptoService.encryptConfiguration(data[i]);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
else if (typeof data === "string") {
|
|
308
|
+
if (data.startsWith("encrypt:") || data.startsWith("sencrypt:")) {
|
|
309
|
+
let str = data.substring(data.indexOf(":") + 1);
|
|
310
|
+
let type = str.substring(0, str.indexOf(":"));
|
|
311
|
+
str = str.substring(str.indexOf(":") + 1);
|
|
312
|
+
if (!CryptoService.encrypters[type]) {
|
|
313
|
+
throw new Error("Unknown encrypter " + type);
|
|
314
|
+
}
|
|
315
|
+
if (data.startsWith("s")) {
|
|
316
|
+
data = `scrypt:${type}:` + (await CryptoService.encrypters[type].encrypt(str));
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
data = `crypt:${type}:` + (await CryptoService.encrypters[type].encrypt(str));
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
return data;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
*
|
|
327
|
+
* @param data
|
|
328
|
+
*/
|
|
329
|
+
static async decryptConfiguration(data) {
|
|
330
|
+
if (data instanceof Object) {
|
|
331
|
+
for (let i in data) {
|
|
332
|
+
data[i] = await CryptoService.decryptConfiguration(data[i]);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
else if (typeof data === "string") {
|
|
336
|
+
if (data.startsWith("crypt:") || data.startsWith("scrypt:")) {
|
|
337
|
+
let str = data.substring(data.indexOf(":") + 1);
|
|
338
|
+
let type = str.substring(0, str.indexOf(":"));
|
|
339
|
+
str = str.substring(str.indexOf(":") + 1);
|
|
340
|
+
if (!CryptoService.encrypters[type]) {
|
|
341
|
+
throw new Error("Unknown encrypter " + type);
|
|
342
|
+
}
|
|
343
|
+
// We keep the ability to map to a simple string for incompatible module
|
|
344
|
+
if (data.startsWith("scrypt:")) {
|
|
345
|
+
return await CryptoService.encrypters[type].decrypt(str);
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
return new SecretString(await CryptoService.encrypters[type].decrypt(str), type);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
return data;
|
|
353
|
+
}
|
|
256
354
|
/**
|
|
257
355
|
* Decrypt data
|
|
258
356
|
*/
|
|
259
357
|
async decrypt(token) {
|
|
260
358
|
let input = Buffer.from(await this.jwtVerify(token), "base64");
|
|
261
359
|
let header = this.getJWTHeader(token);
|
|
262
|
-
let iv = input.
|
|
360
|
+
let iv = input.subarray(0, 16);
|
|
263
361
|
let decipher = createDecipheriv(this.parameters.symetricCipher, Buffer.from(this.keys[header.kid.substring(1)].symetric, "base64"), iv);
|
|
264
|
-
return JSON.parse(decipher.update(input.
|
|
362
|
+
return JSON.parse(decipher.update(input.subarray(16)).toString() + decipher.final().toString());
|
|
265
363
|
}
|
|
266
364
|
/**
|
|
267
365
|
* Get next id
|
|
@@ -300,6 +398,8 @@ export default class CryptoService extends Service {
|
|
|
300
398
|
}
|
|
301
399
|
}
|
|
302
400
|
}
|
|
401
|
+
CryptoService.encrypters = {};
|
|
402
|
+
export default CryptoService;
|
|
303
403
|
__decorate([
|
|
304
404
|
Inject("Registry")
|
|
305
405
|
], CryptoService.prototype, "registry", void 0);
|
|
@@ -311,5 +411,24 @@ __decorate([
|
|
|
311
411
|
}
|
|
312
412
|
})
|
|
313
413
|
], CryptoService.prototype, "serveJWKS", null);
|
|
414
|
+
/**
|
|
415
|
+
* Encrypt data with local machine id
|
|
416
|
+
*/
|
|
417
|
+
CryptoService.registerEncrypter("local", {
|
|
418
|
+
encrypt: async (data) => {
|
|
419
|
+
// Initialization Vector
|
|
420
|
+
let iv = randomBytes(16);
|
|
421
|
+
const key = createHash("sha256").update(Core.getMachineId()).digest();
|
|
422
|
+
let cipher = createCipheriv("aes-256-ctr", key, iv);
|
|
423
|
+
return Buffer.concat([iv, cipher.update(Buffer.from(data)), cipher.final()]).toString("base64");
|
|
424
|
+
},
|
|
425
|
+
decrypt: async (data) => {
|
|
426
|
+
let input = Buffer.from(data, "base64");
|
|
427
|
+
let iv = input.subarray(0, 16);
|
|
428
|
+
const key = createHash("sha256").update(Core.getMachineId()).digest();
|
|
429
|
+
let decipher = createDecipheriv("aes-256-ctr", key, iv);
|
|
430
|
+
return decipher.update(input.subarray(16)).toString() + decipher.final().toString();
|
|
431
|
+
}
|
|
432
|
+
});
|
|
314
433
|
export { CryptoService };
|
|
315
434
|
//# sourceMappingURL=cryptoservice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cryptoservice.js","sourceRoot":"","sources":["../../src/services/cryptoservice.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cryptoservice.js","sourceRoot":"","sources":["../../src/services/cryptoservice.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import jwt from "jsonwebtoken";
|
|
|
10
10
|
import * as sinon from "sinon";
|
|
11
11
|
import { WebdaTest } from "../test.js";
|
|
12
12
|
import { JSONUtils } from "../utils/serializers.js";
|
|
13
|
+
import CryptoService, { SecretString } from "./cryptoservice.js";
|
|
13
14
|
/**
|
|
14
15
|
*
|
|
15
16
|
*/
|
|
@@ -134,4 +135,43 @@ __decorate([
|
|
|
134
135
|
CryptoServiceTest = __decorate([
|
|
135
136
|
suite
|
|
136
137
|
], CryptoServiceTest);
|
|
138
|
+
let CryptoConfigurationTest = class CryptoConfigurationTest {
|
|
139
|
+
async nominal() {
|
|
140
|
+
CryptoService.registerEncrypter("test", {
|
|
141
|
+
encrypt: async (data) => {
|
|
142
|
+
return data;
|
|
143
|
+
},
|
|
144
|
+
decrypt: async (data) => {
|
|
145
|
+
return data;
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
let data = {
|
|
149
|
+
key: {
|
|
150
|
+
secret: "encrypt:local:plop",
|
|
151
|
+
port: 21
|
|
152
|
+
},
|
|
153
|
+
anotherSecret: "encrypt:local:plop2",
|
|
154
|
+
notEncrypted: "plop",
|
|
155
|
+
alreadyEncrypted: "crypt:test:plop3"
|
|
156
|
+
};
|
|
157
|
+
await CryptoService.encryptConfiguration(data);
|
|
158
|
+
assert.ok(data.key.secret.startsWith("crypt:local:"));
|
|
159
|
+
assert.ok(!data.key.secret.includes("plop"));
|
|
160
|
+
assert.ok(data.anotherSecret.startsWith("crypt:local:"));
|
|
161
|
+
assert.ok(!data.anotherSecret.includes("plop"));
|
|
162
|
+
assert.strictEqual(data.alreadyEncrypted, "crypt:test:plop3");
|
|
163
|
+
let decrypted = await CryptoService.decryptConfiguration(JSONUtils.duplicate(data));
|
|
164
|
+
assert.strictEqual(decrypted.anotherSecret.getValue(), "plop2");
|
|
165
|
+
assert.strictEqual(decrypted.anotherSecret.toString(), "********");
|
|
166
|
+
assert.strictEqual(SecretString.from(decrypted.alreadyEncrypted), "plop3");
|
|
167
|
+
assert.strictEqual(SecretString.from(decrypted.key.secret), "plop");
|
|
168
|
+
assert.strictEqual(`Test: ${decrypted.alreadyEncrypted}`, "Test: ********");
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
__decorate([
|
|
172
|
+
test
|
|
173
|
+
], CryptoConfigurationTest.prototype, "nominal", null);
|
|
174
|
+
CryptoConfigurationTest = __decorate([
|
|
175
|
+
suite
|
|
176
|
+
], CryptoConfigurationTest);
|
|
137
177
|
//# sourceMappingURL=cryptoservice.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cryptoservice.spec.js","sourceRoot":"","sources":["../../src/services/cryptoservice.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"cryptoservice.spec.js","sourceRoot":"","sources":["../../src/services/cryptoservice.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ let PrometheusTest = class PrometheusTest extends WebdaTest {
|
|
|
22
22
|
await service.resolve().init();
|
|
23
23
|
// Should be listen on 9090 now
|
|
24
24
|
let res = await axios.get("http://localhost:9090/metrics");
|
|
25
|
-
assert.ok(res.data.includes("
|
|
25
|
+
assert.ok(res.data.includes("webda_filequeue_messages_pending"));
|
|
26
26
|
await assert.rejects(() => axios.get("http://localhost:9090/metrics2"), /Request failed with status code 404/);
|
|
27
27
|
}
|
|
28
28
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prometheus.spec.js","sourceRoot":"","sources":["../../src/services/prometheus.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,SAAS;IAE9B,AAAN,KAAK,CAAC,SAAS;QACb,IAAI,OAAO,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE;YAClD,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,KAAK;YACzB,qBAAqB,EAAE,KAAK;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/B,+BAA+B;YAC/B,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC3D,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"prometheus.spec.js","sourceRoot":"","sources":["../../src/services/prometheus.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,SAAS;IAE9B,AAAN,KAAK,CAAC,SAAS;QACb,IAAI,OAAO,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE;YAClD,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,KAAK;YACzB,qBAAqB,EAAE,KAAK;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/B,+BAA+B;YAC/B,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC3D,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACjE,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,EAAE,qCAAqC,CAAC,CAAC;QACjH,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM;QACV,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxC,GAAG,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,GAAG,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7C,yCAAyC;QACzC,MAAM,CAAC,WAAW,CAAa,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAE,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrH,CAAC;CACF,CAAA;AAjCO;IADL,IAAI;+CAgBJ;AAGK;IADL,IAAI;4CAeJ;AAlCG,cAAc;IADnB,KAAK;GACA,cAAc,CAmCnB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { WorkerLogLevel } from "@webda/workout";
|
|
3
3
|
import * as events from "events";
|
|
4
|
-
import { Constructor, Core, Counter, Gauge, Histogram, Logger, MetricConfiguration } from "../index.js";
|
|
4
|
+
import { Constructor, Core, Counter, Gauge, Histogram, Logger, MetricConfiguration, OperationContext } from "../index.js";
|
|
5
5
|
import { OpenAPIWebdaDefinition } from "../router.js";
|
|
6
6
|
import { HttpMethodType } from "../utils/httpcontext.js";
|
|
7
7
|
/**
|
|
@@ -206,6 +206,18 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters,
|
|
|
206
206
|
* @returns
|
|
207
207
|
*/
|
|
208
208
|
getMetric<T = Gauge | Counter | Histogram>(type: Constructor<T, [MetricConfiguration<T>]>, configuration: MetricConfiguration<T>): T;
|
|
209
|
+
/**
|
|
210
|
+
* Return the events that an external system can subscribe to
|
|
211
|
+
*
|
|
212
|
+
* @returns
|
|
213
|
+
*/
|
|
214
|
+
getClientEvents(): string[];
|
|
215
|
+
/**
|
|
216
|
+
* Authorize a public event subscription
|
|
217
|
+
* @param event
|
|
218
|
+
* @param context
|
|
219
|
+
*/
|
|
220
|
+
authorizeClientEvent(_event: string, _context: OperationContext): boolean;
|
|
209
221
|
/**
|
|
210
222
|
* Return the full path url based on parameters
|
|
211
223
|
*
|
|
@@ -249,6 +261,11 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters,
|
|
|
249
261
|
* @return {String} The export of the strip object ( removed all attribute with _ )
|
|
250
262
|
*/
|
|
251
263
|
toPublicJSON(object: unknown): string;
|
|
264
|
+
/**
|
|
265
|
+
* Prevent service to be serialized
|
|
266
|
+
* @returns
|
|
267
|
+
*/
|
|
268
|
+
toJSON(): string;
|
|
252
269
|
/**
|
|
253
270
|
* Will be called after all the Services are created
|
|
254
271
|
*
|