lemon-core 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/controllers/dummy-controller.d.ts +1 -1
- package/dist/controllers/dummy-controller.js +2 -2
- package/dist/controllers/dummy-controller.js.map +1 -1
- package/dist/controllers/general-api-controller.d.ts +1 -1
- package/dist/cores/api/api-service.d.ts +239 -0
- package/dist/cores/api/api-service.js +674 -0
- package/dist/cores/api/api-service.js.map +1 -0
- package/dist/cores/api/index.d.ts +10 -0
- package/dist/cores/api/index.js +27 -0
- package/dist/cores/api/index.js.map +1 -0
- package/dist/cores/aws/aws-kms-service.d.ts +53 -2
- package/dist/cores/aws/aws-kms-service.js +104 -17
- package/dist/cores/aws/aws-kms-service.js.map +1 -1
- package/dist/cores/cache/cache-service.d.ts +440 -0
- package/dist/cores/cache/cache-service.js +967 -0
- package/dist/cores/cache/cache-service.js.map +1 -0
- package/dist/cores/cache/index.d.ts +10 -0
- package/dist/cores/cache/index.js +27 -0
- package/dist/cores/cache/index.js.map +1 -0
- package/dist/cores/cache-service.d.ts +54 -18
- package/dist/cores/cache-service.js +37 -26
- package/dist/cores/cache-service.js.map +1 -1
- package/dist/cores/core-types.d.ts +42 -12
- package/dist/cores/dynamo/dynamo-query-service.d.ts +52 -0
- package/dist/cores/dynamo/dynamo-query-service.js +127 -0
- package/dist/cores/dynamo/dynamo-query-service.js.map +1 -0
- package/dist/cores/dynamo/dynamo-scan-service.d.ts +70 -0
- package/dist/cores/dynamo/dynamo-scan-service.js +164 -0
- package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -0
- package/dist/cores/dynamo/dynamo-service.d.ts +192 -0
- package/dist/cores/dynamo/dynamo-service.js +525 -0
- package/dist/cores/dynamo/dynamo-service.js.map +1 -0
- package/dist/cores/dynamo/index.d.ts +12 -0
- package/dist/cores/dynamo/index.js +29 -0
- package/dist/cores/dynamo/index.js.map +1 -0
- package/dist/cores/elastic/elastic6-query-service.d.ts +104 -0
- package/dist/cores/elastic/elastic6-query-service.js +510 -0
- package/dist/cores/elastic/elastic6-query-service.js.map +1 -0
- package/dist/cores/elastic/elastic6-service.d.ts +273 -0
- package/dist/cores/elastic/elastic6-service.js +903 -0
- package/dist/cores/elastic/elastic6-service.js.map +1 -0
- package/dist/cores/elastic/hangul-service.d.ts +102 -0
- package/dist/cores/elastic/hangul-service.js +205 -0
- package/dist/cores/elastic/hangul-service.js.map +1 -0
- package/dist/cores/elastic/index.d.ts +12 -0
- package/dist/cores/elastic/index.js +29 -0
- package/dist/cores/elastic/index.js.map +1 -0
- package/dist/cores/hangul-service.d.ts +17 -3
- package/dist/cores/hangul-service.js +17 -8
- package/dist/cores/hangul-service.js.map +1 -1
- package/dist/cores/index.d.ts +5 -11
- package/dist/cores/index.js +8 -13
- package/dist/cores/index.js.map +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +2 -2
- package/dist/cores/lambda/lambda-web-handler.d.ts +158 -8
- package/dist/cores/lambda/lambda-web-handler.js +283 -77
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/cores/protocol/protocol-service.d.ts +4 -0
- package/dist/cores/protocol/protocol-service.js +12 -7
- package/dist/cores/protocol/protocol-service.js.map +1 -1
- package/dist/cores/storage/http-storage-service.d.ts +22 -0
- package/dist/cores/storage/http-storage-service.js +129 -0
- package/dist/cores/storage/http-storage-service.js.map +1 -0
- package/dist/cores/storage/index.d.ts +14 -0
- package/dist/cores/storage/index.js +31 -0
- package/dist/cores/storage/index.js.map +1 -0
- package/dist/cores/storage/model-manager.d.ts +93 -0
- package/dist/cores/storage/model-manager.js +192 -0
- package/dist/cores/storage/model-manager.js.map +1 -0
- package/dist/cores/storage/proxy-storage-service.d.ts +573 -0
- package/dist/cores/storage/proxy-storage-service.js +913 -0
- package/dist/cores/storage/proxy-storage-service.js.map +1 -0
- package/dist/cores/storage/redis-storage-service.d.ts +183 -0
- package/dist/cores/storage/redis-storage-service.js +391 -0
- package/dist/cores/storage/redis-storage-service.js.map +1 -0
- package/dist/cores/storage/storage-service.d.ts +169 -0
- package/dist/cores/storage/storage-service.js +374 -0
- package/dist/cores/storage/storage-service.js.map +1 -0
- package/dist/cores/storage-service.d.ts +1 -1
- package/dist/cores/storage-service.js +2 -2
- package/dist/cores/storage-service.js.map +1 -1
- package/dist/engine/utilities.d.ts +4 -3
- package/dist/engine/utilities.js +6 -6
- package/dist/engine/utilities.js.map +1 -1
- package/dist/environ.d.ts +2 -2
- package/dist/environ.js +7 -4
- package/dist/environ.js.map +1 -1
- package/dist/extended/abstract-service.d.ts +533 -0
- package/dist/extended/abstract-service.js +915 -0
- package/dist/extended/abstract-service.js.map +1 -0
- package/dist/extended/index.d.ts +10 -0
- package/dist/extended/index.js +27 -0
- package/dist/extended/index.js.map +1 -0
- package/dist/helpers/helpers.d.ts +7 -0
- package/dist/helpers/helpers.js +7 -0
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -4
|
@@ -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.LambdaWEBHandler = exports.mxNextFailure = exports.mxNextHandler = exports.promised = exports.redirect = exports.failure = exports.notfound = exports.success = exports.buildResponse = void 0;
|
|
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.
|
|
@@ -25,6 +25,7 @@ exports.LambdaWEBHandler = exports.mxNextFailure = exports.mxNextHandler = expor
|
|
|
25
25
|
*
|
|
26
26
|
* @author Steve Jung <steve@lemoncloud.io>
|
|
27
27
|
* @date 2019-11-20 initial version via backbone
|
|
28
|
+
* @date 2022-04-07 use env, and opt header-parser
|
|
28
29
|
*
|
|
29
30
|
* @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
|
|
30
31
|
*/
|
|
@@ -33,16 +34,27 @@ const engine_1 = require("../../engine/");
|
|
|
33
34
|
const lambda_handler_1 = require("./lambda-handler");
|
|
34
35
|
const shared_1 = require("../../tools/shared");
|
|
35
36
|
const test_helper_1 = require("../../common/test-helper");
|
|
37
|
+
const protocol_service_1 = require("../protocol/protocol-service");
|
|
38
|
+
const aws_kms_service_1 = require("../aws/aws-kms-service");
|
|
36
39
|
const protocol_1 = __importDefault(require("../protocol/"));
|
|
37
40
|
const NS = engine_1.$U.NS('HWEB', 'yellow'); // NAMESPACE TO BE PRINTED.
|
|
38
|
-
//! header
|
|
41
|
+
//! header definitions by environment.
|
|
39
42
|
const HEADER_LEMON_LANGUAGE = engine_1.$U.env('HEADER_LEMON_LANGUAGE', 'x-lemon-language');
|
|
40
43
|
const HEADER_LEMON_IDENTITY = engine_1.$U.env('HEADER_LEMON_IDENTITY', 'x-lemon-identity');
|
|
41
|
-
const HEADER_COOKIE = 'cookie';
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
const HEADER_COOKIE = engine_1.$U.env('HEADER_COOKIE', 'cookie');
|
|
45
|
+
const DEFAULT_FAVICON_ICO = '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';
|
|
46
|
+
const FAVICON_ICO = engine_1.$U.env('FAVICON_ICO', DEFAULT_FAVICON_ICO);
|
|
47
|
+
/**
|
|
48
|
+
* build http response body
|
|
49
|
+
* - if body is string type, then content-type would be text/<some>.
|
|
50
|
+
* - or default type is json
|
|
51
|
+
*
|
|
52
|
+
* @param statusCode http response code like 200
|
|
53
|
+
* @param body string or object
|
|
54
|
+
* @param contentType (optional) the target content-type
|
|
55
|
+
* @param origin (optional) the allow origin (default *)
|
|
56
|
+
* @returns http response body
|
|
57
|
+
*/
|
|
46
58
|
const buildResponse = (statusCode, body, contentType, origin) => {
|
|
47
59
|
const isBase64Encoded = contentType && !contentType.startsWith('text/') ? true : false;
|
|
48
60
|
contentType =
|
|
@@ -52,14 +64,14 @@ const buildResponse = (statusCode, body, contentType, origin) => {
|
|
|
52
64
|
? 'text/html; charset=utf-8'
|
|
53
65
|
: 'text/plain; charset=utf-8'
|
|
54
66
|
: 'application/json; charset=utf-8');
|
|
55
|
-
// @0612 - body 가 string일 경우, 응답형식을 텍스트로 바꿔서 출력한다.
|
|
56
67
|
return {
|
|
57
68
|
statusCode,
|
|
58
69
|
headers: {
|
|
59
70
|
'Content-Type': contentType,
|
|
60
71
|
'Access-Control-Allow-Origin': `${origin || '*'}`,
|
|
61
72
|
'Access-Control-Allow-Credentials': true,
|
|
62
|
-
|
|
73
|
+
// eslint-disable-next-line prettier/prettier
|
|
74
|
+
'Access-Control-Allow-Headers': ['origin', HEADER_LEMON_LANGUAGE, HEADER_LEMON_IDENTITY].filter(s => !!s).join(', '), // custom headers
|
|
63
75
|
},
|
|
64
76
|
body: typeof body === 'string' ? body : JSON.stringify(body),
|
|
65
77
|
isBase64Encoded,
|
|
@@ -95,8 +107,8 @@ const promised = (event, $ctx) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
95
107
|
return () => (0, exports.success)(FAVICON_ICO, 'image/x-icon');
|
|
96
108
|
}
|
|
97
109
|
//! transform to protocol-context.
|
|
98
|
-
if (event && event.headers && !event.headers[
|
|
99
|
-
event.headers[
|
|
110
|
+
if (event && event.headers && !event.headers[protocol_service_1.HEADER_PROTOCOL_CONTEXT])
|
|
111
|
+
event.headers[protocol_service_1.HEADER_PROTOCOL_CONTEXT] = $ctx ? engine_1.$U.json($ctx) : null;
|
|
100
112
|
const param = protocol_1.default.service.asTransformer('web').transformToParam(event);
|
|
101
113
|
(0, engine_1._log)(NS, '! protocol-param =', engine_1.$U.json(Object.assign(Object.assign({}, param), { body: undefined }))); // hide `.body` in log.
|
|
102
114
|
//! returns object..
|
|
@@ -199,6 +211,11 @@ class LambdaWEBHandler extends lambda_handler_1.LambdaSubHandler {
|
|
|
199
211
|
//! start promised..
|
|
200
212
|
return (0, exports.promised)(event, $ctx).then((0, exports.mxNextHandler)(this)).catch((0, exports.mxNextFailure)(event, $ctx));
|
|
201
213
|
});
|
|
214
|
+
/**
|
|
215
|
+
* builder of tools for http-headers
|
|
216
|
+
* - extracting header content, and parse.
|
|
217
|
+
*/
|
|
218
|
+
this.tools = (headers) => new MyHttpHeaderTool(this, headers);
|
|
202
219
|
// _log(NS, `LambdaWEBHandler()..`);
|
|
203
220
|
}
|
|
204
221
|
/**
|
|
@@ -320,90 +337,279 @@ class LambdaWEBHandler extends lambda_handler_1.LambdaSubHandler {
|
|
|
320
337
|
/**
|
|
321
338
|
* pack the request context for Http request.
|
|
322
339
|
*
|
|
323
|
-
* @param event
|
|
324
|
-
* @param
|
|
340
|
+
* @param event origin Event.
|
|
341
|
+
* @param orgContext (optional) original lambda.Context
|
|
325
342
|
*/
|
|
326
|
-
packContext(event,
|
|
343
|
+
packContext(event, orgContext) {
|
|
327
344
|
return __awaiter(this, void 0, void 0, function* () {
|
|
328
|
-
|
|
329
|
-
const reqContext = event && event.requestContext;
|
|
345
|
+
(0, engine_1._log)(NS, `packContext(${event ? '' : 'null'})..`);
|
|
330
346
|
if (!event)
|
|
331
347
|
return null;
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
(0, engine_1._log)(NS, `> orgContext=`, engine_1.$U.S(
|
|
335
|
-
|
|
336
|
-
const res = { identity: null };
|
|
348
|
+
//! prepare chain object.
|
|
349
|
+
const reqContext = event === null || event === void 0 ? void 0 : event.requestContext;
|
|
350
|
+
orgContext && (0, engine_1._log)(NS, `> orgContext =`, engine_1.$U.S(orgContext, 256, 32));
|
|
351
|
+
reqContext && (0, engine_1._log)(NS, `> reqContext =`, engine_1.$U.S(reqContext, 256, 32));
|
|
337
352
|
// STEP.1 support lambda call JWT Token authentication.
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
353
|
+
const headers = event.headers;
|
|
354
|
+
if (headers && headers[protocol_service_1.HEADER_PROTOCOL_CONTEXT]) {
|
|
355
|
+
//! if it is protocol request via lambda, then returns valid context.
|
|
341
356
|
const $param = protocol_1.default.service.asTransformer('web').transformToParam(event);
|
|
342
|
-
return $param.context;
|
|
357
|
+
return $param === null || $param === void 0 ? void 0 : $param.context;
|
|
343
358
|
}
|
|
344
|
-
//
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
//
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
359
|
+
// STEP.2 use internal identity json data via python lambda call.
|
|
360
|
+
const $tool = this.tools(headers);
|
|
361
|
+
const identity = yield $tool.parseIdentityHeader();
|
|
362
|
+
const cookie = $tool.parseCookiesHeader();
|
|
363
|
+
// STEP.3. prepare the final `next-context`.
|
|
364
|
+
const $ctx = yield $tool.prepareContext({ identity, cookie }, reqContext);
|
|
365
|
+
$ctx.source = protocol_1.default.service.myProtocolURI($ctx); // self service-uri as source
|
|
366
|
+
// FINIAL. returns
|
|
367
|
+
return $ctx;
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
exports.LambdaWEBHandler = LambdaWEBHandler;
|
|
372
|
+
//! shared config.
|
|
373
|
+
LambdaWEBHandler.REPORT_ERROR = lambda_handler_1.LambdaHandler.REPORT_ERROR;
|
|
374
|
+
/**
|
|
375
|
+
* class: `MyHttpHeaderTool`
|
|
376
|
+
* - basic implementation of HttpHeaderTool
|
|
377
|
+
*/
|
|
378
|
+
class MyHttpHeaderTool {
|
|
379
|
+
/**
|
|
380
|
+
* default constructor.
|
|
381
|
+
* @param headers
|
|
382
|
+
*/
|
|
383
|
+
constructor(handler, headers) {
|
|
384
|
+
/**
|
|
385
|
+
* get values by name
|
|
386
|
+
* @param name case-insentive name of field
|
|
387
|
+
*/
|
|
388
|
+
this.getHeaders = (name) => Object.entries(this.headers).reduce((L, [key, val]) => {
|
|
389
|
+
if (name === key || key.toLowerCase() === name) {
|
|
390
|
+
if (Array.isArray(val)) {
|
|
391
|
+
val.forEach(val => {
|
|
392
|
+
if (typeof val === 'string') {
|
|
393
|
+
L.push(val.trim());
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
(0, engine_1._err)(NS, `! invalid type @header[${name}] =`, typeof val, val);
|
|
397
|
+
}
|
|
398
|
+
});
|
|
356
399
|
}
|
|
357
|
-
|
|
358
|
-
(
|
|
359
|
-
|
|
400
|
+
else if (typeof val === 'string') {
|
|
401
|
+
L.push(val.trim());
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
(0, engine_1._err)(NS, `! invalid type @header[${name}] =`, typeof val, val);
|
|
360
405
|
}
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
406
|
+
}
|
|
407
|
+
return L;
|
|
408
|
+
}, []);
|
|
409
|
+
/**
|
|
410
|
+
* get the last value in header by name
|
|
411
|
+
*/
|
|
412
|
+
this.getHeader = (name) => {
|
|
413
|
+
const vals = this.getHeaders(name);
|
|
414
|
+
return vals.length < 1 ? undefined : vals[vals.length - 1];
|
|
415
|
+
};
|
|
416
|
+
/**
|
|
417
|
+
* check if this request is from externals (like API-GW)
|
|
418
|
+
* @returns true if in external
|
|
419
|
+
*/
|
|
420
|
+
this.isExternal = () => {
|
|
421
|
+
const host = this.getHeader('host');
|
|
422
|
+
const isExternal = host ? true : false;
|
|
423
|
+
return !!isExternal;
|
|
424
|
+
};
|
|
425
|
+
/**
|
|
426
|
+
* parse of header[`x-lemon-identity`] to get the instance of `NextIdentity`
|
|
427
|
+
* - lambda 호출의 2가지 방법이 있음 (interval vs external)
|
|
428
|
+
* - internal는 AWS 같은 계정내 호출로 labmda 직접 호출이 가능함.
|
|
429
|
+
* - external는 API-GW를 통한 호출로 JWT 지원 (since 3.1.2).
|
|
430
|
+
*
|
|
431
|
+
* **[FOR INTERNAL CALL BY LAMBDA]**
|
|
432
|
+
* - `x-lemon-identity` 정보로부터, 계정 정보를 얻음 (for direct call via lambda)
|
|
433
|
+
* - 외부 호출과 구분하기 위해서 headr[host]가 비어 있어야함 (API-GW에서는 무조건 있으므로)
|
|
434
|
+
*
|
|
435
|
+
* **[FOR EXTERNAL CALL BY API-GW]**
|
|
436
|
+
* - support ONLY JWT Token authentication (verification).
|
|
437
|
+
* - iat
|
|
438
|
+
*/
|
|
439
|
+
this.parseIdentityHeader = (name = HEADER_LEMON_IDENTITY) => __awaiter(this, void 0, void 0, function* () {
|
|
440
|
+
var _a;
|
|
441
|
+
//! internal means `request from internal services`
|
|
442
|
+
const isInternal = !this.isExternal();
|
|
443
|
+
const val = this.getHeader(name);
|
|
444
|
+
let result = val ? { meta: val } : {};
|
|
445
|
+
try {
|
|
446
|
+
if (!val) {
|
|
447
|
+
//NOP
|
|
448
|
+
}
|
|
449
|
+
else if (isInternal && val.startsWith('{') && val.endsWith('}')) {
|
|
450
|
+
result = yield this.parseIdentityJson(val);
|
|
451
|
+
}
|
|
452
|
+
else if (typeof val === 'string' && val.split('.').length === 3) {
|
|
453
|
+
result = yield this.parseIdentityJWT(val);
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
catch (e) {
|
|
457
|
+
(0, engine_1._err)(NS, '!WARN! parse.err =', e);
|
|
458
|
+
(0, engine_1._err)(NS, '!WARN! identity =', val);
|
|
459
|
+
result.error = (0, test_helper_1.GETERR)(e);
|
|
460
|
+
}
|
|
461
|
+
//! overwrite finally language selection.
|
|
462
|
+
const lang = (_a = this.parseLanguageHeader()) !== null && _a !== void 0 ? _a : result === null || result === void 0 ? void 0 : result.lang;
|
|
463
|
+
return Object.assign(Object.assign({}, result), { lang });
|
|
464
|
+
});
|
|
465
|
+
/**
|
|
466
|
+
* parse as identity from json encoded text.
|
|
467
|
+
*/
|
|
468
|
+
this.parseIdentityJson = (val) => __awaiter(this, void 0, void 0, function* () {
|
|
469
|
+
if (typeof val !== 'string')
|
|
470
|
+
throw new Error(`@val[${val}] is invalid - not string!`);
|
|
471
|
+
//! (ONLY for internal) parse payload as `json`
|
|
472
|
+
const data = JSON.parse(val);
|
|
473
|
+
// if (typeof data?.ns !== 'string') throw new Error(`.ns[${data?.ns}] is required - IdentityHeader`);
|
|
474
|
+
if (typeof (data === null || data === void 0 ? void 0 : data.sid) !== 'string' || !(data === null || data === void 0 ? void 0 : data.sid))
|
|
475
|
+
throw new Error(`.sid[${data === null || data === void 0 ? void 0 : data.sid}] is required - IdentityHeader`);
|
|
476
|
+
return data;
|
|
477
|
+
});
|
|
478
|
+
/**
|
|
479
|
+
* encode as JWT string.
|
|
480
|
+
*/
|
|
481
|
+
this.encodeIdentityJWT = (identity, params) => __awaiter(this, void 0, void 0, function* () {
|
|
482
|
+
var _b;
|
|
483
|
+
// STEP.1 prepare payload data
|
|
484
|
+
const current = (_b = params === null || params === void 0 ? void 0 : params.current) !== null && _b !== void 0 ? _b : engine_1.$U.current_time_ms();
|
|
485
|
+
const alias = params === null || params === void 0 ? void 0 : params.alias;
|
|
486
|
+
const payload = Object.assign(Object.assign({}, identity), { iss: alias ? `kms/${alias}` : null, iat: Math.floor(current / 1000), exp: Math.floor(current / 1000) + 24 * 60 * 60 });
|
|
487
|
+
const base64url = (t) => (0, aws_kms_service_1.fromBase64)(Buffer.from(t).toString('base64'));
|
|
488
|
+
const data = {
|
|
489
|
+
header: base64url(JSON.stringify({
|
|
490
|
+
alg: 'RS256',
|
|
491
|
+
typ: 'JWT',
|
|
492
|
+
})),
|
|
493
|
+
payload: base64url(JSON.stringify(payload)),
|
|
494
|
+
};
|
|
495
|
+
// STEP.2 encode and calc signature.
|
|
496
|
+
const message = [data.header, data.payload].join('.');
|
|
497
|
+
const $kms = alias ? this.findKMSService(`alias/${alias}`) : null;
|
|
498
|
+
const signature = $kms ? yield $kms.sign(message, true) : '';
|
|
499
|
+
const token = [message, signature].join('.');
|
|
500
|
+
return { signature, message, token };
|
|
501
|
+
});
|
|
502
|
+
/**
|
|
503
|
+
* parse as jwt-token, and validate the signature.
|
|
504
|
+
*/
|
|
505
|
+
this.parseIdentityJWT = (token, params) => __awaiter(this, void 0, void 0, function* () {
|
|
506
|
+
var _c;
|
|
507
|
+
//! it must be JWT Token. verify signature, and load.
|
|
508
|
+
if (typeof token !== 'string' || !token)
|
|
509
|
+
throw new Error(`@token (string) is required - but ${typeof token}`);
|
|
510
|
+
// STEP.1 decode jwt, and extract { iss, iat, exp }
|
|
511
|
+
const current = (_c = params === null || params === void 0 ? void 0 : params.current) !== null && _c !== void 0 ? _c : engine_1.$U.current_time_ms();
|
|
512
|
+
const sections = token.split('.');
|
|
513
|
+
if (sections.length !== 3)
|
|
514
|
+
throw new Error(`@token[${token}] is invalid format!`);
|
|
515
|
+
const [header, payload, signature] = sections;
|
|
516
|
+
const $jwt = engine_1.$U.jwt();
|
|
517
|
+
const data = $jwt.decode(token, { complete: false, json: true });
|
|
518
|
+
if (!data)
|
|
519
|
+
throw new Error(`@token[${token}] is invalid - failed to decode!`);
|
|
520
|
+
const { iss, iat, exp } = data;
|
|
521
|
+
// STEP.1-1 validate parameters.
|
|
522
|
+
if (typeof iss !== 'string' && iss !== null)
|
|
523
|
+
throw new Error(`.iss (string) is required!`);
|
|
524
|
+
if (typeof iat !== 'number' && iat !== null)
|
|
525
|
+
throw new Error(`.iat (number) is required!`);
|
|
526
|
+
if (typeof exp !== 'number' && exp !== null)
|
|
527
|
+
throw new Error(`.exp (number) is required!`);
|
|
528
|
+
// STEP.2 validate signature by KMS(iss).verify()
|
|
529
|
+
if (typeof iss === 'string' && iss.startsWith('kms/')) {
|
|
530
|
+
const alias = iss.substring(4);
|
|
531
|
+
const $kms = alias ? this.findKMSService(`alias/${alias}`) : null;
|
|
532
|
+
const verified = $kms ? yield $kms.verify([header, payload].join('.'), signature) : false;
|
|
533
|
+
if (!verified)
|
|
534
|
+
throw new Error(`@signature[] is invalid - not be verified!`);
|
|
535
|
+
if (!exp || exp * 1000 < current)
|
|
536
|
+
throw new Error(`.exp[${engine_1.$U.ts(exp * 1000)}] is invalid - expired!`);
|
|
537
|
+
return data;
|
|
538
|
+
}
|
|
539
|
+
//! or throw
|
|
540
|
+
throw new Error(`@iss[${iss}] is invalid - unsupportable issuer!`);
|
|
541
|
+
});
|
|
542
|
+
/**
|
|
543
|
+
* parse of header[HEADER_LEMON_LANGUAGE] to get language-type.
|
|
544
|
+
*/
|
|
545
|
+
this.parseLanguageHeader = (name = HEADER_LEMON_LANGUAGE) => {
|
|
546
|
+
const val = this.getHeader(name);
|
|
547
|
+
return typeof val === 'string' ? val.trim().toLowerCase() : undefined;
|
|
548
|
+
};
|
|
549
|
+
/**
|
|
550
|
+
* parse of header[HEADER_LEMON_LANGUAGE] to get cookie-set.
|
|
551
|
+
*/
|
|
552
|
+
this.parseCookiesHeader = (name = HEADER_COOKIE) => {
|
|
553
|
+
const cookie = this.getHeader(name);
|
|
554
|
+
if (!cookie)
|
|
555
|
+
return undefined;
|
|
556
|
+
const parseCookies = (str) => {
|
|
557
|
+
const rx = /([^;=\s]*)=([^;]*)/g;
|
|
558
|
+
const obj = {};
|
|
559
|
+
for (let m; (m = rx.exec(str));)
|
|
560
|
+
obj[m[1]] = decodeURIComponent(m[2]);
|
|
561
|
+
return obj;
|
|
562
|
+
};
|
|
563
|
+
return parseCookies(cookie);
|
|
564
|
+
};
|
|
565
|
+
/**
|
|
566
|
+
* override with AWS request-context
|
|
567
|
+
*/
|
|
568
|
+
this.prepareContext = ($org, reqContext) => __awaiter(this, void 0, void 0, function* () {
|
|
569
|
+
var _d, _e, _f, _g;
|
|
570
|
+
// STEP.4 override w/ cognito authentication to NextIdentity.
|
|
571
|
+
if (((_d = reqContext === null || reqContext === void 0 ? void 0 : reqContext.identity) === null || _d === void 0 ? void 0 : _d.cognitoIdentityPoolId) !== undefined) {
|
|
572
|
+
const identity = $org.identity;
|
|
573
|
+
if (!identity)
|
|
574
|
+
throw new Error(`.identity is required - prepareContext()`);
|
|
384
575
|
const $id = reqContext.identity;
|
|
385
|
-
(0, engine_1._inf)(NS, '! identity :=', engine_1.$U.json(
|
|
386
|
-
identity.identityProvider = $id.cognitoAuthenticationProvider;
|
|
576
|
+
(0, engine_1._inf)(NS, '! identity(req) :=', engine_1.$U.json(Object.assign({}, $id)));
|
|
577
|
+
identity.identityProvider = $id.cognitoAuthenticationProvider; // provider string.
|
|
387
578
|
identity.identityPoolId = $id.cognitoIdentityPoolId; // identity-pool-id like 'ap-northeast-2:618ce9d2-3ad6-49df-b3b3-e248ea51425e'
|
|
388
579
|
identity.identityId = $id.cognitoIdentityId; // identity-id like 'ap-northeast-2:dbd95fb4-7423-48b8-8a04-56e5bc95e444'
|
|
389
580
|
identity.accountId = $id.accountId; // account-id should be same as context.accountId
|
|
390
581
|
identity.userAgent = $id.userAgent; // user-agent string.
|
|
391
|
-
|
|
582
|
+
identity.caller = (_e = $id.caller) !== null && _e !== void 0 ? _e : undefined; // caller string.
|
|
583
|
+
(0, engine_1._inf)(NS, '! identity(new) :=', engine_1.$U.json(Object.assign({}, identity)));
|
|
392
584
|
}
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
const
|
|
396
|
-
const
|
|
397
|
-
const
|
|
398
|
-
const
|
|
585
|
+
//TODO - transform to access identity via `lemon-accounts-api` service @200106
|
|
586
|
+
// STEP.5 extract additional request infor from req-context.
|
|
587
|
+
const clientIp = `${((_f = reqContext === null || reqContext === void 0 ? void 0 : reqContext.identity) === null || _f === void 0 ? void 0 : _f.sourceIp) || ''}`;
|
|
588
|
+
const userAgent = `${((_g = reqContext === null || reqContext === void 0 ? void 0 : reqContext.identity) === null || _g === void 0 ? void 0 : _g.userAgent) || ''}`;
|
|
589
|
+
const requestId = `${(reqContext === null || reqContext === void 0 ? void 0 : reqContext.requestId) || ''}`;
|
|
590
|
+
const accountId = `${(reqContext === null || reqContext === void 0 ? void 0 : reqContext.accountId) || ''}`;
|
|
591
|
+
const domain = `${(reqContext === null || reqContext === void 0 ? void 0 : reqContext.domainName) || this.getHeader('host') || ''}`; //! chore avoid null of headers
|
|
399
592
|
//! save into headers and returns.
|
|
400
|
-
const context = Object.assign(Object.assign({},
|
|
401
|
-
context.source = protocol_1.default.service.myProtocolURI(context); // self service-uri as source
|
|
593
|
+
const context = Object.assign(Object.assign({}, $org), { userAgent, clientIp, requestId, accountId, domain });
|
|
402
594
|
return context;
|
|
403
595
|
});
|
|
596
|
+
this.handler = handler;
|
|
597
|
+
this.headers = Object.assign({}, headers);
|
|
598
|
+
}
|
|
599
|
+
hello() {
|
|
600
|
+
return 'header-tool-by-default';
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* find(or make) the proper KMSService per key
|
|
604
|
+
* @param keyId key of KMS
|
|
605
|
+
* @returns service
|
|
606
|
+
*/
|
|
607
|
+
findKMSService(keyId) {
|
|
608
|
+
// const aws = $engine.module('aws') as AWSModule;
|
|
609
|
+
// return aws?.kms;
|
|
610
|
+
const kms = new aws_kms_service_1.AWSKMSService(keyId);
|
|
611
|
+
return kms;
|
|
404
612
|
}
|
|
405
613
|
}
|
|
406
|
-
exports.
|
|
407
|
-
//! shared config.
|
|
408
|
-
LambdaWEBHandler.REPORT_ERROR = lambda_handler_1.LambdaHandler.REPORT_ERROR;
|
|
614
|
+
exports.MyHttpHeaderTool = MyHttpHeaderTool;
|
|
409
615
|
//# 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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"}
|
|
@@ -3,6 +3,10 @@ import { STAGE, ProtocolService, ProtocolParam, ProtocolTransformer, ProtocolBod
|
|
|
3
3
|
import AWS, { SQS, SNS } from 'aws-sdk';
|
|
4
4
|
import { APIGatewayProxyEvent, SNSMessage, SQSRecord } from 'aws-lambda';
|
|
5
5
|
import { ConfigService } from './../config/config-service';
|
|
6
|
+
/**
|
|
7
|
+
* header name to exchange `next-context`
|
|
8
|
+
*/
|
|
9
|
+
export declare const HEADER_PROTOCOL_CONTEXT: any;
|
|
6
10
|
/**
|
|
7
11
|
* type: MyProtocolType
|
|
8
12
|
* - supportable type of protocol
|
|
@@ -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.SQSProtocolTransformer = exports.SNSProtocolTransformer = exports.WEBProtocolTransformer = exports.MyProtocolService = void 0;
|
|
15
|
+
exports.SQSProtocolTransformer = exports.SNSProtocolTransformer = exports.WEBProtocolTransformer = exports.MyProtocolService = exports.HEADER_PROTOCOL_CONTEXT = void 0;
|
|
16
16
|
/**
|
|
17
17
|
* file: `cores/protocol-service.ts`
|
|
18
18
|
* - inter communication protocol services
|
|
@@ -27,12 +27,15 @@ exports.SQSProtocolTransformer = exports.SNSProtocolTransformer = exports.WEBPro
|
|
|
27
27
|
const engine_1 = require("../../engine/");
|
|
28
28
|
const aws_sdk_1 = __importDefault(require("aws-sdk"));
|
|
29
29
|
const lambda_handler_1 = require("./../lambda/lambda-handler");
|
|
30
|
-
const NS = engine_1.$U.NS('PRTS', 'yellow'); // NAMESPACE TO BE PRINTED.
|
|
31
30
|
const url_1 = __importDefault(require("url"));
|
|
32
31
|
const config_1 = __importDefault(require("../config/")); // load config-module.
|
|
33
32
|
const aws_1 = __importDefault(require("../aws/")); // load config-module.
|
|
34
|
-
// import queryString from 'query-string';
|
|
35
33
|
const qs_1 = __importDefault(require("qs"));
|
|
34
|
+
const NS = engine_1.$U.NS('PRTS', 'yellow'); // NAMESPACE TO BE PRINTED.
|
|
35
|
+
/**
|
|
36
|
+
* header name to exchange `next-context`
|
|
37
|
+
*/
|
|
38
|
+
exports.HEADER_PROTOCOL_CONTEXT = engine_1.$U.env('HEADER_PROTOCOL_CONTEXT', 'x-protocol-context');
|
|
36
39
|
/**
|
|
37
40
|
* class: `MyConfigService`
|
|
38
41
|
* - main implementation for `protocol-service`
|
|
@@ -499,7 +502,7 @@ class WEBProtocolTransformer {
|
|
|
499
502
|
const base = {};
|
|
500
503
|
const $ctx = {};
|
|
501
504
|
const event = Object.assign(Object.assign({}, base), { headers: {
|
|
502
|
-
|
|
505
|
+
[exports.HEADER_PROTOCOL_CONTEXT]: engine_1.$U.json(context),
|
|
503
506
|
}, path,
|
|
504
507
|
httpMethod, pathParameters: { type, id, cmd }, queryStringParameters: param.param, requestContext: Object.assign(Object.assign({}, $ctx), { path,
|
|
505
508
|
httpMethod, identity: null, // must be 'null' due to not compartible with AWS auth.
|
|
@@ -545,9 +548,11 @@ class WEBProtocolTransformer {
|
|
|
545
548
|
return body;
|
|
546
549
|
})(event.body, contType);
|
|
547
550
|
//! decode context (can be null)
|
|
548
|
-
if (typeof headers[
|
|
549
|
-
throw new Error(
|
|
550
|
-
const context = headers[
|
|
551
|
+
if (typeof headers[exports.HEADER_PROTOCOL_CONTEXT] === 'undefined')
|
|
552
|
+
throw new Error(`.headers[${exports.HEADER_PROTOCOL_CONTEXT}] is required`);
|
|
553
|
+
const context = headers[exports.HEADER_PROTOCOL_CONTEXT]
|
|
554
|
+
? JSON.parse(headers[exports.HEADER_PROTOCOL_CONTEXT])
|
|
555
|
+
: null;
|
|
551
556
|
//! determine execute mode.
|
|
552
557
|
const service = '';
|
|
553
558
|
const stage = `${requestContext.stage || ''}`;
|