@tc-libs/authentication 0.9.0

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.
Files changed (89) hide show
  1. package/README.md +11 -0
  2. package/package.json +11 -0
  3. package/src/authentication.module.d.ts +6 -0
  4. package/src/authentication.module.js +39 -0
  5. package/src/authentication.module.js.map +1 -0
  6. package/src/authentication.module.options.d.ts +41 -0
  7. package/src/authentication.module.options.js +5 -0
  8. package/src/authentication.module.options.js.map +1 -0
  9. package/src/constants/auth.constant.d.ts +3 -0
  10. package/src/constants/auth.constant.js +7 -0
  11. package/src/constants/auth.constant.js.map +1 -0
  12. package/src/constants/auth.enum.constant.d.ts +17 -0
  13. package/src/constants/auth.enum.constant.js +19 -0
  14. package/src/constants/auth.enum.constant.js.map +1 -0
  15. package/src/constants/index.d.ts +2 -0
  16. package/src/constants/index.js +6 -0
  17. package/src/constants/index.js.map +1 -0
  18. package/src/decorators/auth.combined.decorator.d.ts +2 -0
  19. package/src/decorators/auth.combined.decorator.js +27 -0
  20. package/src/decorators/auth.combined.decorator.js.map +1 -0
  21. package/src/decorators/auth.current-user.decorator.d.ts +2 -0
  22. package/src/decorators/auth.current-user.decorator.js +25 -0
  23. package/src/decorators/auth.current-user.decorator.js.map +1 -0
  24. package/src/decorators/auth.jwt.decorator.d.ts +7 -0
  25. package/src/decorators/auth.jwt.decorator.js +48 -0
  26. package/src/decorators/auth.jwt.decorator.js.map +1 -0
  27. package/src/decorators/auth.permission.decorator.d.ts +2 -0
  28. package/src/decorators/auth.permission.decorator.js +16 -0
  29. package/src/decorators/auth.permission.decorator.js.map +1 -0
  30. package/src/decorators/index.d.ts +4 -0
  31. package/src/decorators/index.js +8 -0
  32. package/src/decorators/index.js.map +1 -0
  33. package/src/guards/combined/auth.combined.guard.d.ts +8 -0
  34. package/src/guards/combined/auth.combined.guard.js +40 -0
  35. package/src/guards/combined/auth.combined.guard.js.map +1 -0
  36. package/src/guards/index.d.ts +7 -0
  37. package/src/guards/index.js +11 -0
  38. package/src/guards/index.js.map +1 -0
  39. package/src/guards/jwt-access/auth.jwt-access.guard.d.ts +5 -0
  40. package/src/guards/jwt-access/auth.jwt-access.guard.js +20 -0
  41. package/src/guards/jwt-access/auth.jwt-access.guard.js.map +1 -0
  42. package/src/guards/jwt-access/auth.jwt-access.strategy.d.ts +13 -0
  43. package/src/guards/jwt-access/auth.jwt-access.strategy.js +40 -0
  44. package/src/guards/jwt-access/auth.jwt-access.strategy.js.map +1 -0
  45. package/src/guards/jwt-refresh/auth.jwt-refresh.guard.d.ts +5 -0
  46. package/src/guards/jwt-refresh/auth.jwt-refresh.guard.js +20 -0
  47. package/src/guards/jwt-refresh/auth.jwt-refresh.guard.js.map +1 -0
  48. package/src/guards/jwt-refresh/auth.jwt-refresh.strategy.d.ts +13 -0
  49. package/src/guards/jwt-refresh/auth.jwt-refresh.strategy.js +45 -0
  50. package/src/guards/jwt-refresh/auth.jwt-refresh.strategy.js.map +1 -0
  51. package/src/guards/payload/auth.payload.access-for.guard.d.ts +7 -0
  52. package/src/guards/payload/auth.payload.access-for.guard.js +33 -0
  53. package/src/guards/payload/auth.payload.access-for.guard.js.map +1 -0
  54. package/src/guards/payload/auth.payload.permission.guard.d.ts +7 -0
  55. package/src/guards/payload/auth.payload.permission.guard.js +42 -0
  56. package/src/guards/payload/auth.payload.permission.guard.js.map +1 -0
  57. package/src/guards/permission/auth.permission.guard.d.ts +12 -0
  58. package/src/guards/permission/auth.permission.guard.js +55 -0
  59. package/src/guards/permission/auth.permission.guard.js.map +1 -0
  60. package/src/index.d.ts +7 -0
  61. package/src/index.js +11 -0
  62. package/src/index.js.map +1 -0
  63. package/src/interfaces/auth.interface.d.ts +10 -0
  64. package/src/interfaces/auth.interface.js +3 -0
  65. package/src/interfaces/auth.interface.js.map +1 -0
  66. package/src/interfaces/auth.service.interface.d.ts +11 -0
  67. package/src/interfaces/auth.service.interface.js +3 -0
  68. package/src/interfaces/auth.service.interface.js.map +1 -0
  69. package/src/interfaces/index.d.ts +4 -0
  70. package/src/interfaces/index.js +8 -0
  71. package/src/interfaces/index.js.map +1 -0
  72. package/src/interfaces/module-permissions.interface.d.ts +15 -0
  73. package/src/interfaces/module-permissions.interface.js +9 -0
  74. package/src/interfaces/module-permissions.interface.js.map +1 -0
  75. package/src/interfaces/permission.interface.d.ts +4 -0
  76. package/src/interfaces/permission.interface.js +3 -0
  77. package/src/interfaces/permission.interface.js.map +1 -0
  78. package/src/serializations/index.d.ts +1 -0
  79. package/src/serializations/index.js +5 -0
  80. package/src/serializations/index.js.map +1 -0
  81. package/src/serializations/token.payload.serialization.d.ts +3 -0
  82. package/src/serializations/token.payload.serialization.js +7 -0
  83. package/src/serializations/token.payload.serialization.js.map +1 -0
  84. package/src/services/auth.service.d.ts +46 -0
  85. package/src/services/auth.service.js +104 -0
  86. package/src/services/auth.service.js.map +1 -0
  87. package/src/services/index.d.ts +1 -0
  88. package/src/services/index.js +5 -0
  89. package/src/services/index.js.map +1 -0
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthJwtRefreshStrategy = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const passport_jwt_1 = require("passport-jwt");
6
+ const passport_1 = require("@nestjs/passport");
7
+ const common_1 = require("@nestjs/common");
8
+ const auth_service_1 = require("../../services/auth.service");
9
+ const helper_1 = require("@tc-libs/helper");
10
+ const authentication_module_options_1 = require("../../authentication.module.options");
11
+ let AuthJwtRefreshStrategy = class AuthJwtRefreshStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy, 'jwtRefresh') {
12
+ constructor(_options, _auth, _token) {
13
+ const prefix = _options.auth.prefixAuthorization;
14
+ const audience = _options.auth.audience;
15
+ const issuer = _options.auth.issuer;
16
+ const subject = _options.auth.subject;
17
+ const secretKey = _options.auth.refreshToken.secretKey;
18
+ super({
19
+ jwtFromRequest: passport_jwt_1.ExtractJwt.fromAuthHeaderWithScheme(prefix),
20
+ ignoreExpiration: false,
21
+ jsonWebTokenOptions: {
22
+ ignoreNotBefore: false,
23
+ audience: audience,
24
+ issuer: issuer,
25
+ subject: subject,
26
+ },
27
+ secretOrKey: secretKey,
28
+ });
29
+ this._options = _options;
30
+ this._auth = _auth;
31
+ this._token = _token;
32
+ }
33
+ async validate({ data }) {
34
+ const payloadEncryption = await this._auth.getPayloadEncryption();
35
+ return payloadEncryption ? this._token.decryptRefreshToken({ data }) : data;
36
+ }
37
+ };
38
+ exports.AuthJwtRefreshStrategy = AuthJwtRefreshStrategy;
39
+ exports.AuthJwtRefreshStrategy = AuthJwtRefreshStrategy = tslib_1.__decorate([
40
+ (0, common_1.Injectable)(),
41
+ tslib_1.__param(0, (0, common_1.Inject)(authentication_module_options_1.AUTHENTICATION_CONFIG_OPTIONS)),
42
+ tslib_1.__metadata("design:paramtypes", [Object, auth_service_1.AuthService,
43
+ helper_1.TokenService])
44
+ ], AuthJwtRefreshStrategy);
45
+ //# sourceMappingURL=auth.jwt-refresh.strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.jwt-refresh.strategy.js","sourceRoot":"","sources":["../../../../../../packages/authentication/src/guards/jwt-refresh/auth.jwt-refresh.strategy.ts"],"names":[],"mappings":";;;;AAAA,+CAAoD;AACpD,+CAAoD;AACpD,2CAAoD;AACpD,8DAA0D;AAC1D,4CAA+C;AAC/C,uFAG6C;AAGtC,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,IAAA,2BAAgB,EAC1D,uBAAQ,EACR,YAAY,CACb;IACC,YAEW,QAAqC,EAC7B,KAAkB,EAClB,MAAoB;QAErC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QACvD,KAAK,CAAC;YACJ,cAAc,EAAE,yBAAU,CAAC,wBAAwB,CAAC,MAAM,CAAC;YAC3D,gBAAgB,EAAE,KAAK;YACvB,mBAAmB,EAAE;gBACnB,eAAe,EAAE,KAAK;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO;aACjB;YACD,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QAnBM,aAAQ,GAAR,QAAQ,CAA6B;QAC7B,UAAK,GAAL,KAAK,CAAa;QAClB,WAAM,GAAN,MAAM,CAAc;IAkBvC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAuB;QAC1C,MAAM,iBAAiB,GAAY,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC3E,OAAO,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,CAAC;CACF,CAAA;AAhCY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;IAMR,mBAAA,IAAA,eAAM,EAAC,6DAA6B,CAAC,CAAA;qDAEd,0BAAW;QACV,qBAAY;GAR5B,sBAAsB,CAgClC"}
@@ -0,0 +1,7 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ export declare class AuthPayloadAccessForGuard implements CanActivate {
4
+ private readonly reflector;
5
+ constructor(reflector: Reflector);
6
+ canActivate(context: ExecutionContext): Promise<boolean>;
7
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthPayloadAccessForGuard = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const errors_1 = require("@tc-libs/errors");
6
+ const constants_1 = require("../../constants");
7
+ const common_1 = require("@nestjs/common");
8
+ const core_1 = require("@nestjs/core");
9
+ const lodash_1 = require("lodash");
10
+ let AuthPayloadAccessForGuard = class AuthPayloadAccessForGuard {
11
+ constructor(reflector) {
12
+ this.reflector = reflector;
13
+ }
14
+ async canActivate(context) {
15
+ const requiredFor = this.reflector.getAllAndOverride(constants_1.AUTH_ACCESS_FOR_META_KEY, [context.getHandler(), context.getClass()]);
16
+ const { user } = context.switchToHttp().getRequest();
17
+ const { accessFor } = user;
18
+ if (!requiredFor || accessFor === constants_1.ENUM_AUTH_ACCESS_FOR.SUPER_ADMIN) {
19
+ return true;
20
+ }
21
+ const hasFor = (0, lodash_1.includes)(requiredFor, accessFor);
22
+ if (!hasFor) {
23
+ throw new errors_1.Api403AccessForError({ accessFor: accessFor });
24
+ }
25
+ return true;
26
+ }
27
+ };
28
+ exports.AuthPayloadAccessForGuard = AuthPayloadAccessForGuard;
29
+ exports.AuthPayloadAccessForGuard = AuthPayloadAccessForGuard = tslib_1.__decorate([
30
+ (0, common_1.Injectable)(),
31
+ tslib_1.__metadata("design:paramtypes", [core_1.Reflector])
32
+ ], AuthPayloadAccessForGuard);
33
+ //# sourceMappingURL=auth.payload.access-for.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.payload.access-for.guard.js","sourceRoot":"","sources":["../../../../../../packages/authentication/src/guards/payload/auth.payload.access-for.guard.ts"],"names":[],"mappings":";;;;AAAA,4CAAuD;AACvD,+CAGyB;AACzB,2CAA2E;AAC3E,uCAAyC;AACzC,mCAAkC;AAG3B,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACpC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,WAAW,GACf,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC9B,oCAAwB,EACxB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC3C,CAAC;QAEJ,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACrD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,WAAW,IAAI,SAAS,KAAK,gCAAoB,CAAC,WAAW,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAY,IAAA,iBAAQ,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAEzD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,6BAAoB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAxBY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;6CAE6B,gBAAS;GADtC,yBAAyB,CAwBrC"}
@@ -0,0 +1,7 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ export declare class AuthPayloadPermissionGuard implements CanActivate {
4
+ private readonly reflector;
5
+ constructor(reflector: Reflector);
6
+ canActivate(context: ExecutionContext): Promise<boolean>;
7
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthPayloadPermissionGuard = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const errors_1 = require("@tc-libs/errors");
6
+ const constants_1 = require("../../constants");
7
+ const common_1 = require("@nestjs/common");
8
+ const core_1 = require("@nestjs/core");
9
+ const lodash_1 = require("lodash");
10
+ let AuthPayloadPermissionGuard = class AuthPayloadPermissionGuard {
11
+ constructor(reflector) {
12
+ this.reflector = reflector;
13
+ }
14
+ async canActivate(context) {
15
+ const group = this.reflector.getAllAndOverride(constants_1.AUTH_PERMISSION_GROUP_META_KEY, [context.getHandler(), context.getClass()]);
16
+ const requiredPermission = this.reflector.getAllAndOverride(constants_1.AUTH_PERMISSION_PERMISSIONS_META_KEY, [
17
+ context.getHandler(),
18
+ context.getClass(),
19
+ ]);
20
+ const { permissions, user, } = context.switchToHttp().getRequest();
21
+ if (!user) {
22
+ throw new errors_1.Api401JWTAccessTokenUnauthorizedError();
23
+ }
24
+ else if (!requiredPermission ||
25
+ user.accessFor === constants_1.ENUM_AUTH_ACCESS_FOR.SUPER_ADMIN) {
26
+ return true;
27
+ }
28
+ const hasPermission = (0, lodash_1.intersection)(permissions
29
+ .filter((x) => x.group === group)
30
+ .map((x) => x['permission']), requiredPermission).length > 0;
31
+ if (!hasPermission) {
32
+ throw new errors_1.Api403PermissionTokenInvalidError();
33
+ }
34
+ return hasPermission;
35
+ }
36
+ };
37
+ exports.AuthPayloadPermissionGuard = AuthPayloadPermissionGuard;
38
+ exports.AuthPayloadPermissionGuard = AuthPayloadPermissionGuard = tslib_1.__decorate([
39
+ (0, common_1.Injectable)(),
40
+ tslib_1.__metadata("design:paramtypes", [core_1.Reflector])
41
+ ], AuthPayloadPermissionGuard);
42
+ //# sourceMappingURL=auth.payload.permission.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.payload.permission.guard.js","sourceRoot":"","sources":["../../../../../../packages/authentication/src/guards/payload/auth.payload.permission.guard.ts"],"names":[],"mappings":";;;;AAAA,4CAGyB;AACzB,+CAIyB;AACzB,2CAA2E;AAC3E,uCAAyC;AACzC,mCAAsC;AAE/B,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,iBAAiB,CACpD,0CAA8B,EAC9B,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC3C,CAAC;QACF,MAAM,kBAAkB,GAAa,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAEnE,gDAAoC,EAAE;YACtC,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,CAAC;QAEH,MAAM,EACJ,WAAW,EACX,IAAI,GACL,GAGG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,8CAAqC,EAAE,CAAC;QACpD,CAAC;aAAM,IACL,CAAC,kBAAkB;YACnB,IAAI,CAAC,SAAS,KAAK,gCAAoB,CAAC,WAAW,EACnD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GACjB,IAAA,qBAAY,EACV,WAAW;aACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAC9B,kBAAkB,CACnB,CAAC,MAAM,GAAG,CAAC,CAAC;QAEf,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,0CAAiC,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF,CAAA;AA5CY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;6CAE6B,gBAAS;GADtC,0BAA0B,CA4CtC"}
@@ -0,0 +1,12 @@
1
+ import { TokenService } from '@tc-libs/helper';
2
+ import { AuthService } from '../../services/auth.service';
3
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
4
+ import { AuthenticationModuleOptions } from '../../authentication.module.options';
5
+ export declare class AuthPermissionGuard implements CanActivate {
6
+ readonly _options: AuthenticationModuleOptions;
7
+ private readonly authService;
8
+ private readonly _token;
9
+ private readonly headerName;
10
+ constructor(_options: AuthenticationModuleOptions, authService: AuthService, _token: TokenService);
11
+ canActivate(context: ExecutionContext): Promise<boolean>;
12
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthPermissionGuard = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const helper_1 = require("@tc-libs/helper");
6
+ const constants_1 = require("../../constants");
7
+ const auth_service_1 = require("../../services/auth.service");
8
+ const common_1 = require("@nestjs/common");
9
+ const errors_1 = require("@tc-libs/errors");
10
+ const authentication_module_options_1 = require("../../authentication.module.options");
11
+ let AuthPermissionGuard = class AuthPermissionGuard {
12
+ constructor(_options, authService, _token) {
13
+ this._options = _options;
14
+ this.authService = authService;
15
+ this._token = _token;
16
+ this.headerName = _options.auth.permissionToken.headerName;
17
+ }
18
+ async canActivate(context) {
19
+ const request = context.switchToHttp().getRequest();
20
+ const { user } = request;
21
+ if (!user) {
22
+ throw new errors_1.Api401JWTAccessTokenUnauthorizedError();
23
+ }
24
+ else if (user.accessFor === constants_1.ENUM_AUTH_ACCESS_FOR.SUPER_ADMIN) {
25
+ return true;
26
+ }
27
+ const { [this.headerName]: token } = request.headers;
28
+ if (!token) {
29
+ throw new errors_1.Api401JWTPermissionTokenUnauthorizedError();
30
+ }
31
+ const validate = await this._token.validatePermissionToken(token);
32
+ if (!validate) {
33
+ throw new errors_1.Api403PermissionTokenInvalidError();
34
+ }
35
+ const { data } = await this._token.payloadPermissionToken(token);
36
+ const payloadEncryption = await this.authService.getPayloadEncryption();
37
+ let payloadDecryptPermissionToken = data;
38
+ if (payloadEncryption) {
39
+ payloadDecryptPermissionToken = await this._token.decryptPermissionToken(data);
40
+ }
41
+ if (payloadDecryptPermissionToken['_id'] !== user._id) {
42
+ throw new errors_1.Api403PermissionTokenNotYourInvalidError();
43
+ }
44
+ request.permissions = payloadDecryptPermissionToken['permissions'];
45
+ return true;
46
+ }
47
+ };
48
+ exports.AuthPermissionGuard = AuthPermissionGuard;
49
+ exports.AuthPermissionGuard = AuthPermissionGuard = tslib_1.__decorate([
50
+ (0, common_1.Injectable)(),
51
+ tslib_1.__param(0, (0, common_1.Inject)(authentication_module_options_1.AUTHENTICATION_CONFIG_OPTIONS)),
52
+ tslib_1.__metadata("design:paramtypes", [Object, auth_service_1.AuthService,
53
+ helper_1.TokenService])
54
+ ], AuthPermissionGuard);
55
+ //# sourceMappingURL=auth.permission.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.permission.guard.js","sourceRoot":"","sources":["../../../../../../packages/authentication/src/guards/permission/auth.permission.guard.ts"],"names":[],"mappings":";;;;AAAA,4CAA+C;AAC/C,+CAAuD;AACvD,8DAA0D;AAC1D,2CAKwB;AACxB,4CAKyB;AACzB,uFAG6C;AAGtC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAG9B,YAEW,QAAqC,EAE7B,WAAwB,EACxB,MAAoB;QAH5B,aAAQ,GAAR,QAAQ,CAA6B;QAE7B,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAc;QAErC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAEzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,8CAAqC,EAAE,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,gCAAoB,CAAC,WAAW,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAErD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,kDAAyC,EAAE,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAY,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,0CAAiC,EAAE,CAAC;QAChD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAEjE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;QACxE,IAAI,6BAA6B,GAAwB,IAAI,CAAC;QAE9D,IAAI,iBAAiB,EAAE,CAAC;YACtB,6BAA6B,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CACtE,IAAI,CACL,CAAC;QACJ,CAAC;QAED,IAAI,6BAA6B,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACtD,MAAM,IAAI,iDAAwC,EAAE,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,WAAW,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;QAEnE,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AApDY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,eAAM,EAAC,6DAA6B,CAAC,CAAA;qDAGR,0BAAW;QAChB,qBAAY;GAR5B,mBAAmB,CAoD/B"}
package/src/index.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export * from './constants';
2
+ export * from './decorators';
3
+ export * from './guards';
4
+ export * from './interfaces';
5
+ export * from './services';
6
+ export * from './authentication.module';
7
+ export * from './serializations';
package/src/index.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./constants"), exports);
5
+ tslib_1.__exportStar(require("./decorators"), exports);
6
+ tslib_1.__exportStar(require("./guards"), exports);
7
+ tslib_1.__exportStar(require("./interfaces"), exports);
8
+ tslib_1.__exportStar(require("./services"), exports);
9
+ tslib_1.__exportStar(require("./authentication.module"), exports);
10
+ tslib_1.__exportStar(require("./serializations"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/authentication/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,uDAA6B;AAC7B,mDAAyB;AACzB,uDAA6B;AAC7B,qDAA2B;AAC3B,kEAAwC;AACxC,2DAAiC"}
@@ -0,0 +1,10 @@
1
+ export interface IAuthPayloadOptions {
2
+ loginDate: Date;
3
+ }
4
+ export interface IAuthGetAuthTokenOptions {
5
+ forceEncryption?: boolean;
6
+ }
7
+ export interface IAuthRefreshTokenOptions {
8
+ notBeforeExpirationTime?: number | string;
9
+ rememberMe?: boolean;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=auth.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.interface.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/interfaces/auth.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export interface IAuthService {
2
+ createPassword(password: string): Promise<string>;
3
+ getTokenType(): Promise<string>;
4
+ getAccessTokenExpirationTime(): Promise<number>;
5
+ getRefreshTokenExpirationTime(rememberMe?: boolean): Promise<number>;
6
+ getIssuer(): Promise<string>;
7
+ getAudience(): Promise<string>;
8
+ getSubject(): Promise<string>;
9
+ getPayloadEncryption(): Promise<boolean>;
10
+ getPermissionTokenExpirationTime(): Promise<number>;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=auth.service.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.service.interface.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/interfaces/auth.service.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './auth.interface';
2
+ export * from './auth.service.interface';
3
+ export * from './module-permissions.interface';
4
+ export * from './permission.interface';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./auth.interface"), exports);
5
+ tslib_1.__exportStar(require("./auth.service.interface"), exports);
6
+ tslib_1.__exportStar(require("./module-permissions.interface"), exports);
7
+ tslib_1.__exportStar(require("./permission.interface"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,mEAAyC;AACzC,yEAA+C;AAC/C,iEAAuC"}
@@ -0,0 +1,15 @@
1
+ export declare const BASIC_PERMISSIONS: {
2
+ write: string;
3
+ delete: string;
4
+ read: string;
5
+ };
6
+ export interface IBasicPermissions {
7
+ write: string;
8
+ delete: string;
9
+ read: string;
10
+ [key: string]: string;
11
+ }
12
+ export interface IModulePermissions {
13
+ group: string;
14
+ permissions: IBasicPermissions;
15
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BASIC_PERMISSIONS = void 0;
4
+ exports.BASIC_PERMISSIONS = {
5
+ write: 'WRITE',
6
+ delete: 'DELETE',
7
+ read: 'READ',
8
+ };
9
+ //# sourceMappingURL=module-permissions.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-permissions.interface.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/interfaces/module-permissions.interface.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC/B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface IPermission {
2
+ group: string;
3
+ permission: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=permission.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission.interface.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/interfaces/permission.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './token.payload.serialization';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./token.payload.serialization"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/serializations/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C"}
@@ -0,0 +1,3 @@
1
+ export declare class TokenPayload {
2
+ userId: string;
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenPayload = void 0;
4
+ class TokenPayload {
5
+ }
6
+ exports.TokenPayload = TokenPayload;
7
+ //# sourceMappingURL=token.payload.serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.payload.serialization.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/serializations/token.payload.serialization.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;CAExB;AAFD,oCAEC"}
@@ -0,0 +1,46 @@
1
+ import { IAuthService } from '../interfaces/auth.service.interface';
2
+ import { PasswordService, TokenService } from '@tc-libs/helper';
3
+ import { IAuthGetAuthTokenOptions } from '../interfaces';
4
+ import { AuthenticationModuleOptions } from '../authentication.module.options';
5
+ export declare class AuthService implements IAuthService {
6
+ readonly _options: AuthenticationModuleOptions;
7
+ private readonly _password;
8
+ private readonly _token;
9
+ private readonly accessTokenExpirationTime;
10
+ private readonly refreshTokenExpirationTime;
11
+ private readonly refreshTokenExpirationTimeRememberMe;
12
+ private readonly payloadEncryption;
13
+ private readonly prefixAuthorization;
14
+ private readonly audience;
15
+ private readonly issuer;
16
+ private readonly subject;
17
+ private readonly permissionTokenExpirationTime;
18
+ constructor(_options: AuthenticationModuleOptions, _password: PasswordService, _token: TokenService);
19
+ getAuthToken<T extends {
20
+ _id: string;
21
+ }>(payload: T, rememberMe: boolean, options?: IAuthGetAuthTokenOptions): Promise<{
22
+ tokenType: string;
23
+ expiresIn: number;
24
+ accessToken: string;
25
+ refreshToken: string;
26
+ }>;
27
+ getRefreshToken<T extends {
28
+ _id: string;
29
+ }>(payload: T, refreshToken: string, rememberMe: boolean, loginDate: Date, options?: IAuthGetAuthTokenOptions): Promise<{
30
+ tokenType: string;
31
+ expiresIn: number;
32
+ accessToken: string;
33
+ refreshToken: string;
34
+ }>;
35
+ validateUser(passwordString: string, passwordHash: string): Promise<boolean>;
36
+ createPayloadPermissionToken(data: Record<string, any>): Promise<Record<string, any>>;
37
+ createPassword(password: string): Promise<string>;
38
+ getTokenType(): Promise<string>;
39
+ getAccessTokenExpirationTime(): Promise<number>;
40
+ getRefreshTokenExpirationTime(rememberMe?: boolean): Promise<number>;
41
+ getIssuer(): Promise<string>;
42
+ getAudience(): Promise<string>;
43
+ getSubject(): Promise<string>;
44
+ getPayloadEncryption(): Promise<boolean>;
45
+ getPermissionTokenExpirationTime(): Promise<number>;
46
+ }
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const helper_1 = require("@tc-libs/helper");
7
+ const authentication_module_options_1 = require("../authentication.module.options");
8
+ let AuthService = class AuthService {
9
+ constructor(_options, _password, _token) {
10
+ this._options = _options;
11
+ this._password = _password;
12
+ this._token = _token;
13
+ this.accessTokenExpirationTime = _options.auth.accessToken.expirationTime;
14
+ this.refreshTokenExpirationTime = _options.auth.refreshToken.expirationTime;
15
+ this.refreshTokenExpirationTimeRememberMe =
16
+ _options.auth.refreshToken.expirationTimeRememberMe;
17
+ this.payloadEncryption = _options.auth.payloadEncryption;
18
+ this.prefixAuthorization = _options.auth.prefixAuthorization;
19
+ this.subject = _options.auth.subject;
20
+ this.audience = _options.auth.audience;
21
+ this.issuer = _options.auth.issuer;
22
+ this.permissionTokenExpirationTime =
23
+ _options.auth.permissionToken.expirationTime;
24
+ }
25
+ async getAuthToken(payload, rememberMe, options) {
26
+ const payloadAccessToken = this._token.createPayloadAccessToken(payload, rememberMe);
27
+ const payloadRefreshToken = this._token.createPayloadRefreshToken(payload._id, rememberMe, {
28
+ loginDate: payloadAccessToken['loginDate'],
29
+ });
30
+ let payloadHashedAccessToken = payloadAccessToken;
31
+ let payloadRefreshTokenEncrypted = payloadRefreshToken;
32
+ if (!!options?.forceEncryption || this.payloadEncryption) {
33
+ payloadHashedAccessToken = await this._token.encryptAccessToken(payloadAccessToken);
34
+ payloadRefreshTokenEncrypted = await this._token.encryptRefreshToken(payloadRefreshToken);
35
+ }
36
+ const accessToken = this._token.createAccessToken(payloadHashedAccessToken);
37
+ const refreshToken = this._token.createRefreshToken(payloadRefreshTokenEncrypted, { rememberMe });
38
+ return {
39
+ tokenType: this.prefixAuthorization,
40
+ expiresIn: this.accessTokenExpirationTime,
41
+ accessToken,
42
+ refreshToken,
43
+ };
44
+ }
45
+ async getRefreshToken(payload, refreshToken, rememberMe, loginDate, options) {
46
+ const payloadAccessToken = await this._token.createPayloadAccessToken(payload, rememberMe, {
47
+ loginDate,
48
+ });
49
+ let payloadHashedAccessToken = payloadAccessToken;
50
+ if (!!options?.forceEncryption || this.payloadEncryption) {
51
+ payloadHashedAccessToken = await this._token.encryptAccessToken(payloadAccessToken);
52
+ }
53
+ const accessToken = await this._token.createAccessToken(payloadHashedAccessToken);
54
+ return {
55
+ tokenType: this.prefixAuthorization,
56
+ expiresIn: this.accessTokenExpirationTime,
57
+ accessToken,
58
+ refreshToken,
59
+ };
60
+ }
61
+ validateUser(passwordString, passwordHash) {
62
+ return this._password.compare(passwordString, passwordHash);
63
+ }
64
+ async createPayloadPermissionToken(data) {
65
+ return data;
66
+ }
67
+ async createPassword(password) {
68
+ return this._password.hashPassword(password);
69
+ }
70
+ async getTokenType() {
71
+ return this.prefixAuthorization;
72
+ }
73
+ async getAccessTokenExpirationTime() {
74
+ return this.accessTokenExpirationTime;
75
+ }
76
+ async getRefreshTokenExpirationTime(rememberMe) {
77
+ return rememberMe
78
+ ? this.refreshTokenExpirationTimeRememberMe
79
+ : this.refreshTokenExpirationTime;
80
+ }
81
+ async getIssuer() {
82
+ return this.issuer;
83
+ }
84
+ async getAudience() {
85
+ return this.audience;
86
+ }
87
+ async getSubject() {
88
+ return this.subject;
89
+ }
90
+ async getPayloadEncryption() {
91
+ return this.payloadEncryption;
92
+ }
93
+ async getPermissionTokenExpirationTime() {
94
+ return this.permissionTokenExpirationTime;
95
+ }
96
+ };
97
+ exports.AuthService = AuthService;
98
+ exports.AuthService = AuthService = tslib_1.__decorate([
99
+ (0, common_1.Injectable)(),
100
+ tslib_1.__param(0, (0, common_1.Inject)(authentication_module_options_1.AUTHENTICATION_CONFIG_OPTIONS)),
101
+ tslib_1.__metadata("design:paramtypes", [Object, helper_1.PasswordService,
102
+ helper_1.TokenService])
103
+ ], AuthService);
104
+ //# sourceMappingURL=auth.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/services/auth.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './auth.service';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./auth.service"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/services/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B"}