@mondart/nestjs-common-module-iam 3.2.17 → 3.2.19
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/decorators/iam-context.decorator.d.ts.map +1 -1
- package/dist/decorators/iam-context.decorator.js +21 -5
- package/dist/decorators/iam-context.decorator.js.map +1 -1
- package/dist/dto/iam-context.dto.d.ts +7 -0
- package/dist/dto/iam-context.dto.d.ts.map +1 -1
- package/dist/dto/iam-context.dto.js +27 -1
- package/dist/dto/iam-context.dto.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam-context.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/iam-context.decorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKvD,eAAO,MAAM,UAAU,mDAMtB,CAAC;AAUF,eAAO,MAAM,aAAa,GAAI,SAAS,GAAG,KAAG,
|
|
1
|
+
{"version":3,"file":"iam-context.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/iam-context.decorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKvD,eAAO,MAAM,UAAU,mDAMtB,CAAC;AAUF,eAAO,MAAM,aAAa,GAAI,SAAS,GAAG,KAAG,aA8D5C,CAAC"}
|
|
@@ -13,11 +13,7 @@ const getIamContext = (request) => {
|
|
|
13
13
|
? JSON.parse(request?.headers)
|
|
14
14
|
: request?.headers;
|
|
15
15
|
const injectedPayload = headers?.['injectedpayload'];
|
|
16
|
-
const ip = headers
|
|
17
|
-
headers?.['host'] ||
|
|
18
|
-
headers?.address ||
|
|
19
|
-
request?.socket?.remoteAddress ||
|
|
20
|
-
null;
|
|
16
|
+
const { ip, ips } = resolveIps(request, headers);
|
|
21
17
|
const requestId = headers?.['request-id'] ?? (0, crypto_1.randomUUID)();
|
|
22
18
|
const timestamp = new Date(headers?.['timestamp'] || headers?.['time'] || Date.now());
|
|
23
19
|
let isAgent = false;
|
|
@@ -51,6 +47,7 @@ const getIamContext = (request) => {
|
|
|
51
47
|
}
|
|
52
48
|
return new iam_context_dto_1.IamContextDto({
|
|
53
49
|
ip,
|
|
50
|
+
ips,
|
|
54
51
|
requestId,
|
|
55
52
|
timestamp,
|
|
56
53
|
isAgent,
|
|
@@ -59,4 +56,23 @@ const getIamContext = (request) => {
|
|
|
59
56
|
});
|
|
60
57
|
};
|
|
61
58
|
exports.getIamContext = getIamContext;
|
|
59
|
+
const resolveIps = (request, headers) => {
|
|
60
|
+
const forwardedFor = String(headers?.['x-forwarded-for'] ?? '')
|
|
61
|
+
.split(',')
|
|
62
|
+
.map((value) => value.trim())
|
|
63
|
+
.filter(Boolean);
|
|
64
|
+
const cfConnectingIp = headers?.['cf-connecting-ip'];
|
|
65
|
+
const realIp = headers?.['x-real-ip'];
|
|
66
|
+
const remoteAddress = request?.socket?.remoteAddress;
|
|
67
|
+
const ip = cfConnectingIp ||
|
|
68
|
+
forwardedFor[0] ||
|
|
69
|
+
realIp ||
|
|
70
|
+
headers?.address ||
|
|
71
|
+
remoteAddress ||
|
|
72
|
+
null;
|
|
73
|
+
const ips = forwardedFor.length > 1
|
|
74
|
+
? { cfConnectingIp, forwardedFor, realIp, remoteAddress }
|
|
75
|
+
: undefined;
|
|
76
|
+
return { ip, ips };
|
|
77
|
+
};
|
|
62
78
|
//# sourceMappingURL=iam-context.decorator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam-context.decorator.js","sourceRoot":"","sources":["../../src/decorators/iam-context.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAwE;AACxE,mCAAoC;AACpC,4DAAuD;AAK1C,QAAA,UAAU,GAAG,IAAA,6BAAoB,EAC5C,CAAC,IAAa,EAAE,GAAqB,EAAiB,EAAE;IACtD,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;IAEhD,OAAO,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC;AAChC,CAAC,CACF,CAAC;AAUK,MAAM,aAAa,GAAG,CAAC,OAAY,EAAiB,EAAE;IAC3D,MAAM,OAAO,GACX,OAAO,OAAO,EAAE,OAAO,KAAK,QAAQ;QAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;QAC9B,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;IAEvB,MAAM,eAAe,GAAG,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"iam-context.decorator.js","sourceRoot":"","sources":["../../src/decorators/iam-context.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { GetAgentInterface } from '../interfaces/get-agent.interface';
|
|
2
2
|
import { GetUserInterface } from '../interfaces/get-user.interface';
|
|
3
|
+
export declare class IamContextIpsDto {
|
|
4
|
+
cfConnectingIp?: string;
|
|
5
|
+
forwardedFor?: string[];
|
|
6
|
+
realIp?: string;
|
|
7
|
+
remoteAddress?: string;
|
|
8
|
+
}
|
|
3
9
|
export declare class IamContextDto {
|
|
4
10
|
timestamp: Date;
|
|
5
11
|
requestId: string;
|
|
6
12
|
ip?: string;
|
|
13
|
+
ips?: IamContextIpsDto;
|
|
7
14
|
agentId: string;
|
|
8
15
|
user?: GetUserInterface;
|
|
9
16
|
userId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam-context.dto.d.ts","sourceRoot":"","sources":["../../src/dto/iam-context.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,qBAAa,aAAa;IAGxB,SAAS,EAAE,IAAI,CAAC;IAIhB,SAAS,EAAE,MAAM,CAAC;IAIlB,EAAE,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"iam-context.dto.d.ts","sourceRoot":"","sources":["../../src/dto/iam-context.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,qBAAa,gBAAgB;IAE3B,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAGD,qBAAa,aAAa;IAGxB,SAAS,EAAE,IAAI,CAAC;IAIhB,SAAS,EAAE,MAAM,CAAC;IAIlB,EAAE,CAAC,EAAE,MAAM,CAAC;IAKZ,GAAG,CAAC,EAAE,gBAAgB,CAAC;IAIvB,OAAO,EAAE,MAAM,CAAC;IAIhB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IAIxB,MAAM,EAAE,MAAM,CAAC;IAIf,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAG1B,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEN,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;CAYtE"}
|
|
@@ -9,13 +9,33 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.IamContextDto = void 0;
|
|
12
|
+
exports.IamContextDto = exports.IamContextIpsDto = void 0;
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
const crypto_1 = require("crypto");
|
|
16
|
+
class IamContextIpsDto {
|
|
17
|
+
}
|
|
18
|
+
exports.IamContextIpsDto = IamContextIpsDto;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, swagger_1.ApiResponseProperty)({ type: String }),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], IamContextIpsDto.prototype, "cfConnectingIp", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, swagger_1.ApiResponseProperty)({ type: [String] }),
|
|
25
|
+
__metadata("design:type", Array)
|
|
26
|
+
], IamContextIpsDto.prototype, "forwardedFor", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, swagger_1.ApiResponseProperty)({ type: String }),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], IamContextIpsDto.prototype, "realIp", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, swagger_1.ApiResponseProperty)({ type: String }),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], IamContextIpsDto.prototype, "remoteAddress", void 0);
|
|
16
35
|
class IamContextDto {
|
|
17
36
|
constructor(init) {
|
|
18
37
|
this.ip = init?.ip;
|
|
38
|
+
this.ips = init?.ips;
|
|
19
39
|
this.isAgent = init?.isAgent;
|
|
20
40
|
this.agentId = init?.agent ? init?.agent?.agentId : undefined;
|
|
21
41
|
this.agent = init?.agent;
|
|
@@ -41,6 +61,12 @@ __decorate([
|
|
|
41
61
|
(0, class_validator_1.IsString)(),
|
|
42
62
|
__metadata("design:type", String)
|
|
43
63
|
], IamContextDto.prototype, "ip", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, swagger_1.ApiResponseProperty)({ type: IamContextIpsDto }),
|
|
66
|
+
(0, class_validator_1.IsOptional)(),
|
|
67
|
+
(0, class_validator_1.IsObject)(),
|
|
68
|
+
__metadata("design:type", IamContextIpsDto)
|
|
69
|
+
], IamContextDto.prototype, "ips", void 0);
|
|
44
70
|
__decorate([
|
|
45
71
|
(0, swagger_1.ApiResponseProperty)({ type: String }),
|
|
46
72
|
(0, class_validator_1.IsString)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam-context.dto.js","sourceRoot":"","sources":["../../src/dto/iam-context.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"iam-context.dto.js","sourceRoot":"","sources":["../../src/dto/iam-context.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AACtD,qDAAyE;AACzE,mCAAoC;AAKpC,MAAa,gBAAgB;CAY5B;AAZD,4CAYC;AAVC;IADC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wDACd;AAGxB;IADC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;;sDAChB;AAGxB;IADC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;gDACtB;AAGhB;IADC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDACf;AAIzB,MAAa,aAAa;IAqCxB,YAAY,IAAyD;QACnE,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;QAEvB,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,IAAA,mBAAU,GAAE,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC;IACjD,CAAC;CACF;AAjDD,sCAiDC;AA9CC;IAFC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnC,IAAA,wBAAM,GAAE;8BACE,IAAI;gDAAC;AAIhB;IAFC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,IAAA,0BAAQ,GAAE;;gDACO;AAIlB;IAFC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,IAAA,0BAAQ,GAAE;;yCACC;AAKZ;IAHC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAC/C,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;8BACL,gBAAgB;0CAAC;AAIvB;IAFC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,IAAA,0BAAQ,GAAE;;8CACK;AAIhB;IAFC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,IAAA,0BAAQ,GAAE;;2CACa;AAIxB;IAFC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,IAAA,0BAAQ,GAAE;;6CACI;AAIf;IAFC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,IAAA,0BAAQ,GAAE;;4CACe;AAG1B;IADC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;8CACrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mondart/nestjs-common-module-iam",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.19",
|
|
4
4
|
"description": "Reusable IAM (Identity and Access Management) utilities for NestJS.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Mondart"
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"test:debug": "node --inspect-brk -r ts-node/register ./node_modules/.bin/jest --runInBand"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@mondart/nestjs-common-module-core": "3.2.
|
|
24
|
+
"@mondart/nestjs-common-module-core": "3.2.14",
|
|
25
25
|
"jose": "5.10.0",
|
|
26
26
|
"@sentry/nestjs": "^10.32.1"
|
|
27
27
|
},
|