@stefaninigo/security-client 1.0.1 → 1.0.2

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.
@@ -1,12 +1,8 @@
1
1
  import { CanActivate, ExecutionContext } from '@nestjs/common';
2
2
  import { SecurityClientService } from '../services/security-client.service';
3
3
  export declare class CognitoAuthGuard implements CanActivate {
4
- private readonly securityClient?;
5
- private readonly config?;
6
- private readonly useSecurityService;
7
- constructor(securityClient?: SecurityClientService | undefined, config?: {
8
- securityServiceUrl?: string;
9
- } | undefined);
4
+ private readonly securityClient;
5
+ constructor(securityClient: SecurityClientService);
10
6
  canActivate(context: ExecutionContext): Promise<boolean>;
11
7
  private extractTokenFromHeader;
12
8
  }
@@ -8,20 +8,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  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
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.CognitoAuthGuard = void 0;
16
13
  const common_1 = require("@nestjs/common");
17
- const aws_jwt_verify_1 = require("aws-jwt-verify");
18
14
  const security_client_service_1 = require("../services/security-client.service");
19
- const security_client_service_2 = require("../services/security-client.service");
20
15
  let CognitoAuthGuard = class CognitoAuthGuard {
21
- constructor(securityClient, config) {
16
+ constructor(securityClient) {
22
17
  this.securityClient = securityClient;
23
- this.config = config;
24
- this.useSecurityService = !!securityClient && !!config?.securityServiceUrl;
25
18
  }
26
19
  async canActivate(context) {
27
20
  const request = context.switchToHttp().getRequest();
@@ -29,47 +22,8 @@ let CognitoAuthGuard = class CognitoAuthGuard {
29
22
  if (!token) {
30
23
  throw new common_1.UnauthorizedException('Token de acceso requerido');
31
24
  }
32
- const userPoolId = process.env.AWS_USER_POOL_ID;
33
- const clientId = process.env.AWS_CLIENT_ID;
34
- if (!userPoolId || !clientId) {
35
- throw new common_1.UnauthorizedException('AWS Cognito configuration missing. AWS_USER_POOL_ID and AWS_CLIENT_ID must be configured');
36
- }
37
- const verifier = aws_jwt_verify_1.CognitoJwtVerifier.create({
38
- userPoolId,
39
- tokenUse: 'access',
40
- clientId,
41
- });
42
25
  try {
43
- const payload = await verifier.verify(token);
44
- const username = typeof payload.username === 'string' ? payload.username : '';
45
- if (!username) {
46
- throw new common_1.UnauthorizedException('Token no contiene username válido');
47
- }
48
- let user;
49
- if (this.useSecurityService && this.securityClient) {
50
- try {
51
- user = await this.securityClient.validateTokenAndGetUser(token);
52
- }
53
- catch (serviceError) {
54
- if (serviceError instanceof Error) {
55
- const errorMsg = serviceError.message.toLowerCase();
56
- if (errorMsg.includes('security service error')) {
57
- const statusMatch = serviceError.message.match(/status: (\d+)/);
58
- if (statusMatch && statusMatch[1] === '401') {
59
- throw new common_1.UnauthorizedException('Token inválido o expirado');
60
- }
61
- if (statusMatch && statusMatch[1] === '404') {
62
- throw new common_1.UnauthorizedException('Usuario no encontrado');
63
- }
64
- throw new common_1.UnauthorizedException('Error al validar usuario con servicio Security');
65
- }
66
- }
67
- throw new common_1.UnauthorizedException('Error de autenticación');
68
- }
69
- }
70
- else {
71
- throw new common_1.UnauthorizedException('Security client service not configured. Please configure SecurityClientModule.');
72
- }
26
+ const user = await this.securityClient.validateTokenAndGetUser(token);
73
27
  if (user.status !== 'active') {
74
28
  throw new common_1.UnauthorizedException('Usuario inactivo');
75
29
  }
@@ -103,10 +57,6 @@ let CognitoAuthGuard = class CognitoAuthGuard {
103
57
  exports.CognitoAuthGuard = CognitoAuthGuard;
104
58
  exports.CognitoAuthGuard = CognitoAuthGuard = __decorate([
105
59
  (0, common_1.Injectable)(),
106
- __param(0, (0, common_1.Optional)()),
107
- __param(0, (0, common_1.Inject)(security_client_service_1.SecurityClientService)),
108
- __param(1, (0, common_1.Optional)()),
109
- __param(1, (0, common_1.Inject)(security_client_service_2.SECURITY_CLIENT_CONFIG)),
110
- __metadata("design:paramtypes", [security_client_service_1.SecurityClientService, Object])
60
+ __metadata("design:paramtypes", [security_client_service_1.SecurityClientService])
111
61
  ], CognitoAuthGuard);
112
62
  //# sourceMappingURL=cognito-auth.guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cognito-auth.guard.js","sourceRoot":"","sources":["../../src/guards/cognito-auth.guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cognito-auth.guard.js","sourceRoot":"","sources":["../../src/guards/cognito-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAkG;AAElG,iFAA4E;AAIrE,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YACmB,cAAqC;QAArC,mBAAc,GAAd,cAAc,CAAuB;IACrD,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAiC,CAAC;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC,2BAA2B,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC;YAGH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAEtE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,8BAAqB,CAAC,kBAAkB,CAAC,CAAC;YACtD,CAAC;YAED,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YAEpB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,8BAAqB,EAAE,CAAC;gBAC3C,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAE7C,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACrE,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;gBACpD,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC5B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAC9B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAC9B,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBACvC,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,MAAM,IAAI,8BAAqB,CAAC,wBAAwB,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,OAAgB;QAC7C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;CACF,CAAA;AArDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAGwB,+CAAqB;GAF7C,gBAAgB,CAqD5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stefaninigo/security-client",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "StefaniniGo Security Client SDK - Guards, decorators and HTTP client for authentication and authorization",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -34,7 +34,6 @@
34
34
  "@nestjs/common": "^11.1.6",
35
35
  "@nestjs/core": "^11.1.6",
36
36
  "axios": "^1.7.9",
37
- "aws-jwt-verify": "^5.1.1",
38
37
  "reflect-metadata": "^0.2.2",
39
38
  "rxjs": "^7.8.2"
40
39
  },