fiscalia_bo-nest-helpers 0.2.7 → 0.2.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/README.md +5 -5
- package/dist/ms-redis/ms-redis.module.js +10 -6
- package/dist/ms-redis/ms-redis.module.js.map +1 -1
- package/dist/ms-seguridad/ms-seguridad.module.js +6 -6
- package/dist/ms-seguridad/ms-seguridad.module.js.map +1 -1
- package/dist/ms-seguridad/ms-seguridad.service.d.ts +1 -1
- package/dist/ms-seguridad/ms-seguridad.service.js +32 -17
- package/dist/ms-seguridad/ms-seguridad.service.js.map +1 -1
- package/dist/ms-seguridad/permision.guard.js +1 -1
- package/dist/ms-seguridad/permision.guard.js.map +1 -1
- package/dist/ms-seguridad/token-auth.guard.js +26 -2
- package/dist/ms-seguridad/token-auth.guard.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
@@ -61,7 +61,7 @@ para utilizar el servicio de seguridad es necesario importar el modulo `MsSeguri
|
|
61
61
|
Antes de utilizar el módulo, asegúrese de tener las siguientes variables de entorno configuradas:
|
62
62
|
|
63
63
|
- `ENV_GRPC_MS_SEGURIDAD`: la URL del servidor de seguridad a través de gRPC.
|
64
|
-
- `
|
64
|
+
- `ENV_GRPC_MS_REDIS_CACHE`: la URL del servidor de cacheo de redis a través de gRPC.
|
65
65
|
|
66
66
|
## Uso
|
67
67
|
|
@@ -79,7 +79,7 @@ import { MsSeguridadModule } from 'fiscalia_bo-nest-helpers/seguridad';
|
|
79
79
|
MsSeguridadModule.register({
|
80
80
|
global: true,
|
81
81
|
urlSeguridad: process.env.ENV_GRPC_MS_SEGURIDAD,
|
82
|
-
urlRedisCache: process.env.
|
82
|
+
urlRedisCache: process.env.ENV_GRPC_MS_REDIS_CACHE,
|
83
83
|
}),
|
84
84
|
],
|
85
85
|
controllers: [],
|
@@ -140,11 +140,11 @@ ejempos de uso:
|
|
140
140
|
}
|
141
141
|
```
|
142
142
|
|
143
|
-
# USO DEL SERVICIO `MS-REDIS`
|
143
|
+
# USO DEL SERVICIO `MS-REDIS`z
|
144
144
|
|
145
145
|
Antes de utilizar el módulo, asegúrese de tener las siguientes variables de entorno configuradas:
|
146
146
|
|
147
|
-
- `
|
147
|
+
- `ENV_GRPC_MS_REDIS_CACHE`: la URL del servidor de cacheo de redis a través de gRPC.
|
148
148
|
|
149
149
|
## Uso
|
150
150
|
|
@@ -159,7 +159,7 @@ import { MsRedisModule } from 'fiscalia_bo-nest-helpers/seguridad';
|
|
159
159
|
ConfigModule.forRoot({ isGlobal: true }),
|
160
160
|
|
161
161
|
// Register ms-seguridad module global
|
162
|
-
MsRedisModule.register({ urlRedisCache: process.env.
|
162
|
+
MsRedisModule.register({ urlRedisCache: process.env.ENV_GRPC_MS_REDIS_CACHE || '' }),
|
163
163
|
],
|
164
164
|
controllers: [],
|
165
165
|
providers: [],
|
@@ -16,9 +16,11 @@ const chalk_1 = require("chalk");
|
|
16
16
|
const path_1 = require("path");
|
17
17
|
let MsRedisModule = MsRedisModule_1 = class MsRedisModule {
|
18
18
|
static register(options) {
|
19
|
-
const url = (options === null || options === void 0 ? void 0 : options.urlRedisCache) || process.env.
|
20
|
-
if (!url)
|
21
|
-
console.warn(chalk_1.bold.red(`
|
19
|
+
const url = (options === null || options === void 0 ? void 0 : options.urlRedisCache) || process.env.ENV_GRPC_MS_REDIS_CACHE;
|
20
|
+
if (!url) {
|
21
|
+
console.warn(chalk_1.bold.red(`ENV_GRPC_MS_REDIS_CACHE no definido en variables de entorno`));
|
22
|
+
return { module: MsRedisModule_1 };
|
23
|
+
}
|
22
24
|
this.client = microservices_1.ClientProxyFactory.create({
|
23
25
|
transport: microservices_1.Transport.GRPC,
|
24
26
|
options: {
|
@@ -41,9 +43,11 @@ let MsRedisModule = MsRedisModule_1 = class MsRedisModule {
|
|
41
43
|
};
|
42
44
|
}
|
43
45
|
static async registerAsync(options) {
|
44
|
-
const url = (options === null || options === void 0 ? void 0 : options.urlRedisCache) || process.env.
|
45
|
-
if (!url)
|
46
|
-
console.warn(chalk_1.bold.red(`
|
46
|
+
const url = (options === null || options === void 0 ? void 0 : options.urlRedisCache) || process.env.ENV_GRPC_MS_REDIS_CACHE;
|
47
|
+
if (!url) {
|
48
|
+
console.warn(chalk_1.bold.red(`ENV_GRPC_MS_REDIS_CACHE no definido en variables de entorno`));
|
49
|
+
return { module: MsRedisModule_1 };
|
50
|
+
}
|
47
51
|
this.client = await microservices_1.ClientProxyFactory.create({
|
48
52
|
transport: microservices_1.Transport.GRPC,
|
49
53
|
options: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-redis.module.js","sourceRoot":"","sources":["../../src/ms-redis/ms-redis.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,yDAAmF;AACnF,yDAAoD;AACpD,iEAA6D;AAC7D,iCAA6B;AAC7B,+BAA4B;AAQrB,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAMxB,MAAM,CAAC,QAAQ,CAAC,OAA2B;QACzC,MAAM,GAAG,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,KAAI,OAAO,CAAC,GAAG,CAAC,
|
1
|
+
{"version":3,"file":"ms-redis.module.js","sourceRoot":"","sources":["../../src/ms-redis/ms-redis.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,yDAAmF;AACnF,yDAAoD;AACpD,iEAA6D;AAC7D,iCAA6B;AAC7B,+BAA4B;AAQrB,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAMxB,MAAM,CAAC,QAAQ,CAAC,OAA2B;QACzC,MAAM,GAAG,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,KAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAE1E,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,CAAC,IAAI,CAAC,YAAI,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;YACtF,OAAO,EAAE,MAAM,EAAE,eAAa,EAAE,CAAC;SAClC;QAED,IAAI,CAAC,MAAM,GAAG,kCAAkB,CAAC,MAAM,CAAC;YACtC,SAAS,EAAE,yBAAS,CAAC,IAAI;YACzB,OAAO,EAAE;gBACP,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE;gBACpB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC7C,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3B;SACF,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,eAAa;YACrB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;gBAChD,iCAAc;gBACd,0CAAmB;aACpB;YACD,OAAO,EAAE,CAAC,iCAAc,EAAE,YAAY,CAAC;SACxC,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAA2B;QACpD,MAAM,GAAG,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,KAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAC1E,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,CAAC,IAAI,CAAC,YAAI,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;YACtF,OAAO,EAAE,MAAM,EAAE,eAAa,EAAE,CAAC;SAClC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,kCAAkB,CAAC,MAAM,CAAC;YAC5C,SAAS,EAAE,yBAAS,CAAC,IAAI;YACzB,OAAO,EAAE;gBACP,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE;gBACpB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC7C,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3B;SACF,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;gBAChD,iCAAc;gBACd,0CAAmB;aACpB;YACD,OAAO,EAAE,CAAC,iCAAc,EAAE,YAAY,CAAC;SACxC,CAAC;IACJ,CAAC;CACF,CAAA;AApEY,aAAa;IADzB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,aAAa,CAoEzB;AApEY,sCAAa"}
|
@@ -21,13 +21,13 @@ const seguridad_pb_1 = require("./seguridad.pb");
|
|
21
21
|
let MsSeguridadModule = MsSeguridadModule_1 = class MsSeguridadModule {
|
22
22
|
static register(options) {
|
23
23
|
const urlSeguridad = process.env.ENV_GRPC_MS_SEGURIDAD || (options && options.urlSeguridad);
|
24
|
-
const urlRedisCache = process.env.
|
24
|
+
const urlRedisCache = process.env.ENV_GRPC_MS_REDIS_CACHE || (options && options.urlRedisCache);
|
25
25
|
if (!urlSeguridad)
|
26
26
|
this.showError('ENV_GRPC_MS_SEGURIDAD');
|
27
27
|
if (!urlRedisCache)
|
28
|
-
this.showError('
|
28
|
+
this.showError('ENV_GRPC_MS_REDIS_CACHE');
|
29
29
|
if (!urlSeguridad || !urlRedisCache) {
|
30
|
-
console.warn(chalk_1.bold.red(`ENV_GRPC_MS_SEGURIDAD y
|
30
|
+
console.warn(chalk_1.bold.red(`ENV_GRPC_MS_SEGURIDAD y ENV_GRPC_MS_REDIS_CACHE no estan definidos en las variables de entorno`));
|
31
31
|
return { module: MsSeguridadModule_1 };
|
32
32
|
}
|
33
33
|
this.client = microservices_1.ClientProxyFactory.create({
|
@@ -54,13 +54,13 @@ let MsSeguridadModule = MsSeguridadModule_1 = class MsSeguridadModule {
|
|
54
54
|
}
|
55
55
|
static async registerAsync(options) {
|
56
56
|
const urlSeguridad = process.env.ENV_GRPC_MS_SEGURIDAD || (options && options.urlSeguridad);
|
57
|
-
const urlRedisCache = process.env.
|
57
|
+
const urlRedisCache = process.env.ENV_GRPC_MS_REDIS_CACHE || (options && options.urlRedisCache);
|
58
58
|
if (!urlSeguridad)
|
59
59
|
this.showError('ENV_GRPC_MS_SEGURIDAD');
|
60
60
|
if (!urlRedisCache)
|
61
|
-
this.showError('
|
61
|
+
this.showError('ENV_GRPC_MS_REDIS_CACHE');
|
62
62
|
if (!urlSeguridad || !urlRedisCache) {
|
63
|
-
console.warn(chalk_1.bold.red(`ENV_GRPC_MS_SEGURIDAD y
|
63
|
+
console.warn(chalk_1.bold.red(`ENV_GRPC_MS_SEGURIDAD y ENV_GRPC_MS_REDIS_CACHE no estan definidos en las variables de entorno`));
|
64
64
|
return { module: MsSeguridadModule_1 };
|
65
65
|
}
|
66
66
|
this.client = await microservices_1.ClientProxyFactory.create({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-seguridad.module.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,yDAAmF;AACnF,iEAA4D;AAC5D,iEAA6D;AAC7D,+BAA4B;AAC5B,iCAA6B;AAC7B,uCAAyC;AACzC,uEAAkE;AAClE,wEAAmE;AACnE,iDAAiE;AAW1D,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAM5B,MAAM,CAAC,QAAQ,CAAC,OAA+B;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5F,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,
|
1
|
+
{"version":3,"file":"ms-seguridad.module.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.module.ts"],"names":[],"mappings":"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"}
|
@@ -8,7 +8,7 @@ export declare class MsSeguridadService {
|
|
8
8
|
private seguridadService;
|
9
9
|
constructor(client: ClientGrpc, redisCache: MsRedisService);
|
10
10
|
private onModuleInit;
|
11
|
-
|
11
|
+
userListPermissions(user: UserPayload, tokenBody: TokenBody): Promise<ResponseListPermissions_ResponseListPermisoMsn>;
|
12
12
|
validToken(tokenBody: TokenBody): Promise<import("./seguridad.pb").ResponseValidToken>;
|
13
13
|
userData(tokenBody: TokenBody): Promise<import("./seguridad.pb").ResponseUserData>;
|
14
14
|
login(data: LoginRequest): Promise<import("./seguridad.pb").LoginResponse>;
|
@@ -18,7 +18,6 @@ const seguridad_pb_1 = require("./seguridad.pb");
|
|
18
18
|
const rxjs_1 = require("rxjs");
|
19
19
|
const ms_redis_service_1 = require("../ms-redis/ms-redis.service");
|
20
20
|
const global_exception_filter_1 = require("../helpers/global-exception.filter");
|
21
|
-
const chalk_1 = require("chalk");
|
22
21
|
let MsSeguridadService = class MsSeguridadService {
|
23
22
|
constructor(client, redisCache) {
|
24
23
|
this.client = client;
|
@@ -27,15 +26,39 @@ let MsSeguridadService = class MsSeguridadService {
|
|
27
26
|
onModuleInit() {
|
28
27
|
this.seguridadService = this.client.getService(seguridad_pb_1.SEGURIDAD_SERVICE_NAME);
|
29
28
|
}
|
30
|
-
async
|
29
|
+
async userListPermissions(user, tokenBody) {
|
30
|
+
if (!user) {
|
31
|
+
throw new global_exception_filter_1.MsSeguridadHttpError('usuario no logueado', 401);
|
32
|
+
}
|
31
33
|
const keyCache = `cache_user_permissions_${user.usuarioId}_app_${user.aplicacionId}`;
|
32
|
-
const
|
33
|
-
if (
|
34
|
-
|
35
|
-
|
34
|
+
const resultCache = await this.redisCache.getCache(keyCache);
|
35
|
+
if (resultCache && !resultCache.error && resultCache.cache) {
|
36
|
+
return resultCache.response;
|
37
|
+
}
|
38
|
+
const resultGrpc = await (0, rxjs_1.firstValueFrom)(this.seguridadService.listPermissions(tokenBody)).catch((anyError) => {
|
39
|
+
const resp = {
|
40
|
+
error: true,
|
41
|
+
message: 'Error de conexion con ms-seguridad:v2 helpers',
|
42
|
+
response: null,
|
43
|
+
status: 503,
|
44
|
+
};
|
45
|
+
if (anyError.code === 14 && anyError.details.includes('No connection established')) {
|
46
|
+
resp.message = 'conexion no establecida con ms-seguridad:v2 helpers:permisos';
|
47
|
+
resp.status = 503;
|
48
|
+
}
|
49
|
+
else if (anyError.code === 13 &&
|
50
|
+
anyError.details.includes('Response message parsing error:')) {
|
51
|
+
resp.message = 'Error de conversion de datos grpc ms-seguridad:v2';
|
52
|
+
resp.status = 422;
|
53
|
+
}
|
54
|
+
return resp;
|
55
|
+
});
|
56
|
+
const { error, message, response, status } = resultGrpc;
|
57
|
+
if (error) {
|
58
|
+
this.redisCache.DeleteCache(keyCache);
|
59
|
+
throw new global_exception_filter_1.MsSeguridadHttpError(message, status, response, error);
|
36
60
|
}
|
37
|
-
|
38
|
-
return this.saveInRedisCache(response, keyCache);
|
61
|
+
return this.saveInRedisCache(resultGrpc.response, keyCache);
|
39
62
|
}
|
40
63
|
validToken(tokenBody) {
|
41
64
|
return (0, rxjs_1.firstValueFrom)(this.seguridadService.validToken(tokenBody));
|
@@ -72,16 +95,8 @@ let MsSeguridadService = class MsSeguridadService {
|
|
72
95
|
throw new global_exception_filter_1.MsSeguridadHttpError(error.message, error.status, error.response, error.error);
|
73
96
|
}
|
74
97
|
}
|
75
|
-
saveInRedisCache(
|
76
|
-
const { message, status, response, error } = result;
|
77
|
-
if (error) {
|
78
|
-
console.log(chalk_1.bold.red('ms-seguridad:saveInRedisCache, error', error));
|
79
|
-
console.log(chalk_1.bold.red(message));
|
80
|
-
this.redisCache.DeleteCache(keyCache);
|
81
|
-
throw new global_exception_filter_1.MsSeguridadHttpError(message, status, response, error);
|
82
|
-
}
|
98
|
+
saveInRedisCache(response, keyCache) {
|
83
99
|
this.redisCache.SetCache(keyCache, JSON.stringify(response), 30);
|
84
|
-
console.log(chalk_1.bold.blue('ms-seguridad:saveInRedisCache, carga de permisos desde ms-seguridad = ', result.response.length));
|
85
100
|
return response;
|
86
101
|
}
|
87
102
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-seguridad.service.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,
|
1
|
+
{"version":3,"file":"ms-seguridad.service.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.service.ts"],"names":[],"mappings":"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"}
|
@@ -25,7 +25,7 @@ let PermissionsGuard = class PermissionsGuard {
|
|
25
25
|
const request = context.switchToHttp().getRequest();
|
26
26
|
const token = request.headers.authorization.split(' ')[1];
|
27
27
|
const requiredPermissions = this.getRequiredPermissions(context);
|
28
|
-
const response = await this.seguridadService.
|
28
|
+
const response = await this.seguridadService.userListPermissions(request.userHeader, { token });
|
29
29
|
const userPermissions = (_a = response.data.permisos) !== null && _a !== void 0 ? _a : [];
|
30
30
|
request.permissions = userPermissions;
|
31
31
|
if (!requiredPermissions) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"permision.guard.js","sourceRoot":"","sources":["../../src/ms-seguridad/permision.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwF;AACxF,iEAA4D;AAC5D,gFAA2E;AAE3E,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,CAAC,GAAG,WAAqB,EAAE,EAAE,CAC9D,IAAA,oBAAW,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAD/B,QAAA,mBAAmB,uBACY;AAGrC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YAA6B,gBAAoC;QAApC,qBAAgB,GAAhB,gBAAgB,CAAoB;IAAG,CAAC;IAErE,KAAK,CAAC,WAAW,CAAC,OAAyB;;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,
|
1
|
+
{"version":3,"file":"permision.guard.js","sourceRoot":"","sources":["../../src/ms-seguridad/permision.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwF;AACxF,iEAA4D;AAC5D,gFAA2E;AAE3E,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,CAAC,GAAG,WAAqB,EAAE,EAAE,CAC9D,IAAA,oBAAW,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAD/B,QAAA,mBAAmB,uBACY;AAGrC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YAA6B,gBAAoC;QAApC,qBAAgB,GAAhB,gBAAgB,CAAoB;IAAG,CAAC;IAErE,KAAK,CAAC,WAAW,CAAC,OAAyB;;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhG,MAAM,eAAe,GAAG,MAAA,QAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI,EAAE,CAAC;QACrD,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;QAEtC,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAGxE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,8CAAoB,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;QAErF,OAAO,IAAI,CAAC;IACd,CAAC;IAGO,sBAAsB,CAAC,OAAyB;QACtD,OAAO,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACpE,CAAC;IAGO,aAAa,CAAC,eAAyB,EAAE,mBAA6B;QAC5E,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACzF,CAAC;CACF,CAAA;AAlCY,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAEoC,yCAAkB;GADtD,gBAAgB,CAkC5B;AAlCY,4CAAgB"}
|
@@ -27,9 +27,33 @@ let TokenAuthGuard = class TokenAuthGuard {
|
|
27
27
|
if (`${bearer}`.toLowerCase() !== 'bearer' || !token) {
|
28
28
|
throw new global_exception_filter_1.MsSeguridadHttpError('la peticion debe contener un jwt de autorización válido', 401);
|
29
29
|
}
|
30
|
-
const { error, response, message } = await this.seguridadService
|
30
|
+
const { error, response, message, status } = await this.seguridadService
|
31
|
+
.userData({ token })
|
32
|
+
.catch((anyError) => {
|
33
|
+
const resp = {
|
34
|
+
error: true,
|
35
|
+
message: 'Error de conexion con ms-seguridad:v2 helpers',
|
36
|
+
response: null,
|
37
|
+
status: 503,
|
38
|
+
};
|
39
|
+
if (anyError.code === 14 && anyError.details.includes('No connection established')) {
|
40
|
+
resp.message = 'conexion no establecida con ms-seguridad:v2 helpers:TokenAuthGuard';
|
41
|
+
resp.status = 503;
|
42
|
+
}
|
43
|
+
else if (anyError.code === 13 &&
|
44
|
+
anyError.details.includes('Response message parsing error:')) {
|
45
|
+
resp.message = 'Error de conversion de datos grpc ms-seguridad:v2';
|
46
|
+
resp.status = 422;
|
47
|
+
}
|
48
|
+
else if (anyError.code === 12 && anyError.details.includes('[object Object]')) {
|
49
|
+
resp.message =
|
50
|
+
'Error: el servicio GRPC de ms-seguridad:v2 no tiene implementado este método';
|
51
|
+
resp.status = 501;
|
52
|
+
}
|
53
|
+
return resp;
|
54
|
+
});
|
31
55
|
if (error) {
|
32
|
-
throw new global_exception_filter_1.MsSeguridadHttpError(message !== null && message !== void 0 ? message : 'el token no es válido',
|
56
|
+
throw new global_exception_filter_1.MsSeguridadHttpError(message !== null && message !== void 0 ? message : 'el token no es válido', status);
|
33
57
|
}
|
34
58
|
request.userHeader = response;
|
35
59
|
return true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"token-auth.guard.js","sourceRoot":"","sources":["../../src/ms-seguridad/token-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2E;AAC3E,iEAA4D;AAC5D,gFAA2E;
|
1
|
+
{"version":3,"file":"token-auth.guard.js","sourceRoot":"","sources":["../../src/ms-seguridad/token-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2E;AAC3E,iEAA4D;AAC5D,gFAA2E;AAIpE,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,gBAAoC;QAApC,qBAAgB,GAAhB,gBAAgB,CAAoB;IAAG,CAAC;IAErE,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QAEjD,IAAI,CAAC,UAAU,EAAE;YAEf,MAAM,IAAI,8CAAoB,CAAC,oDAAoD,EAAE,GAAG,CAAC,CAAC;SAC3F;QAED,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,GAAG,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;YAEpD,MAAM,IAAI,8CAAoB,CAC5B,yDAAyD,EACzD,GAAG,CACJ,CAAC;SACH;QAGD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB;aACrE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;aACnB,KAAK,CAAC,CAAC,QAAa,EAAE,EAAE;YACvB,MAAM,IAAI,GAAsB;gBAC9B,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,+CAA+C;gBACxD,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,GAAG;aACZ,CAAC;YAEF,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;gBAClF,IAAI,CAAC,OAAO,GAAG,oEAAoE,CAAC;gBACpF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;aACnB;iBAAM,IACL,QAAQ,CAAC,IAAI,KAAK,EAAE;gBACpB,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAC5D;gBACA,IAAI,CAAC,OAAO,GAAG,mDAAmD,CAAC;gBACnE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;aACnB;iBAEI,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;gBAC7E,IAAI,CAAC,OAAO;oBACV,8EAA8E,CAAC;gBACjF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;aACnB;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEL,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,8CAAoB,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,uBAAuB,EAAE,MAAM,CAAC,CAAC;SAC5E;QAED,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA5DY,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAEoC,yCAAkB;GADtD,cAAc,CA4D1B;AA5DY,wCAAc"}
|