lemon-core 4.1.13 → 4.1.15
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/cores/lambda/lambda-web-handler.d.ts +53 -0
- package/dist/cores/lambda/lambda-web-handler.js +170 -35
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/cores/storage/proxy-storage-service.d.ts +1 -0
- package/dist/cores/storage/proxy-storage-service.js +16 -10
- package/dist/cores/storage/proxy-storage-service.js.map +1 -1
- package/dist/engine/utilities.d.ts +35 -0
- package/dist/engine/utilities.js +93 -0
- package/dist/engine/utilities.js.map +1 -1
- package/package.json +1 -1
|
@@ -126,6 +126,28 @@ export declare class LambdaWEBHandler extends LambdaSubHandler<WEBHandler> {
|
|
|
126
126
|
export interface HttpHeaderSet {
|
|
127
127
|
[name: string]: string | string[];
|
|
128
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* type: `VerifyTokenBody`
|
|
131
|
+
*/
|
|
132
|
+
export interface VerifyTokenBody {
|
|
133
|
+
/**
|
|
134
|
+
* JWT token to verify (issued by this backend)
|
|
135
|
+
*/
|
|
136
|
+
token: string;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* type: `VerifyTokenResult`
|
|
140
|
+
*/
|
|
141
|
+
export interface VerifyTokenResult {
|
|
142
|
+
/**
|
|
143
|
+
* whether the token is valid
|
|
144
|
+
*/
|
|
145
|
+
valid: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* error message if invalid
|
|
148
|
+
*/
|
|
149
|
+
error?: string;
|
|
150
|
+
}
|
|
129
151
|
/**
|
|
130
152
|
* class: `HttpHeaderTool`
|
|
131
153
|
* - parse header and extract identity.
|
|
@@ -173,6 +195,8 @@ export interface HttpHeaderTool<RequestContext> {
|
|
|
173
195
|
*/
|
|
174
196
|
export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventRequestContext> {
|
|
175
197
|
protected headers: HttpHeaderSet;
|
|
198
|
+
protected static _accountId?: string;
|
|
199
|
+
protected static _accountIdPromise?: Promise<string>;
|
|
176
200
|
/**
|
|
177
201
|
* default constructor.
|
|
178
202
|
* @param headers
|
|
@@ -183,6 +207,14 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
|
|
|
183
207
|
hello(): string;
|
|
184
208
|
/** expose `onlyDefined` */
|
|
185
209
|
onlyDefined: <T extends object>(N: T, $def?: T) => T;
|
|
210
|
+
/**
|
|
211
|
+
* build default JWT secret from AWS account id + magic key.
|
|
212
|
+
*/
|
|
213
|
+
buildJwtSecret: () => Promise<string>;
|
|
214
|
+
/**
|
|
215
|
+
* get current aws account-id via STS. (once)
|
|
216
|
+
*/
|
|
217
|
+
protected getAccountId: () => Promise<string>;
|
|
186
218
|
/**
|
|
187
219
|
* get values by name
|
|
188
220
|
* @param name case-insentive name of field
|
|
@@ -230,6 +262,10 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
|
|
|
230
262
|
alias?: string;
|
|
231
263
|
/** current ms */
|
|
232
264
|
current?: number;
|
|
265
|
+
/** expiration time in seconds */
|
|
266
|
+
exp?: number;
|
|
267
|
+
/** if true, use HS256 */
|
|
268
|
+
useHs256?: boolean;
|
|
233
269
|
}): Promise<{
|
|
234
270
|
signature: string;
|
|
235
271
|
message: string;
|
|
@@ -237,6 +273,7 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
|
|
|
237
273
|
}>;
|
|
238
274
|
/**
|
|
239
275
|
* parse as jwt-token, and validate the signature.
|
|
276
|
+
* - supports both `kms/*` and `api/*` issuers via verifyToken()
|
|
240
277
|
*/
|
|
241
278
|
parseIdentityJWT<T extends NextIdentityJwt = NextIdentityJwt>(token: string, params?: {
|
|
242
279
|
/** current ms */
|
|
@@ -258,5 +295,21 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
|
|
|
258
295
|
* override with AWS request-context
|
|
259
296
|
*/
|
|
260
297
|
prepareContext($org: NextContext, reqContext: APIGatewayEventRequestContext): Promise<NextContext>;
|
|
298
|
+
/**
|
|
299
|
+
* verify token signature by iss.
|
|
300
|
+
* - `kms/*`: verify by KMS (RS256)
|
|
301
|
+
* - `api/*`: verify by HS256 (local) or protocol (remote)
|
|
302
|
+
*/
|
|
303
|
+
verifyToken(iss: string, message: string, signature: string, options?: {
|
|
304
|
+
token?: string;
|
|
305
|
+
}): Promise<VerifyTokenResult>;
|
|
306
|
+
/**
|
|
307
|
+
* sign the message w/ alias
|
|
308
|
+
* - `alias`가 있으면 KMS(RS256), 없으면 HS256 사용
|
|
309
|
+
*
|
|
310
|
+
* @param alias kms key alias
|
|
311
|
+
* @param message the jwt message string
|
|
312
|
+
*/
|
|
313
|
+
signToken(alias: string, message: string): Promise<string>;
|
|
261
314
|
}
|
|
262
315
|
export {};
|
|
@@ -37,12 +37,16 @@ const test_helper_1 = require("../../common/test-helper");
|
|
|
37
37
|
const tools_1 = require("../../tools/");
|
|
38
38
|
const protocol_service_1 = require("../protocol/protocol-service");
|
|
39
39
|
const aws_kms_service_1 = require("../aws/aws-kms-service");
|
|
40
|
+
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
41
|
+
const config_1 = __importDefault(require("../config"));
|
|
40
42
|
const protocol_1 = __importDefault(require("../protocol/"));
|
|
41
43
|
const NS = engine_1.$U.NS('HWEB', 'yellow'); // NAMESPACE TO BE PRINTED.
|
|
42
44
|
//* header definitions by environment.
|
|
43
45
|
const HEADER_LEMON_LANGUAGE = engine_1.$U.env('HEADER_LEMON_LANGUAGE', 'x-lemon-language');
|
|
44
46
|
const HEADER_LEMON_IDENTITY = engine_1.$U.env('HEADER_LEMON_IDENTITY', 'x-lemon-identity');
|
|
45
47
|
const HEADER_COOKIE = engine_1.$U.env('HEADER_COOKIE', 'cookie');
|
|
48
|
+
const JWT_MAGIC_KEY = engine_1.$U.env('JWT_MAGIC_KEY', '~jwt@MGC&key~'); // hard to modify.
|
|
49
|
+
const JWT_SIGN_KEY = engine_1.$U.env('JWT_SIGN_KEY', 'lemon'); // used to make sign key. (use change this)
|
|
46
50
|
const DEFAULT_FAVICON_ICO = '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';
|
|
47
51
|
const FAVICON_ICO = engine_1.$U.env('FAVICON_ICO', DEFAULT_FAVICON_ICO);
|
|
48
52
|
/**
|
|
@@ -414,6 +418,48 @@ class MyHttpHeaderTool {
|
|
|
414
418
|
var _a;
|
|
415
419
|
/** expose `onlyDefined` */
|
|
416
420
|
this.onlyDefined = test_helper_1.onlyDefined;
|
|
421
|
+
/**
|
|
422
|
+
* build default JWT secret from AWS account id + magic key.
|
|
423
|
+
*/
|
|
424
|
+
this.buildJwtSecret = () => __awaiter(this, void 0, void 0, function* () {
|
|
425
|
+
const accountId = yield this.getAccountId();
|
|
426
|
+
const secret = JWT_MAGIC_KEY; // 유출되면 피곤함.
|
|
427
|
+
const _hmac = (msg, key = secret) => engine_1.$U.hmac(msg, key, 'sha256', 'base64'); // 기본 로직
|
|
428
|
+
return _hmac(_hmac(accountId, _hmac(JWT_SIGN_KEY)), JWT_SIGN_KEY);
|
|
429
|
+
});
|
|
430
|
+
/**
|
|
431
|
+
* get current aws account-id via STS. (once)
|
|
432
|
+
*/
|
|
433
|
+
this.getAccountId = () => __awaiter(this, void 0, void 0, function* () {
|
|
434
|
+
if (MyHttpHeaderTool._accountId)
|
|
435
|
+
return MyHttpHeaderTool._accountId;
|
|
436
|
+
if (!MyHttpHeaderTool._accountIdPromise) {
|
|
437
|
+
MyHttpHeaderTool._accountIdPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
|
438
|
+
// 1. getHelloArn()에서 ARN을 통해 accountId 추출 시도
|
|
439
|
+
try {
|
|
440
|
+
const arn = (0, engine_1.getHelloArn)(null, NS);
|
|
441
|
+
if (arn && arn.startsWith('arn:aws:')) {
|
|
442
|
+
const accountId = arn.split(':')[4];
|
|
443
|
+
if (accountId)
|
|
444
|
+
return accountId;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
catch (e) {
|
|
448
|
+
(0, engine_1._log)(NS, '! getHelloArn failed, fallback to STS');
|
|
449
|
+
}
|
|
450
|
+
// 2. fallback: STS 호출 (awsConfig 사용)
|
|
451
|
+
const cfg = (0, tools_1.awsConfig)(engine_1.$engine);
|
|
452
|
+
const sts = new client_sts_1.STSClient(cfg);
|
|
453
|
+
const data = yield sts.send(new client_sts_1.GetCallerIdentityCommand({}));
|
|
454
|
+
return (data === null || data === void 0 ? void 0 : data.Account) || '000000000000';
|
|
455
|
+
}))().catch(err => {
|
|
456
|
+
(0, engine_1._err)(NS, '! err@jwt.accountId =', err);
|
|
457
|
+
return '000000000000';
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
MyHttpHeaderTool._accountId = yield MyHttpHeaderTool._accountIdPromise;
|
|
461
|
+
return MyHttpHeaderTool._accountId;
|
|
462
|
+
});
|
|
417
463
|
/**
|
|
418
464
|
* check if this request is from externals (like API-GW)
|
|
419
465
|
* @returns true if in external
|
|
@@ -536,7 +582,7 @@ class MyHttpHeaderTool {
|
|
|
536
582
|
* encode as JWT string.
|
|
537
583
|
*/
|
|
538
584
|
encodeIdentityJWT(identity, params) {
|
|
539
|
-
var _a;
|
|
585
|
+
var _a, _b, _c, _d, _e;
|
|
540
586
|
return __awaiter(this, void 0, void 0, function* () {
|
|
541
587
|
// STEP.0 validate paramters.
|
|
542
588
|
if (!identity || typeof identity !== 'object')
|
|
@@ -544,25 +590,32 @@ class MyHttpHeaderTool {
|
|
|
544
590
|
// STEP.1 prepare payload data
|
|
545
591
|
const current = (_a = params === null || params === void 0 ? void 0 : params.current) !== null && _a !== void 0 ? _a : engine_1.$U.current_time_ms();
|
|
546
592
|
const alias = params === null || params === void 0 ? void 0 : params.alias;
|
|
547
|
-
const
|
|
593
|
+
const useHs256 = (_b = params === null || params === void 0 ? void 0 : params.useHs256) !== null && _b !== void 0 ? _b : false;
|
|
594
|
+
const service = (_d = (_c = config_1.default === null || config_1.default === void 0 ? void 0 : config_1.default.config) === null || _c === void 0 ? void 0 : _c.getService) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
595
|
+
// service 검증 (useHs256 + alias 없을 때만)
|
|
596
|
+
if (useHs256 && !alias && service && !/^[a-z][a-zA-Z0-9-]*$/.test(service)) {
|
|
597
|
+
throw new Error(`@service[${service}] is invalid - encodeIdentityJWT()`);
|
|
598
|
+
}
|
|
599
|
+
// issuer 결정
|
|
600
|
+
const iss = alias ? `kms/${alias}` : useHs256 ? `api/${service}` : null;
|
|
601
|
+
// alg 헤더 결정
|
|
602
|
+
const alg = alias ? 'RS256' : useHs256 ? 'HS256' : 'RS256';
|
|
603
|
+
const payload = Object.assign(Object.assign({}, identity), { iss, iat: Math.floor(current / 1000), exp: (_e = params === null || params === void 0 ? void 0 : params.exp) !== null && _e !== void 0 ? _e : Math.floor(current / 1000) + 24 * 60 * 60 });
|
|
548
604
|
const base64url = (t) => (0, aws_kms_service_1.fromBase64)(Buffer.from(t).toString('base64'));
|
|
549
605
|
const data = {
|
|
550
|
-
header: base64url(JSON.stringify({
|
|
551
|
-
alg: 'RS256',
|
|
552
|
-
typ: 'JWT',
|
|
553
|
-
})),
|
|
606
|
+
header: base64url(JSON.stringify({ alg, typ: 'JWT' })),
|
|
554
607
|
payload: base64url(JSON.stringify(payload)),
|
|
555
608
|
};
|
|
556
609
|
// STEP.2 encode and calc signature.
|
|
557
610
|
const message = [data.header, data.payload].join('.');
|
|
558
|
-
const
|
|
559
|
-
const signature = $kms ? yield $kms.sign(message, true) : '';
|
|
611
|
+
const signature = alias || useHs256 ? yield this.signToken(alias, message) : '';
|
|
560
612
|
const token = [message, signature].join('.');
|
|
561
613
|
return { signature, message, token };
|
|
562
614
|
});
|
|
563
615
|
}
|
|
564
616
|
/**
|
|
565
617
|
* parse as jwt-token, and validate the signature.
|
|
618
|
+
* - supports both `kms/*` and `api/*` issuers via verifyToken()
|
|
566
619
|
*/
|
|
567
620
|
parseIdentityJWT(token, params) {
|
|
568
621
|
var _a, _b;
|
|
@@ -572,14 +625,14 @@ class MyHttpHeaderTool {
|
|
|
572
625
|
//* it must be JWT Token. verify signature, and load.
|
|
573
626
|
if (typeof token !== 'string' || !token)
|
|
574
627
|
throw new Error(`@token (string) is required (but ${typeof token}) - ${errScope}`);
|
|
575
|
-
// STEP.1 decode jwt, and extract { iss, iat, exp }
|
|
576
|
-
const current = (_b = params === null || params === void 0 ? void 0 : params.current) !== null && _b !== void 0 ? _b : engine_1.$U.current_time_ms();
|
|
577
628
|
const sections = token.split('.');
|
|
578
629
|
if (sections.length !== 3)
|
|
579
630
|
throw new Error(`@token[${token}] is invalid (format) - ${errScope}`);
|
|
631
|
+
// STEP.1 decode jwt, and extract { iss, iat, exp }
|
|
632
|
+
const current = (_b = params === null || params === void 0 ? void 0 : params.current) !== null && _b !== void 0 ? _b : engine_1.$U.current_time_ms();
|
|
580
633
|
const [header, payload, signature] = sections;
|
|
581
|
-
const
|
|
582
|
-
const data =
|
|
634
|
+
const message = [header, payload].join('.');
|
|
635
|
+
const data = engine_1.$U.jwt().decode(token, { complete: false, json: true });
|
|
583
636
|
if (!data)
|
|
584
637
|
throw new Error(`@token[${token}] is invalid (failed to decode) - ${errScope}`);
|
|
585
638
|
const { iss, iat, exp } = data;
|
|
@@ -590,31 +643,23 @@ class MyHttpHeaderTool {
|
|
|
590
643
|
throw new Error(`.iat (number) is required - ${errScope}`);
|
|
591
644
|
if (typeof exp !== 'number' && exp !== null)
|
|
592
645
|
throw new Error(`.exp (number) is required - ${errScope}`);
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
const _alias = (iss, prefix = 'kms/') => iss.includes(',') ? iss.substring(prefix.length, iss.indexOf(',')) : iss.substring(prefix.length);
|
|
596
|
-
if (!isVerify) {
|
|
646
|
+
//* skip verification if not required
|
|
647
|
+
if (!isVerify)
|
|
597
648
|
return data;
|
|
649
|
+
// STEP.2 verify signature by iss (supports kms/* and api/*)
|
|
650
|
+
const verified = yield this.verifyToken(iss, message, signature, { token }).catch(e => {
|
|
651
|
+
throw new Error(`@signature[] is invalid (${(0, test_helper_1.GETERR)(e)}) - ${errScope}`);
|
|
652
|
+
});
|
|
653
|
+
if (!(verified === null || verified === void 0 ? void 0 : verified.valid)) {
|
|
654
|
+
const errMsg = (verified === null || verified === void 0 ? void 0 : verified.error) || `failed to verify by ${iss}`;
|
|
655
|
+
throw new Error(`@signature[] is invalid (${errMsg}) - ${errScope}`);
|
|
598
656
|
}
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
throw new Error(`@signature[] is invalid (kms: ${(0, test_helper_1.GETERR)(e)}) - ${errScope}`);
|
|
606
|
-
})
|
|
607
|
-
: false;
|
|
608
|
-
if (!verified)
|
|
609
|
-
throw new Error(`@signature[] is invalid (failed to verify by iss:${iss}) - ${errScope}`);
|
|
610
|
-
if (!exp)
|
|
611
|
-
throw new Error(`.exp[${exp}] is invalid (empty) - ${errScope}`);
|
|
612
|
-
if (exp * 1000 < current)
|
|
613
|
-
throw new Error(`.exp[${engine_1.$U.ts(exp * 1000)}] is invalid (expired) - ${errScope}`);
|
|
614
|
-
return data;
|
|
615
|
-
}
|
|
616
|
-
//* or throw
|
|
617
|
-
throw new Error(`@iss[${iss}] is invalid (unsupportable issuer) - ${errScope}`);
|
|
657
|
+
// STEP.3 validate expiration
|
|
658
|
+
if (!exp)
|
|
659
|
+
throw new Error(`.exp[${exp}] is invalid (empty) - ${errScope}`);
|
|
660
|
+
if (exp * 1000 < current)
|
|
661
|
+
throw new Error(`.exp[${engine_1.$U.ts(exp * 1000)}] is invalid (expired) - ${errScope}`);
|
|
662
|
+
return data;
|
|
618
663
|
});
|
|
619
664
|
}
|
|
620
665
|
/**
|
|
@@ -678,6 +723,96 @@ class MyHttpHeaderTool {
|
|
|
678
723
|
return context;
|
|
679
724
|
});
|
|
680
725
|
}
|
|
726
|
+
/**
|
|
727
|
+
* verify token signature by iss.
|
|
728
|
+
* - `kms/*`: verify by KMS (RS256)
|
|
729
|
+
* - `api/*`: verify by HS256 (local) or protocol (remote)
|
|
730
|
+
*/
|
|
731
|
+
verifyToken(iss, message, signature, options) {
|
|
732
|
+
var _a, _b, _c;
|
|
733
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
734
|
+
const errScope = `verifyToken(${iss !== null && iss !== void 0 ? iss : ''})`;
|
|
735
|
+
const _alias = (iss, prefix) => {
|
|
736
|
+
const value = iss.substring(prefix.length);
|
|
737
|
+
return value.includes(',') ? value.substring(0, value.indexOf(',')) : value;
|
|
738
|
+
};
|
|
739
|
+
try {
|
|
740
|
+
// KMS verification (RS256) - iss starts with 'kms/'
|
|
741
|
+
if (typeof iss === 'string' && iss.startsWith('kms/')) {
|
|
742
|
+
const alias = _alias(iss, 'kms/');
|
|
743
|
+
if (!alias)
|
|
744
|
+
throw new Error(`@alias (string) is required - ${errScope}`);
|
|
745
|
+
const $kms = this.findKMSService(`alias/${alias}`);
|
|
746
|
+
const valid = yield $kms.verify(message, signature, { throwable: true });
|
|
747
|
+
return { valid };
|
|
748
|
+
}
|
|
749
|
+
// API verification - iss starts with 'api/'
|
|
750
|
+
if (typeof iss === 'string' && iss.startsWith('api/')) {
|
|
751
|
+
const issuer = iss.substring(4);
|
|
752
|
+
// validate issuer format
|
|
753
|
+
if (!/^[a-z][a-zA-Z0-9-]*$/.test(issuer)) {
|
|
754
|
+
throw new Error(`@issuer[${issuer}] is invalid - ${errScope}`);
|
|
755
|
+
}
|
|
756
|
+
const currentService = (_b = (_a = config_1.default === null || config_1.default === void 0 ? void 0 : config_1.default.config) === null || _a === void 0 ? void 0 : _a.getService) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
757
|
+
// verify if issued by current service
|
|
758
|
+
if (issuer === currentService) {
|
|
759
|
+
const secret = yield this.buildJwtSecret();
|
|
760
|
+
const expected = (0, aws_kms_service_1.fromBase64)(engine_1.$U.hmac(message, secret, 'sha256', 'base64'));
|
|
761
|
+
const valid = expected === signature;
|
|
762
|
+
return { valid };
|
|
763
|
+
}
|
|
764
|
+
// verify via protocol
|
|
765
|
+
const token = (_c = options === null || options === void 0 ? void 0 : options.token) !== null && _c !== void 0 ? _c : `${message}.${signature}`;
|
|
766
|
+
const body = { token };
|
|
767
|
+
const payload = {
|
|
768
|
+
service: issuer,
|
|
769
|
+
type: 'oauth',
|
|
770
|
+
mode: 'POST',
|
|
771
|
+
id: 'verify-token',
|
|
772
|
+
body,
|
|
773
|
+
context: {},
|
|
774
|
+
};
|
|
775
|
+
const res = yield protocol_1.default.service.execute(payload);
|
|
776
|
+
return res;
|
|
777
|
+
}
|
|
778
|
+
throw new Error(`@iss[${iss}] is invalid (unsupportable issuer) - ${errScope}`);
|
|
779
|
+
}
|
|
780
|
+
catch (e) {
|
|
781
|
+
return { valid: false, error: (0, test_helper_1.GETERR)(e) };
|
|
782
|
+
}
|
|
783
|
+
});
|
|
784
|
+
}
|
|
785
|
+
/**
|
|
786
|
+
* sign the message w/ alias
|
|
787
|
+
* - `alias`가 있으면 KMS(RS256), 없으면 HS256 사용
|
|
788
|
+
*
|
|
789
|
+
* @param alias kms key alias
|
|
790
|
+
* @param message the jwt message string
|
|
791
|
+
*/
|
|
792
|
+
signToken(alias, message) {
|
|
793
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
794
|
+
const errScope = `signToken(${alias !== null && alias !== void 0 ? alias : ''})`;
|
|
795
|
+
if (!message)
|
|
796
|
+
throw new Error(`@message (string) is required - ${errScope}`);
|
|
797
|
+
const useKms = !!alias;
|
|
798
|
+
if (useKms) {
|
|
799
|
+
// KMS verification (RS256)
|
|
800
|
+
if (!alias)
|
|
801
|
+
return '';
|
|
802
|
+
const $kms = new aws_kms_service_1.AWSKMSService(`alias/${alias}`);
|
|
803
|
+
const signature = yield $kms.sign(message, true);
|
|
804
|
+
(0, engine_1._inf)(NS, `> signature[${alias}] with KMS =`, signature);
|
|
805
|
+
return signature;
|
|
806
|
+
}
|
|
807
|
+
else {
|
|
808
|
+
// HS256: sign directly with secret
|
|
809
|
+
const secret = yield this.buildJwtSecret();
|
|
810
|
+
const signature = (0, aws_kms_service_1.fromBase64)(engine_1.$U.hmac(message, secret, 'sha256', 'base64'));
|
|
811
|
+
(0, engine_1._inf)(NS, `> signature[${alias}] with HS256 =`, signature);
|
|
812
|
+
return signature;
|
|
813
|
+
}
|
|
814
|
+
});
|
|
815
|
+
}
|
|
681
816
|
}
|
|
682
817
|
exports.MyHttpHeaderTool = MyHttpHeaderTool;
|
|
683
818
|
//# sourceMappingURL=lambda-web-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda-web-handler.js","sourceRoot":"","sources":["../../../src/cores/lambda/lambda-web-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lambda-web-handler.js","sourceRoot":"","sources":["../../../src/cores/lambda/lambda-web-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -282,6 +282,7 @@ export declare class ProxyStorageService<T extends CoreModel<ModelType>, ModelTy
|
|
|
282
282
|
* @param total total count of items
|
|
283
283
|
* @param failed list of failed items
|
|
284
284
|
* @param context (optional) next-context for reporting
|
|
285
|
+
* @returns notify message-id (or error)
|
|
285
286
|
*/
|
|
286
287
|
private reportBatchError;
|
|
287
288
|
/**
|
|
@@ -431,6 +431,7 @@ class ProxyStorageService {
|
|
|
431
431
|
* @param total total count of items
|
|
432
432
|
* @param failed list of failed items
|
|
433
433
|
* @param context (optional) next-context for reporting
|
|
434
|
+
* @returns notify message-id (or error)
|
|
434
435
|
*/
|
|
435
436
|
reportBatchError(operation, total, failed, context) {
|
|
436
437
|
var _a;
|
|
@@ -445,18 +446,23 @@ class ProxyStorageService {
|
|
|
445
446
|
total_count: total,
|
|
446
447
|
failed_count: totalFailed,
|
|
447
448
|
success_count: successCount,
|
|
448
|
-
failed_items: failed
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
449
|
+
failed_items: failed && Array.isArray(failed)
|
|
450
|
+
? failed
|
|
451
|
+
.filter((item) => item != null)
|
|
452
|
+
.map((item) => {
|
|
453
|
+
var _a, _b;
|
|
454
|
+
return ({
|
|
455
|
+
id: (_b = (_a = item === null || item === void 0 ? void 0 : item.id) !== null && _a !== void 0 ? _a : item === null || item === void 0 ? void 0 : item._id) !== null && _b !== void 0 ? _b : 'unknown',
|
|
456
|
+
error: (item === null || item === void 0 ? void 0 : item.error) ? `${item.error}`.substring(0, 100) : 'Unknown error',
|
|
457
|
+
});
|
|
458
|
+
})
|
|
459
|
+
: failed,
|
|
460
|
+
context,
|
|
457
461
|
};
|
|
458
|
-
|
|
462
|
+
// report error
|
|
463
|
+
return (0, engine_1.doReportError)(error, context, null, data).catch(e => {
|
|
459
464
|
(0, engine_1._err)(NS, `! failed to report ${operation} error via SNS:`, e);
|
|
465
|
+
return `ERR: ${(0, test_helper_1.GETERR)(e)}`;
|
|
460
466
|
});
|
|
461
467
|
});
|
|
462
468
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-storage-service.js","sourceRoot":"","sources":["../../../src/cores/storage/proxy-storage-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proxy-storage-service.js","sourceRoot":"","sources":["../../../src/cores/storage/proxy-storage-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -213,6 +213,41 @@ export declare class Utilities {
|
|
|
213
213
|
encrypt: (val: string) => string;
|
|
214
214
|
decrypt: (msg: string) => string;
|
|
215
215
|
};
|
|
216
|
+
/**
|
|
217
|
+
* get crypto3 object (with nonce + timestamp based IV).
|
|
218
|
+
*
|
|
219
|
+
* format details, see `crypto3` tests.
|
|
220
|
+
* 1. nonce = random hex string with length 13 (like `a1b2c3d4e5f67`)
|
|
221
|
+
* 2. head = `LM!#${VERSION}:${nonce}:${timestamp}` -> base64 encode with constant length 48 (no padding)
|
|
222
|
+
* 3. body = JSON({d: data}) -> encrypted by AES-256-CTR with key = passwd
|
|
223
|
+
* 4. final = [head, body].join('')
|
|
224
|
+
*
|
|
225
|
+
* @param passwd password to crypt
|
|
226
|
+
* @param algorithm (default as `aes-256-ctr`)
|
|
227
|
+
*/
|
|
228
|
+
readonly crypto3: <T = string>(passwd: string, algorithm?: string) => {
|
|
229
|
+
encrypt: (val: T, options?: {
|
|
230
|
+
current?: number;
|
|
231
|
+
nonce?: string;
|
|
232
|
+
}) => string;
|
|
233
|
+
decrypt: (msg: string, options?: {
|
|
234
|
+
current?: number;
|
|
235
|
+
maxAge?: number;
|
|
236
|
+
}) => T;
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* encrypt shorthand using crypto3
|
|
240
|
+
*/
|
|
241
|
+
readonly encrypt: (data: string, secret: string, options?: {
|
|
242
|
+
current?: number;
|
|
243
|
+
}) => string;
|
|
244
|
+
/**
|
|
245
|
+
* decrypt shorthand using crypto3
|
|
246
|
+
*/
|
|
247
|
+
readonly decrypt: (data: string, secret: string, options?: {
|
|
248
|
+
current?: number;
|
|
249
|
+
maxAge?: number;
|
|
250
|
+
}) => string;
|
|
216
251
|
/**
|
|
217
252
|
* builder for `JWTHelper`
|
|
218
253
|
* @param passcode string for verification.
|
package/dist/engine/utilities.js
CHANGED
|
@@ -185,6 +185,99 @@ class Utilities {
|
|
|
185
185
|
}
|
|
186
186
|
})();
|
|
187
187
|
};
|
|
188
|
+
/**
|
|
189
|
+
* get crypto3 object (with nonce + timestamp based IV).
|
|
190
|
+
*
|
|
191
|
+
* format details, see `crypto3` tests.
|
|
192
|
+
* 1. nonce = random hex string with length 13 (like `a1b2c3d4e5f67`)
|
|
193
|
+
* 2. head = `LM!#${VERSION}:${nonce}:${timestamp}` -> base64 encode with constant length 48 (no padding)
|
|
194
|
+
* 3. body = JSON({d: data}) -> encrypted by AES-256-CTR with key = passwd
|
|
195
|
+
* 4. final = [head, body].join('')
|
|
196
|
+
*
|
|
197
|
+
* @param passwd password to crypt
|
|
198
|
+
* @param algorithm (default as `aes-256-ctr`)
|
|
199
|
+
*/
|
|
200
|
+
this.crypto3 = (passwd, algorithm) => {
|
|
201
|
+
algorithm = algorithm || 'aes-256-ctr';
|
|
202
|
+
const MAGIC = 'LM!#';
|
|
203
|
+
const VERSION = 'V003';
|
|
204
|
+
const HEAD_B64_LEN = 48; // 36 bytes -> 48 base64 (no padding)
|
|
205
|
+
const errScope = `crypto3(${algorithm}#${VERSION})`;
|
|
206
|
+
const key = Buffer.concat([Buffer.from(passwd)], Buffer.alloc(32).length);
|
|
207
|
+
const hmac = (data, sig) => this.hmac(data, sig, 'sha256', 'hex');
|
|
208
|
+
const currentMs = () => this.current_time_ms(); // 13 digits timestamp
|
|
209
|
+
const makeNonce = () => this.uuid().replace(/-/g, '').substring(0, 13); // 13 chars (52-bit entropy)
|
|
210
|
+
return new (class {
|
|
211
|
+
constructor() {
|
|
212
|
+
this.encrypt = (val, options) => {
|
|
213
|
+
var _a, _b;
|
|
214
|
+
val = val === undefined ? null : val;
|
|
215
|
+
const nonce = (_a = options === null || options === void 0 ? void 0 : options.nonce) !== null && _a !== void 0 ? _a : makeNonce();
|
|
216
|
+
const timestamp = String((_b = options === null || options === void 0 ? void 0 : options.current) !== null && _b !== void 0 ? _b : currentMs()).padStart(13, '0');
|
|
217
|
+
const iv = Buffer.from(hmac(`${nonce}:${timestamp}`, passwd).substring(0, 32), 'hex'); // AES IV must be 16 bytes.
|
|
218
|
+
const buffer = Buffer.from(JSON.stringify({ d: val }), 'utf8');
|
|
219
|
+
const cipher = crypto_1.default.createCipheriv(algorithm, key, iv);
|
|
220
|
+
const crypted = Buffer.concat([cipher.update(buffer), cipher.final()]);
|
|
221
|
+
const headRaw = `${MAGIC}${VERSION}:${nonce}:${timestamp}`;
|
|
222
|
+
const head = Buffer.from(headRaw).toString('base64');
|
|
223
|
+
const body = crypted.toString('base64');
|
|
224
|
+
return [head, body].join('');
|
|
225
|
+
};
|
|
226
|
+
this.decrypt = (msg, options) => {
|
|
227
|
+
var _a;
|
|
228
|
+
if (!msg)
|
|
229
|
+
throw new Error(`@msg (string) is required - ${errScope}`);
|
|
230
|
+
if (msg.length < HEAD_B64_LEN)
|
|
231
|
+
throw new Error(`400 INVALID DATA - data too short! @${errScope}`);
|
|
232
|
+
// 1. decode base64 header (48 chars -> 36 bytes)
|
|
233
|
+
const headBase64 = msg.substring(0, HEAD_B64_LEN);
|
|
234
|
+
const head = Buffer.from(headBase64, 'base64').toString('utf8');
|
|
235
|
+
if (head.length !== 36)
|
|
236
|
+
throw new Error(`400 INVALID DATA - invalid header! @${errScope}`);
|
|
237
|
+
// 2. validate magic and version
|
|
238
|
+
if (!head.startsWith(MAGIC))
|
|
239
|
+
throw new Error(`400 INVALID MAGIC - invalid magic! @${errScope}`);
|
|
240
|
+
const version = head.substring(4, 8);
|
|
241
|
+
if (version !== VERSION)
|
|
242
|
+
throw new Error(`400 INVALID VERSION - expected ${VERSION}, got ${version}! @${errScope}`);
|
|
243
|
+
// 3. parse nonce, timestamp (format: LM!#V003:nonce:timestamp)
|
|
244
|
+
const [, nonce, timestamp] = head.substring(8).split(':');
|
|
245
|
+
if (!nonce || nonce.length !== 13)
|
|
246
|
+
throw new Error(`400 INVALID DATA - invalid nonce! @${errScope}`);
|
|
247
|
+
if (!timestamp || !/^\d+$/.test(timestamp))
|
|
248
|
+
throw new Error(`400 INVALID DATA - invalid timestamp! @${errScope}`);
|
|
249
|
+
if ((options === null || options === void 0 ? void 0 : options.maxAge) !== undefined) {
|
|
250
|
+
const current = (_a = options === null || options === void 0 ? void 0 : options.current) !== null && _a !== void 0 ? _a : currentMs();
|
|
251
|
+
if (current - parseInt(timestamp, 10) > options.maxAge)
|
|
252
|
+
throw new Error(`400 INVALID DATA - expired timestamp! @${errScope}`);
|
|
253
|
+
}
|
|
254
|
+
// 4. decrypt
|
|
255
|
+
const iv = Buffer.from(hmac(`${nonce}:${timestamp}`, passwd).substring(0, 32), 'hex');
|
|
256
|
+
const decipher = crypto_1.default.createDecipheriv(algorithm, key, iv);
|
|
257
|
+
const dec = Buffer.concat([
|
|
258
|
+
decipher.update(Buffer.from(msg.substring(HEAD_B64_LEN), 'base64')),
|
|
259
|
+
decipher.final(),
|
|
260
|
+
]).toString('utf8');
|
|
261
|
+
if (!dec.startsWith('{') || !dec.endsWith('}'))
|
|
262
|
+
throw new Error(`400 INVALID PASSWD - invalid json string @${errScope}`);
|
|
263
|
+
const $msg = JSON.parse(dec) || {};
|
|
264
|
+
return $msg === null || $msg === void 0 ? void 0 : $msg.d;
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
})();
|
|
268
|
+
};
|
|
269
|
+
/**
|
|
270
|
+
* encrypt shorthand using crypto3
|
|
271
|
+
*/
|
|
272
|
+
this.encrypt = (data, secret, options) => {
|
|
273
|
+
return this.crypto3(secret).encrypt(data, options);
|
|
274
|
+
};
|
|
275
|
+
/**
|
|
276
|
+
* decrypt shorthand using crypto3
|
|
277
|
+
*/
|
|
278
|
+
this.decrypt = (data, secret, options) => {
|
|
279
|
+
return this.crypto3(secret).decrypt(data, options);
|
|
280
|
+
};
|
|
188
281
|
/**
|
|
189
282
|
* builder for `JWTHelper`
|
|
190
283
|
* @param passcode string for verification.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/engine/utilities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/engine/utilities.ts"],"names":[],"mappings":"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"}
|