lemon-core 4.1.14 → 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 +15 -37
- package/dist/cores/lambda/lambda-web-handler.js +82 -147
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/engine/utilities.d.ts +9 -5
- package/dist/engine/utilities.js +40 -27
- package/dist/engine/utilities.js.map +1 -1
- package/dist/tools/shared.d.ts +1 -10
- package/dist/tools/shared.js +26 -13
- package/dist/tools/shared.js.map +1 -1
- package/package.json +1 -1
|
@@ -111,10 +111,6 @@ export declare class LambdaWEBHandler extends LambdaSubHandler<WEBHandler> {
|
|
|
111
111
|
* - extracting header content, and parse.
|
|
112
112
|
*/
|
|
113
113
|
tools: (headers: HttpHeaderSet) => HttpHeaderTool<APIGatewayEventRequestContext>;
|
|
114
|
-
/**
|
|
115
|
-
* builder of tools without kms.
|
|
116
|
-
*/
|
|
117
|
-
toolsV2: (headers: HttpHeaderSet, reqContext?: APIGatewayEventRequestContext) => HttpHeaderTool<APIGatewayEventRequestContext>;
|
|
118
114
|
/**
|
|
119
115
|
* pack the request context for Http request.
|
|
120
116
|
*
|
|
@@ -199,6 +195,8 @@ export interface HttpHeaderTool<RequestContext> {
|
|
|
199
195
|
*/
|
|
200
196
|
export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventRequestContext> {
|
|
201
197
|
protected headers: HttpHeaderSet;
|
|
198
|
+
protected static _accountId?: string;
|
|
199
|
+
protected static _accountIdPromise?: Promise<string>;
|
|
202
200
|
/**
|
|
203
201
|
* default constructor.
|
|
204
202
|
* @param headers
|
|
@@ -209,6 +207,14 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
|
|
|
209
207
|
hello(): string;
|
|
210
208
|
/** expose `onlyDefined` */
|
|
211
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>;
|
|
212
218
|
/**
|
|
213
219
|
* get values by name
|
|
214
220
|
* @param name case-insentive name of field
|
|
@@ -256,6 +262,10 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
|
|
|
256
262
|
alias?: string;
|
|
257
263
|
/** current ms */
|
|
258
264
|
current?: number;
|
|
265
|
+
/** expiration time in seconds */
|
|
266
|
+
exp?: number;
|
|
267
|
+
/** if true, use HS256 */
|
|
268
|
+
useHs256?: boolean;
|
|
259
269
|
}): Promise<{
|
|
260
270
|
signature: string;
|
|
261
271
|
message: string;
|
|
@@ -263,6 +273,7 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
|
|
|
263
273
|
}>;
|
|
264
274
|
/**
|
|
265
275
|
* parse as jwt-token, and validate the signature.
|
|
276
|
+
* - supports both `kms/*` and `api/*` issuers via verifyToken()
|
|
266
277
|
*/
|
|
267
278
|
parseIdentityJWT<T extends NextIdentityJwt = NextIdentityJwt>(token: string, params?: {
|
|
268
279
|
/** current ms */
|
|
@@ -284,39 +295,6 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
|
|
|
284
295
|
* override with AWS request-context
|
|
285
296
|
*/
|
|
286
297
|
prepareContext($org: NextContext, reqContext: APIGatewayEventRequestContext): Promise<NextContext>;
|
|
287
|
-
}
|
|
288
|
-
export declare class MyHttpHeaderToolV2 extends MyHttpHeaderTool {
|
|
289
|
-
protected reqContext?: APIGatewayEventRequestContext;
|
|
290
|
-
constructor(headers: HttpHeaderSet, reqContext?: APIGatewayEventRequestContext);
|
|
291
|
-
hello(): string;
|
|
292
|
-
/**
|
|
293
|
-
* build default JWT secret from AWS account id + magic key.
|
|
294
|
-
*/
|
|
295
|
-
buildJwtSecret: () => string;
|
|
296
|
-
/**
|
|
297
|
-
* encode as JWT string.
|
|
298
|
-
*/
|
|
299
|
-
encodeIdentityJWT(identity: NextIdentity, params?: {
|
|
300
|
-
/** KMS alias to use (for RS256) or issuer name (for HS256) */
|
|
301
|
-
alias?: string;
|
|
302
|
-
/** current ms */
|
|
303
|
-
current?: number;
|
|
304
|
-
/** expiration time in seconds */
|
|
305
|
-
exp?: number;
|
|
306
|
-
}): Promise<{
|
|
307
|
-
signature: string;
|
|
308
|
-
message: string;
|
|
309
|
-
token: string;
|
|
310
|
-
}>;
|
|
311
|
-
/**
|
|
312
|
-
* parse as jwt-token, and validate the signature.
|
|
313
|
-
*/
|
|
314
|
-
parseIdentityJWT<T extends NextIdentityJwt = NextIdentityJwt>(token: string, params?: {
|
|
315
|
-
/** current ms */
|
|
316
|
-
current?: number;
|
|
317
|
-
/** flag to verify JWT (default true) */
|
|
318
|
-
verify?: boolean;
|
|
319
|
-
}): Promise<T>;
|
|
320
298
|
/**
|
|
321
299
|
* verify token signature by iss.
|
|
322
300
|
* - `kms/*`: verify by KMS (RS256)
|
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.MyHttpHeaderTool = exports.LambdaWEBHandler = exports.mxNextFailure = exports.mxNextHandler = exports.promised = exports.redirect = exports.failure = exports.notfound = exports.success = exports.buildResponse = void 0;
|
|
16
16
|
/**
|
|
17
17
|
* `lambda-web-handler.ts`
|
|
18
18
|
* - lambda handler to process WEB(API) event.
|
|
@@ -37,6 +37,7 @@ 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");
|
|
40
41
|
const config_1 = __importDefault(require("../config"));
|
|
41
42
|
const protocol_1 = __importDefault(require("../protocol/"));
|
|
42
43
|
const NS = engine_1.$U.NS('HWEB', 'yellow'); // NAMESPACE TO BE PRINTED.
|
|
@@ -240,10 +241,6 @@ class LambdaWEBHandler extends lambda_handler_1.LambdaSubHandler {
|
|
|
240
241
|
* - extracting header content, and parse.
|
|
241
242
|
*/
|
|
242
243
|
this.tools = (headers) => new MyHttpHeaderTool(headers);
|
|
243
|
-
/**
|
|
244
|
-
* builder of tools without kms.
|
|
245
|
-
*/
|
|
246
|
-
this.toolsV2 = (headers, reqContext) => new MyHttpHeaderToolV2(headers, reqContext);
|
|
247
244
|
// _log(NS, `LambdaWEBHandler()..`);
|
|
248
245
|
}
|
|
249
246
|
/**
|
|
@@ -386,7 +383,7 @@ class LambdaWEBHandler extends lambda_handler_1.LambdaSubHandler {
|
|
|
386
383
|
return $param === null || $param === void 0 ? void 0 : $param.context;
|
|
387
384
|
}
|
|
388
385
|
// STEP.2 use internal identity json data via python lambda call.
|
|
389
|
-
const $tool = this.
|
|
386
|
+
const $tool = this.tools(headers);
|
|
390
387
|
const identity = yield $tool.parseIdentityHeader();
|
|
391
388
|
const _prepare = () => {
|
|
392
389
|
const cookie = $tool.parseCookiesHeader();
|
|
@@ -421,6 +418,48 @@ class MyHttpHeaderTool {
|
|
|
421
418
|
var _a;
|
|
422
419
|
/** expose `onlyDefined` */
|
|
423
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
|
+
});
|
|
424
463
|
/**
|
|
425
464
|
* check if this request is from externals (like API-GW)
|
|
426
465
|
* @returns true if in external
|
|
@@ -543,7 +582,7 @@ class MyHttpHeaderTool {
|
|
|
543
582
|
* encode as JWT string.
|
|
544
583
|
*/
|
|
545
584
|
encodeIdentityJWT(identity, params) {
|
|
546
|
-
var _a;
|
|
585
|
+
var _a, _b, _c, _d, _e;
|
|
547
586
|
return __awaiter(this, void 0, void 0, function* () {
|
|
548
587
|
// STEP.0 validate paramters.
|
|
549
588
|
if (!identity || typeof identity !== 'object')
|
|
@@ -551,25 +590,32 @@ class MyHttpHeaderTool {
|
|
|
551
590
|
// STEP.1 prepare payload data
|
|
552
591
|
const current = (_a = params === null || params === void 0 ? void 0 : params.current) !== null && _a !== void 0 ? _a : engine_1.$U.current_time_ms();
|
|
553
592
|
const alias = params === null || params === void 0 ? void 0 : params.alias;
|
|
554
|
-
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 });
|
|
555
604
|
const base64url = (t) => (0, aws_kms_service_1.fromBase64)(Buffer.from(t).toString('base64'));
|
|
556
605
|
const data = {
|
|
557
|
-
header: base64url(JSON.stringify({
|
|
558
|
-
alg: 'RS256',
|
|
559
|
-
typ: 'JWT',
|
|
560
|
-
})),
|
|
606
|
+
header: base64url(JSON.stringify({ alg, typ: 'JWT' })),
|
|
561
607
|
payload: base64url(JSON.stringify(payload)),
|
|
562
608
|
};
|
|
563
609
|
// STEP.2 encode and calc signature.
|
|
564
610
|
const message = [data.header, data.payload].join('.');
|
|
565
|
-
const
|
|
566
|
-
const signature = $kms ? yield $kms.sign(message, true) : '';
|
|
611
|
+
const signature = alias || useHs256 ? yield this.signToken(alias, message) : '';
|
|
567
612
|
const token = [message, signature].join('.');
|
|
568
613
|
return { signature, message, token };
|
|
569
614
|
});
|
|
570
615
|
}
|
|
571
616
|
/**
|
|
572
617
|
* parse as jwt-token, and validate the signature.
|
|
618
|
+
* - supports both `kms/*` and `api/*` issuers via verifyToken()
|
|
573
619
|
*/
|
|
574
620
|
parseIdentityJWT(token, params) {
|
|
575
621
|
var _a, _b;
|
|
@@ -579,14 +625,14 @@ class MyHttpHeaderTool {
|
|
|
579
625
|
//* it must be JWT Token. verify signature, and load.
|
|
580
626
|
if (typeof token !== 'string' || !token)
|
|
581
627
|
throw new Error(`@token (string) is required (but ${typeof token}) - ${errScope}`);
|
|
582
|
-
// STEP.1 decode jwt, and extract { iss, iat, exp }
|
|
583
|
-
const current = (_b = params === null || params === void 0 ? void 0 : params.current) !== null && _b !== void 0 ? _b : engine_1.$U.current_time_ms();
|
|
584
628
|
const sections = token.split('.');
|
|
585
629
|
if (sections.length !== 3)
|
|
586
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();
|
|
587
633
|
const [header, payload, signature] = sections;
|
|
588
|
-
const
|
|
589
|
-
const data =
|
|
634
|
+
const message = [header, payload].join('.');
|
|
635
|
+
const data = engine_1.$U.jwt().decode(token, { complete: false, json: true });
|
|
590
636
|
if (!data)
|
|
591
637
|
throw new Error(`@token[${token}] is invalid (failed to decode) - ${errScope}`);
|
|
592
638
|
const { iss, iat, exp } = data;
|
|
@@ -597,31 +643,23 @@ class MyHttpHeaderTool {
|
|
|
597
643
|
throw new Error(`.iat (number) is required - ${errScope}`);
|
|
598
644
|
if (typeof exp !== 'number' && exp !== null)
|
|
599
645
|
throw new Error(`.exp (number) is required - ${errScope}`);
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
const _alias = (iss, prefix = 'kms/') => iss.includes(',') ? iss.substring(prefix.length, iss.indexOf(',')) : iss.substring(prefix.length);
|
|
603
|
-
if (!isVerify) {
|
|
604
|
-
return data;
|
|
605
|
-
}
|
|
606
|
-
else if (typeof iss === 'string' && iss.startsWith('kms/')) {
|
|
607
|
-
const alias = _alias(iss);
|
|
608
|
-
const $kms = alias ? this.findKMSService(`alias/${alias}`) : null;
|
|
609
|
-
const message = [header, payload].join('.');
|
|
610
|
-
const verified = $kms
|
|
611
|
-
? yield $kms.verify(message, signature, { throwable: true }).catch(e => {
|
|
612
|
-
throw new Error(`@signature[] is invalid (kms: ${(0, test_helper_1.GETERR)(e)}) - ${errScope}`);
|
|
613
|
-
})
|
|
614
|
-
: false;
|
|
615
|
-
if (!verified)
|
|
616
|
-
throw new Error(`@signature[] is invalid (failed to verify by iss:${iss}) - ${errScope}`);
|
|
617
|
-
if (!exp)
|
|
618
|
-
throw new Error(`.exp[${exp}] is invalid (empty) - ${errScope}`);
|
|
619
|
-
if (exp * 1000 < current)
|
|
620
|
-
throw new Error(`.exp[${engine_1.$U.ts(exp * 1000)}] is invalid (expired) - ${errScope}`);
|
|
646
|
+
//* skip verification if not required
|
|
647
|
+
if (!isVerify)
|
|
621
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}`);
|
|
622
656
|
}
|
|
623
|
-
|
|
624
|
-
|
|
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;
|
|
625
663
|
});
|
|
626
664
|
}
|
|
627
665
|
/**
|
|
@@ -685,109 +723,6 @@ class MyHttpHeaderTool {
|
|
|
685
723
|
return context;
|
|
686
724
|
});
|
|
687
725
|
}
|
|
688
|
-
}
|
|
689
|
-
exports.MyHttpHeaderTool = MyHttpHeaderTool;
|
|
690
|
-
class MyHttpHeaderToolV2 extends MyHttpHeaderTool {
|
|
691
|
-
constructor(headers, reqContext) {
|
|
692
|
-
super(headers);
|
|
693
|
-
/**
|
|
694
|
-
* build default JWT secret from AWS account id + magic key.
|
|
695
|
-
*/
|
|
696
|
-
this.buildJwtSecret = () => {
|
|
697
|
-
var _a, _b;
|
|
698
|
-
const accountId = (_b = (_a = this.reqContext) === null || _a === void 0 ? void 0 : _a.accountId) !== null && _b !== void 0 ? _b : '000000000000';
|
|
699
|
-
const secret = JWT_MAGIC_KEY; // 유출되면 피곤함.
|
|
700
|
-
const _hmac = (msg, key = secret) => engine_1.$U.hmac(msg, key, 'sha256', 'base64'); // 기본 로직
|
|
701
|
-
return _hmac(_hmac(accountId, _hmac(JWT_SIGN_KEY)), JWT_SIGN_KEY);
|
|
702
|
-
};
|
|
703
|
-
this.reqContext = reqContext;
|
|
704
|
-
}
|
|
705
|
-
hello() {
|
|
706
|
-
return 'header-tool-v2';
|
|
707
|
-
}
|
|
708
|
-
/**
|
|
709
|
-
* encode as JWT string.
|
|
710
|
-
*/
|
|
711
|
-
encodeIdentityJWT(identity, params) {
|
|
712
|
-
var _a, _b, _c, _d;
|
|
713
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
714
|
-
// STEP.0 validate paramters.
|
|
715
|
-
if (!identity || typeof identity !== 'object')
|
|
716
|
-
throw new Error(`@identity (object) is required - but ${typeof identity}`);
|
|
717
|
-
// STEP.1 prepare payload data
|
|
718
|
-
const current = (_a = params === null || params === void 0 ? void 0 : params.current) !== null && _a !== void 0 ? _a : engine_1.$U.current_time_ms();
|
|
719
|
-
const alias = params === null || params === void 0 ? void 0 : params.alias;
|
|
720
|
-
const useKms = !!(params === null || params === void 0 ? void 0 : params.alias);
|
|
721
|
-
const service = (_c = (_b = config_1.default === null || config_1.default === void 0 ? void 0 : config_1.default.config) === null || _b === void 0 ? void 0 : _b.getService) === null || _c === void 0 ? void 0 : _c.call(_b);
|
|
722
|
-
// validate service format
|
|
723
|
-
if (!useKms && service && !/^[a-z][a-zA-Z0-9-]*$/.test(service)) {
|
|
724
|
-
throw new Error(`@service[${service}] is invalid - encodeIdentityJWT()`);
|
|
725
|
-
}
|
|
726
|
-
const payload = Object.assign(Object.assign({}, identity), { iss: useKms ? `kms/${alias}` : `api/${service}`, iat: Math.floor(current / 1000), exp: (_d = params === null || params === void 0 ? void 0 : params.exp) !== null && _d !== void 0 ? _d : Math.floor(current / 1000) + 24 * 60 * 60 });
|
|
727
|
-
const base64url = (t) => (0, aws_kms_service_1.fromBase64)(Buffer.from(t).toString('base64'));
|
|
728
|
-
const alg = useKms ? 'RS256' : 'HS256';
|
|
729
|
-
const data = {
|
|
730
|
-
header: base64url(JSON.stringify({
|
|
731
|
-
alg,
|
|
732
|
-
typ: 'JWT',
|
|
733
|
-
})),
|
|
734
|
-
payload: base64url(JSON.stringify(payload)),
|
|
735
|
-
};
|
|
736
|
-
// STEP.2 encode and calc signature.
|
|
737
|
-
const message = [data.header, data.payload].join('.');
|
|
738
|
-
const signature = yield this.signToken(alias, message);
|
|
739
|
-
const token = [message, signature].join('.');
|
|
740
|
-
return { signature, message, token };
|
|
741
|
-
});
|
|
742
|
-
}
|
|
743
|
-
/**
|
|
744
|
-
* parse as jwt-token, and validate the signature.
|
|
745
|
-
*/
|
|
746
|
-
parseIdentityJWT(token, params) {
|
|
747
|
-
var _a, _b;
|
|
748
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
749
|
-
const isVerify = (_a = params === null || params === void 0 ? void 0 : params.verify) !== null && _a !== void 0 ? _a : true;
|
|
750
|
-
const errScope = `verifyJWT(http)`;
|
|
751
|
-
//* it must be JWT Token. verify signature, and load.
|
|
752
|
-
if (typeof token !== 'string' || !token)
|
|
753
|
-
throw new Error(`@token (string) is required (but ${typeof token}) - ${errScope}`);
|
|
754
|
-
const sections = token.split('.');
|
|
755
|
-
if (sections.length !== 3)
|
|
756
|
-
throw new Error(`@token[${token}] is invalid (format) - ${errScope}`);
|
|
757
|
-
// STEP.1 decode jwt, and extract { iss, iat, exp }
|
|
758
|
-
const current = (_b = params === null || params === void 0 ? void 0 : params.current) !== null && _b !== void 0 ? _b : engine_1.$U.current_time_ms();
|
|
759
|
-
const [header, payload, signature] = sections;
|
|
760
|
-
const message = [header, payload].join('.');
|
|
761
|
-
const data = engine_1.$U.jwt().decode(token, { complete: false, json: true });
|
|
762
|
-
if (!data)
|
|
763
|
-
throw new Error(`@token[${token}] is invalid (failed to decode) - ${errScope}`);
|
|
764
|
-
const { iss, iat, exp } = data;
|
|
765
|
-
// STEP.1-1 validate parameters.
|
|
766
|
-
if (typeof iss !== 'string' && iss !== null)
|
|
767
|
-
throw new Error(`.iss (string) is required - ${errScope}`);
|
|
768
|
-
if (typeof iat !== 'number' && iat !== null)
|
|
769
|
-
throw new Error(`.iat (number) is required - ${errScope}`);
|
|
770
|
-
if (typeof exp !== 'number' && exp !== null)
|
|
771
|
-
throw new Error(`.exp (number) is required - ${errScope}`);
|
|
772
|
-
//* skip verification if not required
|
|
773
|
-
if (!isVerify)
|
|
774
|
-
return data;
|
|
775
|
-
// STEP.2 verify signature by iss
|
|
776
|
-
const verified = yield this.verifyToken(iss, message, signature, { token }).catch(e => {
|
|
777
|
-
throw new Error(`@signature[] is invalid (${(0, test_helper_1.GETERR)(e)}) - ${errScope}`);
|
|
778
|
-
});
|
|
779
|
-
if (!(verified === null || verified === void 0 ? void 0 : verified.valid)) {
|
|
780
|
-
const errMsg = (verified === null || verified === void 0 ? void 0 : verified.error) || `failed to verify by ${iss}`;
|
|
781
|
-
throw new Error(`@signature[] is invalid (${errMsg}) - ${errScope}`);
|
|
782
|
-
}
|
|
783
|
-
// STEP.3 validate expiration
|
|
784
|
-
if (!exp)
|
|
785
|
-
throw new Error(`.exp[${exp}] is invalid (empty) - ${errScope}`);
|
|
786
|
-
if (exp * 1000 < current)
|
|
787
|
-
throw new Error(`.exp[${engine_1.$U.ts(exp * 1000)}] is invalid (expired) - ${errScope}`);
|
|
788
|
-
return data;
|
|
789
|
-
});
|
|
790
|
-
}
|
|
791
726
|
/**
|
|
792
727
|
* verify token signature by iss.
|
|
793
728
|
* - `kms/*`: verify by KMS (RS256)
|
|
@@ -821,7 +756,7 @@ class MyHttpHeaderToolV2 extends MyHttpHeaderTool {
|
|
|
821
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);
|
|
822
757
|
// verify if issued by current service
|
|
823
758
|
if (issuer === currentService) {
|
|
824
|
-
const secret = this.buildJwtSecret();
|
|
759
|
+
const secret = yield this.buildJwtSecret();
|
|
825
760
|
const expected = (0, aws_kms_service_1.fromBase64)(engine_1.$U.hmac(message, secret, 'sha256', 'base64'));
|
|
826
761
|
const valid = expected === signature;
|
|
827
762
|
return { valid };
|
|
@@ -871,7 +806,7 @@ class MyHttpHeaderToolV2 extends MyHttpHeaderTool {
|
|
|
871
806
|
}
|
|
872
807
|
else {
|
|
873
808
|
// HS256: sign directly with secret
|
|
874
|
-
const secret = this.buildJwtSecret();
|
|
809
|
+
const secret = yield this.buildJwtSecret();
|
|
875
810
|
const signature = (0, aws_kms_service_1.fromBase64)(engine_1.$U.hmac(message, secret, 'sha256', 'base64'));
|
|
876
811
|
(0, engine_1._inf)(NS, `> signature[${alias}] with HS256 =`, signature);
|
|
877
812
|
return signature;
|
|
@@ -879,5 +814,5 @@ class MyHttpHeaderToolV2 extends MyHttpHeaderTool {
|
|
|
879
814
|
});
|
|
880
815
|
}
|
|
881
816
|
}
|
|
882
|
-
exports.
|
|
817
|
+
exports.MyHttpHeaderTool = MyHttpHeaderTool;
|
|
883
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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"}
|
|
@@ -215,21 +215,25 @@ export declare class Utilities {
|
|
|
215
215
|
};
|
|
216
216
|
/**
|
|
217
217
|
* get crypto3 object (with nonce + timestamp based IV).
|
|
218
|
-
*
|
|
219
|
-
*
|
|
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('')
|
|
220
224
|
*
|
|
221
225
|
* @param passwd password to crypt
|
|
222
226
|
* @param algorithm (default as `aes-256-ctr`)
|
|
223
227
|
*/
|
|
224
|
-
readonly crypto3: (passwd: string, algorithm?: string) => {
|
|
225
|
-
encrypt: (val:
|
|
228
|
+
readonly crypto3: <T = string>(passwd: string, algorithm?: string) => {
|
|
229
|
+
encrypt: (val: T, options?: {
|
|
226
230
|
current?: number;
|
|
227
231
|
nonce?: string;
|
|
228
232
|
}) => string;
|
|
229
233
|
decrypt: (msg: string, options?: {
|
|
230
234
|
current?: number;
|
|
231
235
|
maxAge?: number;
|
|
232
|
-
}) =>
|
|
236
|
+
}) => T;
|
|
233
237
|
};
|
|
234
238
|
/**
|
|
235
239
|
* encrypt shorthand using crypto3
|
package/dist/engine/utilities.js
CHANGED
|
@@ -187,20 +187,26 @@ class Utilities {
|
|
|
187
187
|
};
|
|
188
188
|
/**
|
|
189
189
|
* get crypto3 object (with nonce + timestamp based IV).
|
|
190
|
-
*
|
|
191
|
-
*
|
|
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('')
|
|
192
196
|
*
|
|
193
197
|
* @param passwd password to crypt
|
|
194
198
|
* @param algorithm (default as `aes-256-ctr`)
|
|
195
199
|
*/
|
|
196
200
|
this.crypto3 = (passwd, algorithm) => {
|
|
197
201
|
algorithm = algorithm || 'aes-256-ctr';
|
|
202
|
+
const MAGIC = 'LM!#';
|
|
198
203
|
const VERSION = 'V003';
|
|
199
|
-
const
|
|
204
|
+
const HEAD_B64_LEN = 48; // 36 bytes -> 48 base64 (no padding)
|
|
205
|
+
const errScope = `crypto3(${algorithm}#${VERSION})`;
|
|
200
206
|
const key = Buffer.concat([Buffer.from(passwd)], Buffer.alloc(32).length);
|
|
201
207
|
const hmac = (data, sig) => this.hmac(data, sig, 'sha256', 'hex');
|
|
202
|
-
const currentMs = () => this.current_time_ms();
|
|
203
|
-
const makeNonce = () => this.uuid().replace(/-/g, '').substring(0,
|
|
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)
|
|
204
210
|
return new (class {
|
|
205
211
|
constructor() {
|
|
206
212
|
this.encrypt = (val, options) => {
|
|
@@ -208,47 +214,54 @@ class Utilities {
|
|
|
208
214
|
val = val === undefined ? null : val;
|
|
209
215
|
const nonce = (_a = options === null || options === void 0 ? void 0 : options.nonce) !== null && _a !== void 0 ? _a : makeNonce();
|
|
210
216
|
const timestamp = String((_b = options === null || options === void 0 ? void 0 : options.current) !== null && _b !== void 0 ? _b : currentMs()).padStart(13, '0');
|
|
211
|
-
const iv = Buffer.from(hmac(`${nonce}:${timestamp}`, passwd).substring(0, 32), 'hex');
|
|
217
|
+
const iv = Buffer.from(hmac(`${nonce}:${timestamp}`, passwd).substring(0, 32), 'hex'); // AES IV must be 16 bytes.
|
|
212
218
|
const buffer = Buffer.from(JSON.stringify({ d: val }), 'utf8');
|
|
213
219
|
const cipher = crypto_1.default.createCipheriv(algorithm, key, iv);
|
|
214
220
|
const crypted = Buffer.concat([cipher.update(buffer), cipher.final()]);
|
|
215
|
-
|
|
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('');
|
|
216
225
|
};
|
|
217
226
|
this.decrypt = (msg, options) => {
|
|
218
227
|
var _a;
|
|
219
228
|
if (!msg)
|
|
220
|
-
throw new Error(
|
|
221
|
-
if (msg.length <
|
|
222
|
-
throw new Error(
|
|
223
|
-
// 1.
|
|
224
|
-
const
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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);
|
|
228
241
|
if (version !== VERSION)
|
|
229
|
-
throw new Error(`400 INVALID VERSION - expected ${VERSION}, got ${version}
|
|
230
|
-
//
|
|
231
|
-
const nonce =
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
if (!/^\d+$/.test(timestamp))
|
|
235
|
-
throw new Error(
|
|
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}`);
|
|
236
249
|
if ((options === null || options === void 0 ? void 0 : options.maxAge) !== undefined) {
|
|
237
250
|
const current = (_a = options === null || options === void 0 ? void 0 : options.current) !== null && _a !== void 0 ? _a : currentMs();
|
|
238
251
|
if (current - parseInt(timestamp, 10) > options.maxAge)
|
|
239
|
-
throw new Error(
|
|
252
|
+
throw new Error(`400 INVALID DATA - expired timestamp! @${errScope}`);
|
|
240
253
|
}
|
|
241
|
-
//
|
|
254
|
+
// 4. decrypt
|
|
242
255
|
const iv = Buffer.from(hmac(`${nonce}:${timestamp}`, passwd).substring(0, 32), 'hex');
|
|
243
256
|
const decipher = crypto_1.default.createDecipheriv(algorithm, key, iv);
|
|
244
257
|
const dec = Buffer.concat([
|
|
245
|
-
decipher.update(Buffer.from(
|
|
258
|
+
decipher.update(Buffer.from(msg.substring(HEAD_B64_LEN), 'base64')),
|
|
246
259
|
decipher.final(),
|
|
247
260
|
]).toString('utf8');
|
|
248
261
|
if (!dec.startsWith('{') || !dec.endsWith('}'))
|
|
249
|
-
throw new Error(
|
|
262
|
+
throw new Error(`400 INVALID PASSWD - invalid json string @${errScope}`);
|
|
250
263
|
const $msg = JSON.parse(dec) || {};
|
|
251
|
-
return $msg.d;
|
|
264
|
+
return $msg === null || $msg === void 0 ? void 0 : $msg.d;
|
|
252
265
|
};
|
|
253
266
|
}
|
|
254
267
|
})();
|
|
@@ -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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"}
|
package/dist/tools/shared.d.ts
CHANGED
|
@@ -1,26 +1,17 @@
|
|
|
1
|
-
import { AwsCredentialIdentity } from '@aws-sdk/types';
|
|
2
1
|
/**
|
|
3
2
|
* load json in sync.
|
|
4
3
|
*/
|
|
5
4
|
export declare const loadJsonSync: <T extends object = any>(name: string, def?: {}) => T;
|
|
6
5
|
/**
|
|
7
6
|
* dynamic loading credentials by profile. (search PROFILE -> NAME)
|
|
8
|
-
*
|
|
9
|
-
* TODO -define the return type exactly.
|
|
10
|
-
*
|
|
11
|
-
* @returns {Promise<any>} - AWS credentials
|
|
12
7
|
*/
|
|
13
|
-
export declare const asyncCredentials: (profile: string) => Promise<
|
|
8
|
+
export declare const asyncCredentials: (profile: string) => Promise<unknown>;
|
|
14
9
|
/**
|
|
15
10
|
* dynamic loading credentials by profile. (search PROFILE -> NAME)
|
|
16
|
-
*
|
|
17
|
-
* @deprecated use `asyncCredentials` instead.
|
|
18
11
|
*/
|
|
19
12
|
export declare const credentials: (profile: string) => string;
|
|
20
13
|
/**
|
|
21
14
|
* return whether AWS credentials set
|
|
22
|
-
*
|
|
23
|
-
* @deprecated use `asyncCredentials` instead.
|
|
24
15
|
*/
|
|
25
16
|
export declare const hasCredentials: () => boolean;
|
|
26
17
|
/**
|
package/dist/tools/shared.js
CHANGED
|
@@ -32,7 +32,7 @@ exports.getRunParam = exports.loadDataYml = exports.hasCredentials = exports.cre
|
|
|
32
32
|
*/
|
|
33
33
|
const fs_1 = __importDefault(require("fs"));
|
|
34
34
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
35
|
-
const
|
|
35
|
+
const aws_sdk_1 = __importDefault(require("aws-sdk"));
|
|
36
36
|
/**
|
|
37
37
|
* load json in sync.
|
|
38
38
|
*/
|
|
@@ -51,34 +51,47 @@ const loadJsonSync = (name, def = {}) => {
|
|
|
51
51
|
exports.loadJsonSync = loadJsonSync;
|
|
52
52
|
/**
|
|
53
53
|
* dynamic loading credentials by profile. (search PROFILE -> NAME)
|
|
54
|
-
*
|
|
55
|
-
* TODO -define the return type exactly.
|
|
56
|
-
*
|
|
57
|
-
* @returns {Promise<any>} - AWS credentials
|
|
58
54
|
*/
|
|
59
55
|
const asyncCredentials = (profile) => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
return new Promise((resolve, reject) => {
|
|
57
|
+
let credentials = null;
|
|
58
|
+
const callback = (e, r) => {
|
|
59
|
+
// e || console.error('! credentials.res :=', r);
|
|
60
|
+
// e && console.error('! credentials.err :=', e);
|
|
61
|
+
if (e)
|
|
62
|
+
reject(e);
|
|
63
|
+
else
|
|
64
|
+
resolve(r || credentials);
|
|
65
|
+
};
|
|
66
|
+
try {
|
|
67
|
+
//WARN! - could not catch AWS.Error `Profile null not found` via callback.
|
|
68
|
+
credentials = new aws_sdk_1.default.SharedIniFileCredentials({ profile, callback });
|
|
69
|
+
aws_sdk_1.default.config.credentials = credentials;
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
callback(e);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
62
75
|
});
|
|
63
76
|
exports.asyncCredentials = asyncCredentials;
|
|
64
77
|
/**
|
|
65
78
|
* dynamic loading credentials by profile. (search PROFILE -> NAME)
|
|
66
|
-
*
|
|
67
|
-
* @deprecated use `asyncCredentials` instead.
|
|
68
79
|
*/
|
|
69
80
|
const credentials = (profile) => {
|
|
70
81
|
if (!profile)
|
|
71
82
|
return '';
|
|
72
|
-
|
|
83
|
+
// console.info('! credentials.profile =', profile);
|
|
84
|
+
// WARN! - could not catch AWS.Error `Profile null not found` via callback.
|
|
85
|
+
const credentials = new aws_sdk_1.default.SharedIniFileCredentials({ profile });
|
|
86
|
+
aws_sdk_1.default.config.credentials = credentials;
|
|
87
|
+
return `${profile}`;
|
|
73
88
|
};
|
|
74
89
|
exports.credentials = credentials;
|
|
75
90
|
/**
|
|
76
91
|
* return whether AWS credentials set
|
|
77
|
-
*
|
|
78
|
-
* @deprecated use `asyncCredentials` instead.
|
|
79
92
|
*/
|
|
80
93
|
const hasCredentials = () => {
|
|
81
|
-
return
|
|
94
|
+
return !!aws_sdk_1.default.config.credentials;
|
|
82
95
|
};
|
|
83
96
|
exports.hasCredentials = hasCredentials;
|
|
84
97
|
/**
|
package/dist/tools/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,4CAAoB;AACpB,sDAA2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
|