@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.
- package/README.md +11 -0
- package/package.json +11 -0
- package/src/authentication.module.d.ts +6 -0
- package/src/authentication.module.js +39 -0
- package/src/authentication.module.js.map +1 -0
- package/src/authentication.module.options.d.ts +41 -0
- package/src/authentication.module.options.js +5 -0
- package/src/authentication.module.options.js.map +1 -0
- package/src/constants/auth.constant.d.ts +3 -0
- package/src/constants/auth.constant.js +7 -0
- package/src/constants/auth.constant.js.map +1 -0
- package/src/constants/auth.enum.constant.d.ts +17 -0
- package/src/constants/auth.enum.constant.js +19 -0
- package/src/constants/auth.enum.constant.js.map +1 -0
- package/src/constants/index.d.ts +2 -0
- package/src/constants/index.js +6 -0
- package/src/constants/index.js.map +1 -0
- package/src/decorators/auth.combined.decorator.d.ts +2 -0
- package/src/decorators/auth.combined.decorator.js +27 -0
- package/src/decorators/auth.combined.decorator.js.map +1 -0
- package/src/decorators/auth.current-user.decorator.d.ts +2 -0
- package/src/decorators/auth.current-user.decorator.js +25 -0
- package/src/decorators/auth.current-user.decorator.js.map +1 -0
- package/src/decorators/auth.jwt.decorator.d.ts +7 -0
- package/src/decorators/auth.jwt.decorator.js +48 -0
- package/src/decorators/auth.jwt.decorator.js.map +1 -0
- package/src/decorators/auth.permission.decorator.d.ts +2 -0
- package/src/decorators/auth.permission.decorator.js +16 -0
- package/src/decorators/auth.permission.decorator.js.map +1 -0
- package/src/decorators/index.d.ts +4 -0
- package/src/decorators/index.js +8 -0
- package/src/decorators/index.js.map +1 -0
- package/src/guards/combined/auth.combined.guard.d.ts +8 -0
- package/src/guards/combined/auth.combined.guard.js +40 -0
- package/src/guards/combined/auth.combined.guard.js.map +1 -0
- package/src/guards/index.d.ts +7 -0
- package/src/guards/index.js +11 -0
- package/src/guards/index.js.map +1 -0
- package/src/guards/jwt-access/auth.jwt-access.guard.d.ts +5 -0
- package/src/guards/jwt-access/auth.jwt-access.guard.js +20 -0
- package/src/guards/jwt-access/auth.jwt-access.guard.js.map +1 -0
- package/src/guards/jwt-access/auth.jwt-access.strategy.d.ts +13 -0
- package/src/guards/jwt-access/auth.jwt-access.strategy.js +40 -0
- package/src/guards/jwt-access/auth.jwt-access.strategy.js.map +1 -0
- package/src/guards/jwt-refresh/auth.jwt-refresh.guard.d.ts +5 -0
- package/src/guards/jwt-refresh/auth.jwt-refresh.guard.js +20 -0
- package/src/guards/jwt-refresh/auth.jwt-refresh.guard.js.map +1 -0
- package/src/guards/jwt-refresh/auth.jwt-refresh.strategy.d.ts +13 -0
- package/src/guards/jwt-refresh/auth.jwt-refresh.strategy.js +45 -0
- package/src/guards/jwt-refresh/auth.jwt-refresh.strategy.js.map +1 -0
- package/src/guards/payload/auth.payload.access-for.guard.d.ts +7 -0
- package/src/guards/payload/auth.payload.access-for.guard.js +33 -0
- package/src/guards/payload/auth.payload.access-for.guard.js.map +1 -0
- package/src/guards/payload/auth.payload.permission.guard.d.ts +7 -0
- package/src/guards/payload/auth.payload.permission.guard.js +42 -0
- package/src/guards/payload/auth.payload.permission.guard.js.map +1 -0
- package/src/guards/permission/auth.permission.guard.d.ts +12 -0
- package/src/guards/permission/auth.permission.guard.js +55 -0
- package/src/guards/permission/auth.permission.guard.js.map +1 -0
- package/src/index.d.ts +7 -0
- package/src/index.js +11 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/auth.interface.d.ts +10 -0
- package/src/interfaces/auth.interface.js +3 -0
- package/src/interfaces/auth.interface.js.map +1 -0
- package/src/interfaces/auth.service.interface.d.ts +11 -0
- package/src/interfaces/auth.service.interface.js +3 -0
- package/src/interfaces/auth.service.interface.js.map +1 -0
- package/src/interfaces/index.d.ts +4 -0
- package/src/interfaces/index.js +8 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/module-permissions.interface.d.ts +15 -0
- package/src/interfaces/module-permissions.interface.js +9 -0
- package/src/interfaces/module-permissions.interface.js.map +1 -0
- package/src/interfaces/permission.interface.d.ts +4 -0
- package/src/interfaces/permission.interface.js +3 -0
- package/src/interfaces/permission.interface.js.map +1 -0
- package/src/serializations/index.d.ts +1 -0
- package/src/serializations/index.js +5 -0
- package/src/serializations/index.js.map +1 -0
- package/src/serializations/token.payload.serialization.d.ts +3 -0
- package/src/serializations/token.payload.serialization.js +7 -0
- package/src/serializations/token.payload.serialization.js.map +1 -0
- package/src/services/auth.service.d.ts +46 -0
- package/src/services/auth.service.js +104 -0
- package/src/services/auth.service.js.map +1 -0
- package/src/services/index.d.ts +1 -0
- package/src/services/index.js +5 -0
- 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
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
|
package/src/index.js.map
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"auth.service.interface.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/interfaces/auth.service.interface.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/serializations/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/authentication/src/services/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B"}
|