@fabx.vn/core 1.0.7 → 1.0.9
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/core/services/cookie.service.js +5 -1
- package/dist/core/services/cookie.service.js.map +1 -1
- package/dist/core/services/jwt.service.d.ts +1 -9
- package/dist/core/services/jwt.service.js +4 -50
- package/dist/core/services/jwt.service.js.map +1 -1
- package/dist/core/services/session.service.d.ts +1 -1
- package/dist/core/subscribers/audit.subscriber.js +25 -11
- package/dist/core/subscribers/audit.subscriber.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -17,7 +17,10 @@ class CookieService {
|
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
static clearAuthCookies(res) {
|
|
20
|
-
res.clearCookie(this.COOKIE_NAME, {
|
|
20
|
+
res.clearCookie(this.COOKIE_NAME, {
|
|
21
|
+
path: "/",
|
|
22
|
+
domain: this.COOKIE_OPTIONS.domain,
|
|
23
|
+
});
|
|
21
24
|
}
|
|
22
25
|
static setRefreshedCookies(res, accessToken, refreshToken, refreshTokenExpiresAt) {
|
|
23
26
|
this.setAuthCookies(res, accessToken, refreshToken, refreshTokenExpiresAt);
|
|
@@ -45,6 +48,7 @@ CookieService.COOKIE_OPTIONS = {
|
|
|
45
48
|
httpOnly: true,
|
|
46
49
|
secure: process.env.NODE_ENV === "production",
|
|
47
50
|
sameSite: process.env.NODE_ENV === "production" ? "none" : "strict",
|
|
51
|
+
domain: process.env.COOKIE_DOMAIN || undefined,
|
|
48
52
|
path: "/",
|
|
49
53
|
};
|
|
50
54
|
//# sourceMappingURL=cookie.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.service.js","sourceRoot":"","sources":["../../../src/core/services/cookie.service.ts"],"names":[],"mappings":";;;AACA,yDAAqD;AAOrD,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"cookie.service.js","sourceRoot":"","sources":["../../../src/core/services/cookie.service.ts"],"names":[],"mappings":";;;AACA,yDAAqD;AAOrD,MAAa,aAAa;IAcxB,MAAM,CAAC,cAAc,CACnB,GAAa,EACb,WAAmB,EACnB,YAAoB,EACpB,qBAA2B;QAE3B,MAAM,QAAQ,GAAG;YACf,WAAW;YACX,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,qBAAqB,EAAE,qBAAqB,CAAC,OAAO,EAAE;SACvD,CAAC;QAEF,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAElE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACrD,GAAG,IAAI,CAAC,cAAc;YACtB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAMD,MAAM,CAAC,gBAAgB,CAAC,GAAa;QACnC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE;YAChC,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM;SACnC,CAAC,CAAC;IACL,CAAC;IAKD,MAAM,CAAC,mBAAmB,CACxB,GAAa,EACb,WAAmB,EACnB,YAAoB,EACpB,qBAA2B;QAE3B,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;IAC7E,CAAC;IAKD,MAAM,CAAC,uBAAuB,CAC5B,OAAgB;QAEhB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxC,OAAO;gBACL,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;;AA7EH,sCA8EC;AA7EyB,yBAAW,GAAG,4BAAY,CAAC,UAAU,CAAC;AAEtC,4BAAc,GAAG;IACvC,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IAC7C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;IACnE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS;IAC9C,IAAI,EAAE,GAAG;CACD,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { JwtService } from "@nestjs/jwt";
|
|
2
2
|
import { SessionService, CurrentUserDto } from "../services/session.service";
|
|
3
3
|
export interface JwtTokenData {
|
|
4
|
-
sub: string
|
|
5
|
-
sessionId?: string;
|
|
6
|
-
email?: string;
|
|
4
|
+
sub: string;
|
|
7
5
|
}
|
|
8
6
|
export interface JwtValidationResult {
|
|
9
7
|
isValid: boolean;
|
|
@@ -16,23 +14,17 @@ export declare class CoreJwtService {
|
|
|
16
14
|
private readonly logger;
|
|
17
15
|
constructor(jwtService: JwtService, sessionService: SessionService);
|
|
18
16
|
createAccessToken(sessionData: CurrentUserDto): Promise<string>;
|
|
19
|
-
createSimpleAccessToken(userId: string | number, email: string): string;
|
|
20
17
|
decodeToken(token: string): JwtTokenData | null;
|
|
21
18
|
verifyToken(token: string): JwtTokenData | null;
|
|
22
19
|
validateTokenSignature(token: string): JwtValidationResult;
|
|
23
20
|
isTokenSignatureValid(token: string): boolean;
|
|
24
|
-
getUserIdFromToken(token: string): string | number | null;
|
|
25
21
|
getSessionIdFromToken(token: string): string | null;
|
|
26
22
|
deleteSessionFromToken(token: string): Promise<boolean>;
|
|
27
|
-
extractTokenFromHeader(request: any): string | null;
|
|
28
23
|
getTokenExpirationTime(token: string): number | null;
|
|
29
24
|
isTokenExpired(token: string): boolean;
|
|
30
|
-
createTokenPayload(userId: string | number, sessionId?: string, email?: string): JwtTokenData;
|
|
31
|
-
signToken(payload: JwtTokenData): string;
|
|
32
25
|
createInternalToken(service: string): string;
|
|
33
26
|
verifyInternalToken(token: string): {
|
|
34
27
|
service: string;
|
|
35
28
|
} | null;
|
|
36
29
|
getCurrentUser(accessToken: string): Promise<CurrentUserDto | null>;
|
|
37
|
-
getEmailFromToken(token: string): string | null;
|
|
38
30
|
}
|
|
@@ -27,18 +27,7 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
|
|
|
27
27
|
async createAccessToken(sessionData) {
|
|
28
28
|
const ttlSec = date_utils_1.DateUtils.parseExpirationTime(jwt_config_1.jwtConfig.expiresIn);
|
|
29
29
|
const sessionId = await this.sessionService.createSession(sessionData, ttlSec);
|
|
30
|
-
const payload = {
|
|
31
|
-
sub: sessionData.userId,
|
|
32
|
-
sessionId: sessionId,
|
|
33
|
-
email: sessionData.email,
|
|
34
|
-
};
|
|
35
|
-
return this.jwtService.sign(payload);
|
|
36
|
-
}
|
|
37
|
-
createSimpleAccessToken(userId, email) {
|
|
38
|
-
const payload = {
|
|
39
|
-
sub: userId,
|
|
40
|
-
email: email,
|
|
41
|
-
};
|
|
30
|
+
const payload = { sub: sessionId };
|
|
42
31
|
return this.jwtService.sign(payload);
|
|
43
32
|
}
|
|
44
33
|
decodeToken(token) {
|
|
@@ -84,13 +73,9 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
|
|
|
84
73
|
const result = this.validateTokenSignature(token);
|
|
85
74
|
return result.isValid;
|
|
86
75
|
}
|
|
87
|
-
getUserIdFromToken(token) {
|
|
88
|
-
const payload = this.decodeToken(token);
|
|
89
|
-
return payload?.sub || null;
|
|
90
|
-
}
|
|
91
76
|
getSessionIdFromToken(token) {
|
|
92
77
|
const payload = this.decodeToken(token);
|
|
93
|
-
return payload?.
|
|
78
|
+
return payload?.sub || null;
|
|
94
79
|
}
|
|
95
80
|
async deleteSessionFromToken(token) {
|
|
96
81
|
const sessionId = this.getSessionIdFromToken(token);
|
|
@@ -100,18 +85,6 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
|
|
|
100
85
|
}
|
|
101
86
|
return false;
|
|
102
87
|
}
|
|
103
|
-
extractTokenFromHeader(request) {
|
|
104
|
-
try {
|
|
105
|
-
const authHeader = request.headers?.authorization;
|
|
106
|
-
if (!authHeader || !authHeader.startsWith("Bearer ")) {
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
109
|
-
return authHeader.substring(7);
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
88
|
getTokenExpirationTime(token) {
|
|
116
89
|
try {
|
|
117
90
|
const payload = this.decodeToken(token);
|
|
@@ -131,21 +104,6 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
|
|
|
131
104
|
const expirationTime = this.getTokenExpirationTime(token);
|
|
132
105
|
return expirationTime === null || expirationTime <= 0;
|
|
133
106
|
}
|
|
134
|
-
createTokenPayload(userId, sessionId, email) {
|
|
135
|
-
const payload = {
|
|
136
|
-
sub: userId,
|
|
137
|
-
};
|
|
138
|
-
if (sessionId) {
|
|
139
|
-
payload.sessionId = sessionId;
|
|
140
|
-
}
|
|
141
|
-
if (email) {
|
|
142
|
-
payload.email = email;
|
|
143
|
-
}
|
|
144
|
-
return payload;
|
|
145
|
-
}
|
|
146
|
-
signToken(payload) {
|
|
147
|
-
return this.jwtService.sign(payload);
|
|
148
|
-
}
|
|
149
107
|
createInternalToken(service) {
|
|
150
108
|
return this.jwtService.sign({ service }, {
|
|
151
109
|
secret: internal_config_1.internalConfig.internalSecret,
|
|
@@ -167,9 +125,9 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
|
|
|
167
125
|
try {
|
|
168
126
|
const payload = this.decodeToken(accessToken);
|
|
169
127
|
this.logger.log(`Payload: ${JSON.stringify(payload)}`);
|
|
170
|
-
if (!payload?.
|
|
128
|
+
if (!payload?.sub)
|
|
171
129
|
return null;
|
|
172
|
-
const sessionData = await this.sessionService.getSession(payload.
|
|
130
|
+
const sessionData = await this.sessionService.getSession(payload.sub);
|
|
173
131
|
this.logger.log(`Session data: ${JSON.stringify(sessionData)}`);
|
|
174
132
|
return sessionData;
|
|
175
133
|
}
|
|
@@ -177,10 +135,6 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
|
|
|
177
135
|
return null;
|
|
178
136
|
}
|
|
179
137
|
}
|
|
180
|
-
getEmailFromToken(token) {
|
|
181
|
-
const payload = this.decodeToken(token);
|
|
182
|
-
return payload?.email || null;
|
|
183
|
-
}
|
|
184
138
|
};
|
|
185
139
|
exports.CoreJwtService = CoreJwtService;
|
|
186
140
|
exports.CoreJwtService = CoreJwtService = CoreJwtService_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.service.js","sourceRoot":"","sources":["../../../src/core/services/jwt.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,qCAAyC;AACzC,oEAAgF;AAChF,kDAA8C;AAC9C,mDAA+C;AAC/C,6DAAyD;AACzD,sEAAyD;
|
|
1
|
+
{"version":3,"file":"jwt.service.js","sourceRoot":"","sources":["../../../src/core/services/jwt.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,12 @@ import { RedisService } from "../services/redis.service";
|
|
|
2
2
|
export interface CurrentUserDto {
|
|
3
3
|
userUuid: string;
|
|
4
4
|
userId: number;
|
|
5
|
+
orgUnitId: number;
|
|
5
6
|
email: string;
|
|
6
7
|
fullName: string;
|
|
7
8
|
employeeCode: string;
|
|
8
9
|
avatar: string;
|
|
9
10
|
dataScope: string;
|
|
10
|
-
orgUnitIds: number[];
|
|
11
11
|
permissions: string[];
|
|
12
12
|
}
|
|
13
13
|
export declare class SessionService {
|
|
@@ -18,11 +18,26 @@ let AuditSubscriber = class AuditSubscriber {
|
|
|
18
18
|
this.dataSource = dataSource;
|
|
19
19
|
this.dataSource.subscribers.push(this);
|
|
20
20
|
}
|
|
21
|
-
safeSetProperty(entity, property, value) {
|
|
21
|
+
safeSetProperty(entity, property, value, metadata) {
|
|
22
22
|
if (!entity)
|
|
23
23
|
return;
|
|
24
24
|
try {
|
|
25
|
-
|
|
25
|
+
let entityMetadata = metadata;
|
|
26
|
+
if (!entityMetadata && entity.constructor) {
|
|
27
|
+
entityMetadata = this.dataSource.entityMetadatas.find((meta) => meta.target === entity.constructor);
|
|
28
|
+
}
|
|
29
|
+
if (entityMetadata) {
|
|
30
|
+
const hasProperty = entityMetadata.columns.some((column) => column.propertyName === property);
|
|
31
|
+
if (hasProperty) {
|
|
32
|
+
entity[property] = value;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
if (property in entity ||
|
|
37
|
+
Object.prototype.hasOwnProperty.call(entity, property)) {
|
|
38
|
+
entity[property] = value;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
26
41
|
}
|
|
27
42
|
catch (error) {
|
|
28
43
|
}
|
|
@@ -32,11 +47,10 @@ let AuditSubscriber = class AuditSubscriber {
|
|
|
32
47
|
return;
|
|
33
48
|
const user = request_context_service_1.RequestContextService.getCurrentUser();
|
|
34
49
|
if (user?.userId) {
|
|
35
|
-
this.safeSetProperty(event.entity, "createdBy", user.userId);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
this.safeSetProperty(event.entity, "orgUnitId", orgUnitId);
|
|
50
|
+
this.safeSetProperty(event.entity, "createdBy", user.userId, event.metadata);
|
|
51
|
+
if (user.orgUnitId) {
|
|
52
|
+
this.safeSetProperty(event.entity, "createdOrg", user.orgUnitId, event.metadata);
|
|
53
|
+
}
|
|
40
54
|
}
|
|
41
55
|
}
|
|
42
56
|
beforeUpdate(event) {
|
|
@@ -45,10 +59,10 @@ let AuditSubscriber = class AuditSubscriber {
|
|
|
45
59
|
const user = request_context_service_1.RequestContextService.getCurrentUser();
|
|
46
60
|
if (user?.userId) {
|
|
47
61
|
if (event.entity.deletedAt) {
|
|
48
|
-
this.safeSetProperty(event.entity, "deletedBy", user.userId);
|
|
62
|
+
this.safeSetProperty(event.entity, "deletedBy", user.userId, event.metadata);
|
|
49
63
|
}
|
|
50
64
|
else {
|
|
51
|
-
this.safeSetProperty(event.entity, "updatedBy", user.userId);
|
|
65
|
+
this.safeSetProperty(event.entity, "updatedBy", user.userId, event.metadata);
|
|
52
66
|
}
|
|
53
67
|
}
|
|
54
68
|
}
|
|
@@ -57,7 +71,7 @@ let AuditSubscriber = class AuditSubscriber {
|
|
|
57
71
|
return;
|
|
58
72
|
const user = request_context_service_1.RequestContextService.getCurrentUser();
|
|
59
73
|
if (user?.userId) {
|
|
60
|
-
this.safeSetProperty(event.entity, "deletedBy", user.userId);
|
|
74
|
+
this.safeSetProperty(event.entity, "deletedBy", user.userId, event.metadata);
|
|
61
75
|
}
|
|
62
76
|
}
|
|
63
77
|
beforeSoftRemove(event) {
|
|
@@ -65,7 +79,7 @@ let AuditSubscriber = class AuditSubscriber {
|
|
|
65
79
|
return;
|
|
66
80
|
const user = request_context_service_1.RequestContextService.getCurrentUser();
|
|
67
81
|
if (user?.userId) {
|
|
68
|
-
this.safeSetProperty(event.entity, "deletedBy", user.userId);
|
|
82
|
+
this.safeSetProperty(event.entity, "deletedBy", user.userId, event.metadata);
|
|
69
83
|
}
|
|
70
84
|
}
|
|
71
85
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.subscriber.js","sourceRoot":"","sources":["../../../src/core/subscribers/audit.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AACjB,2CAA4C;AAC5C,oFAA+E;AAIxE,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QACxC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.subscriber.js","sourceRoot":"","sources":["../../../src/core/subscribers/audit.subscriber.ts"],"names":[],"mappings":"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"}
|