@lenne.tech/nest-server 9.2.1 → 9.2.3
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 +1 -2
- package/dist/config.env.js +3 -0
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/helpers/context.helper.d.ts +5 -2
- package/dist/core/common/helpers/context.helper.js +14 -8
- package/dist/core/common/helpers/context.helper.js.map +1 -1
- package/dist/core/common/interfaces/server-options.interface.d.ts +3 -1
- package/dist/core/common/pipes/check-input.pipe.js +2 -2
- package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
- package/dist/core/modules/auth/core-auth.module.js +5 -1
- package/dist/core/modules/auth/core-auth.module.js.map +1 -1
- package/dist/core/modules/auth/core-auth.resolver.d.ts +6 -6
- package/dist/core/modules/auth/core-auth.resolver.js +26 -23
- package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
- package/dist/core/modules/auth/guards/auth.guard.js +9 -2
- package/dist/core/modules/auth/guards/auth.guard.js.map +1 -1
- package/dist/core/modules/auth/inputs/core-auth-sign-in.input.d.ts +1 -0
- package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js +6 -1
- package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js.map +1 -1
- package/dist/core/modules/auth/inputs/core-auth-sign-up.input.d.ts +2 -5
- package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js +2 -23
- package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js.map +1 -1
- package/dist/core/modules/auth/interfaces/core-auth-user.interface.d.ts +2 -2
- package/dist/core/modules/auth/interfaces/core-token-data.interface.d.ts +5 -0
- package/dist/core/modules/auth/interfaces/core-token-data.interface.js +3 -0
- package/dist/core/modules/auth/interfaces/core-token-data.interface.js.map +1 -0
- package/dist/core/modules/auth/interfaces/jwt-payload.interface.d.ts +3 -0
- package/dist/core/modules/auth/services/core-auth.service.d.ts +11 -9
- package/dist/core/modules/auth/services/core-auth.service.js +62 -50
- package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
- package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js +1 -10
- package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js.map +1 -1
- package/dist/core/modules/auth/strategies/jwt.strategy.js +1 -1
- package/dist/core/modules/auth/strategies/jwt.strategy.js.map +1 -1
- package/dist/core/modules/auth/tokens.decorator.d.ts +1 -0
- package/dist/core/modules/auth/tokens.decorator.js +20 -0
- package/dist/core/modules/auth/tokens.decorator.js.map +1 -0
- package/dist/core/modules/user/core-user.model.d.ts +2 -2
- package/dist/core/modules/user/core-user.model.js +0 -6
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core.module.js +1 -1
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/config.env.ts +3 -0
- package/src/core/common/helpers/context.helper.ts +25 -10
- package/src/core/common/interfaces/server-options.interface.ts +11 -1
- package/src/core/common/pipes/check-input.pipe.ts +2 -2
- package/src/core/modules/auth/core-auth.module.ts +5 -1
- package/src/core/modules/auth/core-auth.resolver.ts +23 -20
- package/src/core/modules/auth/guards/auth.guard.ts +9 -2
- package/src/core/modules/auth/inputs/core-auth-sign-in.input.ts +4 -1
- package/src/core/modules/auth/inputs/core-auth-sign-up.input.ts +3 -16
- package/src/core/modules/auth/interfaces/core-auth-user.interface.ts +3 -6
- package/src/core/modules/auth/interfaces/core-token-data.interface.ts +19 -0
- package/src/core/modules/auth/interfaces/jwt-payload.interface.ts +3 -0
- package/src/core/modules/auth/services/core-auth.service.ts +93 -81
- package/src/core/modules/auth/strategies/jwt-refresh.strategy.ts +1 -11
- package/src/core/modules/auth/strategies/jwt.strategy.ts +1 -1
- package/src/core/modules/auth/tokens.decorator.ts +36 -0
- package/src/core/modules/user/core-user.model.ts +5 -11
- package/src/core.module.ts +1 -2
- package/src/index.ts +4 -2
|
@@ -13,6 +13,7 @@ exports.CoreAuthService = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const jwt_1 = require("@nestjs/jwt");
|
|
15
15
|
const bcrypt = require("bcrypt");
|
|
16
|
+
const crypto_1 = require("crypto");
|
|
16
17
|
const js_sha256_1 = require("js-sha256");
|
|
17
18
|
const db_helper_1 = require("../../../common/helpers/db.helper");
|
|
18
19
|
const service_helper_1 = require("../../../common/helpers/service.helper");
|
|
@@ -28,31 +29,28 @@ let CoreAuthService = class CoreAuthService {
|
|
|
28
29
|
decodeJwt(token) {
|
|
29
30
|
return this.jwtService.decode(token);
|
|
30
31
|
}
|
|
31
|
-
async logout(serviceOptions) {
|
|
32
|
+
async logout(tokenOrRefreshToken, serviceOptions) {
|
|
32
33
|
const user = serviceOptions.currentUser;
|
|
33
|
-
if (!
|
|
34
|
+
if (!user || !tokenOrRefreshToken) {
|
|
34
35
|
throw new common_1.UnauthorizedException();
|
|
35
36
|
}
|
|
36
|
-
const deviceId =
|
|
37
|
-
if (deviceId) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
await this.userService.update(user.id, { refreshTokens:
|
|
37
|
+
const deviceId = this.decodeJwt(tokenOrRefreshToken)?.deviceId;
|
|
38
|
+
if (!deviceId || !user.refreshTokens[deviceId]) {
|
|
39
|
+
throw new common_1.UnauthorizedException('Invalid refresh token');
|
|
40
|
+
}
|
|
41
|
+
if (serviceOptions.allDevices) {
|
|
42
|
+
user.refreshTokens = {};
|
|
43
|
+
await this.userService.update(user.id, { refreshTokens: {} }, serviceOptions);
|
|
43
44
|
return true;
|
|
44
45
|
}
|
|
45
|
-
user.
|
|
46
|
-
user.refreshTokens
|
|
47
|
-
await this.userService.update(user.id, {
|
|
48
|
-
refreshToken: user.refreshToken,
|
|
49
|
-
refreshTokens: user.refreshTokens,
|
|
50
|
-
}, serviceOptions);
|
|
46
|
+
delete user.refreshTokens[deviceId];
|
|
47
|
+
await this.userService.update(user.id, { refreshTokens: user.refreshTokens }, serviceOptions);
|
|
51
48
|
return true;
|
|
52
49
|
}
|
|
53
|
-
async refreshTokens(user,
|
|
54
|
-
const
|
|
55
|
-
await this.
|
|
50
|
+
async refreshTokens(user, currentRefreshToken) {
|
|
51
|
+
const { deviceId, deviceDescription } = this.decodeJwt(currentRefreshToken);
|
|
52
|
+
const tokens = await this.createTokens(user.id, { deviceId, deviceDescription });
|
|
53
|
+
tokens.refreshToken = await this.updateRefreshToken(user, currentRefreshToken, tokens.refreshToken);
|
|
56
54
|
return core_auth_model_1.CoreAuthModel.map({
|
|
57
55
|
...tokens,
|
|
58
56
|
user: await this.userService.prepareOutput(user),
|
|
@@ -63,14 +61,13 @@ let CoreAuthService = class CoreAuthService {
|
|
|
63
61
|
prepareOutput: null,
|
|
64
62
|
subFieldSelection: 'user',
|
|
65
63
|
});
|
|
66
|
-
const { email, password, deviceId } = input;
|
|
67
|
-
const user = await this.userService.getViaEmail(email,
|
|
64
|
+
const { email, password, deviceId, deviceDescription } = input;
|
|
65
|
+
const user = await this.userService.getViaEmail(email, serviceOptionsForUserService);
|
|
68
66
|
if (!user ||
|
|
69
67
|
!((await bcrypt.compare(password, user.password)) || (await bcrypt.compare((0, js_sha256_1.sha256)(password), user.password)))) {
|
|
70
68
|
throw new common_1.UnauthorizedException();
|
|
71
69
|
}
|
|
72
|
-
|
|
73
|
-
return this.getResult(user, serviceOptions);
|
|
70
|
+
return this.getResult(user, { deviceId, deviceDescription });
|
|
74
71
|
}
|
|
75
72
|
async signUp(input, serviceOptions) {
|
|
76
73
|
const serviceOptionsForUserService = (0, service_helper_1.prepareServiceOptions)(serviceOptions, {
|
|
@@ -78,21 +75,22 @@ let CoreAuthService = class CoreAuthService {
|
|
|
78
75
|
});
|
|
79
76
|
const user = await this.userService.create(input, serviceOptionsForUserService);
|
|
80
77
|
if (!user) {
|
|
81
|
-
throw
|
|
78
|
+
throw new common_1.BadRequestException('Email Address already in use');
|
|
82
79
|
}
|
|
83
|
-
|
|
84
|
-
return this.getResult(user,
|
|
80
|
+
const { deviceId, deviceDescription } = input;
|
|
81
|
+
return this.getResult(user, { deviceId, deviceDescription });
|
|
85
82
|
}
|
|
86
83
|
async validateUser(payload) {
|
|
87
84
|
const user = await this.userService.get(payload.id);
|
|
88
|
-
|
|
85
|
+
const device = user?.refreshTokens?.[payload.deviceId];
|
|
86
|
+
if (!device || !payload.tokenId || device.tokenId !== payload.tokenId) {
|
|
89
87
|
return null;
|
|
90
88
|
}
|
|
91
89
|
return user;
|
|
92
90
|
}
|
|
93
|
-
async getResult(user,
|
|
94
|
-
const tokens = await this.
|
|
95
|
-
await this.updateRefreshToken(user, tokens.refreshToken,
|
|
91
|
+
async getResult(user, data, currentRefreshToken) {
|
|
92
|
+
const tokens = await this.createTokens(user.id, data);
|
|
93
|
+
tokens.refreshToken = await this.updateRefreshToken(user, currentRefreshToken, tokens.refreshToken, data);
|
|
96
94
|
return core_auth_model_1.CoreAuthModel.map({
|
|
97
95
|
...tokens,
|
|
98
96
|
user: await this.userService.prepareOutput(user),
|
|
@@ -108,13 +106,19 @@ let CoreAuthService = class CoreAuthService {
|
|
|
108
106
|
this.configService.getFastButReadOnly(path + '.secret') ||
|
|
109
107
|
this.configService.getFastButReadOnly(path + '.secretOrPrivateKey'));
|
|
110
108
|
}
|
|
111
|
-
async
|
|
109
|
+
async createTokens(userId, data) {
|
|
110
|
+
const payload = {
|
|
111
|
+
...data,
|
|
112
|
+
id: userId,
|
|
113
|
+
deviceId: data?.deviceId || (0, crypto_1.randomUUID)(),
|
|
114
|
+
tokenId: (0, crypto_1.randomUUID)(),
|
|
115
|
+
};
|
|
112
116
|
const [token, refreshToken] = await Promise.all([
|
|
113
|
-
this.jwtService.signAsync(
|
|
117
|
+
this.jwtService.signAsync(payload, {
|
|
114
118
|
secret: this.getSecretFromConfig(false),
|
|
115
119
|
...this.configService.getFastButReadOnly('jwt.signInOptions', {}),
|
|
116
120
|
}),
|
|
117
|
-
this.jwtService.signAsync(
|
|
121
|
+
this.jwtService.signAsync(payload, {
|
|
118
122
|
secret: this.getSecretFromConfig(true),
|
|
119
123
|
...this.configService.getFastButReadOnly('jwt.refresh.signInOptions', {}),
|
|
120
124
|
}),
|
|
@@ -124,27 +128,35 @@ let CoreAuthService = class CoreAuthService {
|
|
|
124
128
|
refreshToken,
|
|
125
129
|
};
|
|
126
130
|
}
|
|
127
|
-
async updateRefreshToken(user,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
if (!user.refreshTokens) {
|
|
132
|
-
|
|
131
|
+
async updateRefreshToken(user, currentRefreshToken, newRefreshToken, data) {
|
|
132
|
+
let deviceId;
|
|
133
|
+
if (currentRefreshToken) {
|
|
134
|
+
deviceId = this.decodeJwt(currentRefreshToken)?.deviceId;
|
|
135
|
+
if (!deviceId || !user.refreshTokens?.[deviceId]) {
|
|
136
|
+
throw new common_1.UnauthorizedException('Invalid refresh token');
|
|
133
137
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
user.refreshToken = hashedRefreshToken;
|
|
138
|
+
if (!this.configService.getFastButReadOnly('jwt.refresh.renewal')) {
|
|
139
|
+
return currentRefreshToken;
|
|
137
140
|
}
|
|
138
|
-
return await this.userService.update((0, db_helper_1.getStringIds)(user), { refreshTokens: user.refreshTokens, refreshToken: user.refreshToken }, {
|
|
139
|
-
...serviceOptions,
|
|
140
|
-
force: true,
|
|
141
|
-
});
|
|
142
141
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
142
|
+
data = data || {};
|
|
143
|
+
if (!user.refreshTokens) {
|
|
144
|
+
user.refreshTokens = {};
|
|
145
|
+
}
|
|
146
|
+
if (deviceId) {
|
|
147
|
+
const oldData = user.refreshTokens[deviceId] || {};
|
|
148
|
+
data = Object.assign(oldData, data);
|
|
149
|
+
}
|
|
150
|
+
const payload = this.decodeJwt(newRefreshToken);
|
|
151
|
+
if (!payload) {
|
|
152
|
+
throw new common_1.UnauthorizedException();
|
|
153
|
+
}
|
|
154
|
+
if (!deviceId) {
|
|
155
|
+
deviceId = payload.deviceId;
|
|
156
|
+
}
|
|
157
|
+
user.refreshTokens[deviceId] = { ...data, deviceId, tokenId: payload.tokenId };
|
|
158
|
+
await this.userService.update((0, db_helper_1.getStringIds)(user), { refreshTokens: user.refreshTokens }, { force: true });
|
|
159
|
+
return newRefreshToken;
|
|
148
160
|
}
|
|
149
161
|
};
|
|
150
162
|
CoreAuthService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-auth.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"core-auth.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.JwtRefreshStrategy = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
15
|
const passport_1 = require("@nestjs/passport");
|
|
16
|
-
const bcrypt = require("bcrypt");
|
|
17
16
|
const passport_jwt_1 = require("passport-jwt");
|
|
18
17
|
const config_service_1 = require("../../../common/services/config.service");
|
|
19
18
|
const core_auth_service_1 = require("../services/core-auth.service");
|
|
@@ -40,15 +39,7 @@ let JwtRefreshStrategy = JwtRefreshStrategy_1 = class JwtRefreshStrategy extends
|
|
|
40
39
|
async validate(req, payload) {
|
|
41
40
|
const user = await this.authService.validateUser(payload);
|
|
42
41
|
if (!user) {
|
|
43
|
-
throw new common_1.UnauthorizedException();
|
|
44
|
-
}
|
|
45
|
-
const refreshToken = req
|
|
46
|
-
.get('Authorization')
|
|
47
|
-
.replace(/bearer/i, '')
|
|
48
|
-
.trim();
|
|
49
|
-
const refreshTokenMatches = await bcrypt.compare(refreshToken, user.refreshToken);
|
|
50
|
-
if (!refreshTokenMatches) {
|
|
51
|
-
throw new common_1.ForbiddenException('Access Denied');
|
|
42
|
+
throw new common_1.UnauthorizedException('Unknown user');
|
|
52
43
|
}
|
|
53
44
|
return user;
|
|
54
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-refresh.strategy.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/strategies/jwt-refresh.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuF;AACvF,+CAAoD;
|
|
1
|
+
{"version":3,"file":"jwt-refresh.strategy.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/strategies/jwt-refresh.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuF;AACvF,+CAAoD;AAGpD,+CAAoD;AACpD,4EAAwE;AACxE,qEAAgE;AAGzD,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,EAAE,aAAa,CAAC;IAC/E,YAA+B,WAA4B,EAAqB,aAA4B;QAC1G,KAAK,CAAC;YACJ,cAAc,EAAE,yBAAU,CAAC,cAAc,CAAC;gBACxC,oBAAkB,CAAC,oBAAoB;gBACvC,yBAAU,CAAC,2BAA2B,EAAE;aACzC,CAAC;YACF,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACvD,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACrD,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,gCAAgC,CAAC;YACtG,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,gCAAgC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAC3G,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,iCAAiC,CAAC;YACzE,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QAZ0B,gBAAW,GAAX,WAAW,CAAiB;QAAqB,kBAAa,GAAb,aAAa,CAAe;IAa5G,CAAC;IAKO,MAAM,CAAC,oBAAoB,CAAC,GAAgB;QAClD,OAAO,GAAG,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;IAC5C,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,OAAY;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,8BAAqB,CAAC,cAAc,CAAC,CAAC;SACjD;QAGD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AApCY,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAEiC,mCAAe,EAAoC,8BAAa;GADjG,kBAAkB,CAoC9B;AApCY,gDAAkB"}
|
|
@@ -38,7 +38,7 @@ let JwtStrategy = JwtStrategy_1 = class JwtStrategy extends (0, passport_1.Passp
|
|
|
38
38
|
async validate(payload) {
|
|
39
39
|
const user = await this.authService.validateUser(payload);
|
|
40
40
|
if (!user) {
|
|
41
|
-
throw new common_1.UnauthorizedException();
|
|
41
|
+
throw new common_1.UnauthorizedException('Unknown user');
|
|
42
42
|
}
|
|
43
43
|
return user;
|
|
44
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/strategies/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAmE;AACnE,+CAAoD;AACpD,+CAAoD;AACpD,4EAAwE;AAExE,qEAAgE;AAOzD,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,EAAE,KAAK,CAAC;IAIhE,YAA+B,WAA4B,EAAqB,aAA4B;QAC1G,KAAK,CAAC;YACJ,cAAc,EAAE,yBAAU,CAAC,cAAc,CAAC;gBACxC,aAAW,CAAC,oBAAoB;gBAChC,yBAAU,CAAC,2BAA2B,EAAE;aACzC,CAAC;YACF,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC/C,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC;YAC7C,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACtF,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3F,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,yBAAyB,CAAC;SAClE,CAAC,CAAC;QAX0B,gBAAW,GAAX,WAAW,CAAiB;QAAqB,kBAAa,GAAb,aAAa,CAAe;IAY5G,CAAC;IAKO,MAAM,CAAC,oBAAoB,CAAC,GAAgB;QAClD,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;IACrC,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,OAAmB;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,8BAAqB,
|
|
1
|
+
{"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/strategies/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAmE;AACnE,+CAAoD;AACpD,+CAAoD;AACpD,4EAAwE;AAExE,qEAAgE;AAOzD,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,EAAE,KAAK,CAAC;IAIhE,YAA+B,WAA4B,EAAqB,aAA4B;QAC1G,KAAK,CAAC;YACJ,cAAc,EAAE,yBAAU,CAAC,cAAc,CAAC;gBACxC,aAAW,CAAC,oBAAoB;gBAChC,yBAAU,CAAC,2BAA2B,EAAE;aACzC,CAAC;YACF,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC/C,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC;YAC7C,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACtF,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3F,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,yBAAyB,CAAC;SAClE,CAAC,CAAC;QAX0B,gBAAW,GAAX,WAAW,CAAiB;QAAqB,kBAAa,GAAb,aAAa,CAAe;IAY5G,CAAC;IAKO,MAAM,CAAC,oBAAoB,CAAC,GAAgB;QAClD,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;IACrC,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,OAAmB;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,8BAAqB,CAAC,cAAc,CAAC,CAAC;SACjD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAnCY,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAKiC,mCAAe,EAAoC,8BAAa;GAJjG,WAAW,CAmCvB;AAnCY,kCAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Tokens: (...dataOrPipes: (import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>> | "token" | "refreshToken")[]) => ParameterDecorator;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tokens = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const context_helper_1 = require("../../common/helpers/context.helper");
|
|
6
|
+
exports.Tokens = (0, common_1.createParamDecorator)((tokenId, ctx) => {
|
|
7
|
+
const context = (0, context_helper_1.getContextData)(ctx);
|
|
8
|
+
const token = context?.request?.cookies?.['token'] ||
|
|
9
|
+
context?.request
|
|
10
|
+
?.get('Authorization')
|
|
11
|
+
?.replace(/bearer/i, '')
|
|
12
|
+
.trim();
|
|
13
|
+
const refreshToken = context?.request?.cookies?.['refreshToken'] || token;
|
|
14
|
+
const tokens = { token, refreshToken };
|
|
15
|
+
if (tokenId?.length) {
|
|
16
|
+
return tokens[tokenId];
|
|
17
|
+
}
|
|
18
|
+
return tokens;
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=tokens.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.decorator.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/tokens.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAwE;AAExE,wEAAqE;AAKxD,QAAA,MAAM,GAAG,IAAA,6BAAoB,EACxC,CACE,OAA6C,EAC7C,GAAqB,EAC6B,EAAE;IAEpD,MAAM,OAAO,GAAG,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC;IAGpC,MAAM,KAAK,GACT,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC;QACpC,OAAO,EAAE,OAAO;YACd,EAAE,GAAG,CAAC,eAAe,CAAC;YACtB,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACvB,IAAI,EAAE,CAAC;IAGZ,MAAM,YAAY,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC;IAG1E,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAGvC,IAAI,OAAO,EAAE,MAAM,EAAE;QACnB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;KACxB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CACF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Document } from 'mongoose';
|
|
2
2
|
import { CorePersistenceModel } from '../../common/models/core-persistence.model';
|
|
3
|
+
import { CoreTokenData } from '../auth/interfaces/core-token-data.interface';
|
|
3
4
|
export type CoreUserModelDocument = CoreUserModel & Document;
|
|
4
5
|
export declare abstract class CoreUserModel extends CorePersistenceModel {
|
|
5
6
|
email: string;
|
|
@@ -9,8 +10,7 @@ export declare abstract class CoreUserModel extends CorePersistenceModel {
|
|
|
9
10
|
roles: string[];
|
|
10
11
|
username: string;
|
|
11
12
|
passwordResetToken: string;
|
|
12
|
-
|
|
13
|
-
refreshTokens: Record<string, string>;
|
|
13
|
+
refreshTokens: Record<string, CoreTokenData>;
|
|
14
14
|
verificationToken: string;
|
|
15
15
|
verified: boolean;
|
|
16
16
|
verifiedAt: Date;
|
|
@@ -24,7 +24,6 @@ let CoreUserModel = class CoreUserModel extends core_persistence_model_1.CorePer
|
|
|
24
24
|
this.roles = undefined;
|
|
25
25
|
this.username = undefined;
|
|
26
26
|
this.passwordResetToken = undefined;
|
|
27
|
-
this.refreshToken = undefined;
|
|
28
27
|
this.refreshTokens = undefined;
|
|
29
28
|
this.verificationToken = undefined;
|
|
30
29
|
this.verified = undefined;
|
|
@@ -97,11 +96,6 @@ __decorate([
|
|
|
97
96
|
(0, mongoose_1.Prop)(),
|
|
98
97
|
__metadata("design:type", String)
|
|
99
98
|
], CoreUserModel.prototype, "passwordResetToken", void 0);
|
|
100
|
-
__decorate([
|
|
101
|
-
(0, class_validator_1.IsOptional)(),
|
|
102
|
-
(0, mongoose_1.Prop)(),
|
|
103
|
-
__metadata("design:type", String)
|
|
104
|
-
], CoreUserModel.prototype, "refreshToken", void 0);
|
|
105
99
|
__decorate([
|
|
106
100
|
(0, class_validator_1.IsOptional)(),
|
|
107
101
|
(0, mongoose_1.Prop)((0, mongoose_1.raw)({})),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,+CAAuE;AACvE,qDAAsD;AAEtD,uFAAkF;
|
|
1
|
+
{"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":"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"}
|
package/dist/core.module.js
CHANGED
|
@@ -48,7 +48,7 @@ let CoreModule = CoreModule_1 = class CoreModule {
|
|
|
48
48
|
'subscriptions-transport-ws': {
|
|
49
49
|
onConnect: async (connectionParams) => {
|
|
50
50
|
if (config.graphQl.enableSubscriptionAuth) {
|
|
51
|
-
const authToken =
|
|
51
|
+
const authToken = connectionParams?.Authorization?.split(' ')[1];
|
|
52
52
|
if (authToken) {
|
|
53
53
|
const payload = authService.decodeJwt(authToken);
|
|
54
54
|
const user = await authService.validateUser(payload);
|
package/dist/core.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAkE;AAClE,2CAAsH;AACtH,uCAAwC;AACxC,6CAAgD;AAChD,+CAAkD;AAElD,+EAA+E;AAC/E,uEAA4D;AAE5D,qFAA+E;AAC/E,+EAA2E;AAC3E,0EAAsE;AACtE,wEAAoE;AACpE,4EAAwE;AACxE,8EAA0E;AAiBnE,IAAM,UAAU,kBAAhB,MAAM,UAAU;IAIrB,SAAS,CAAC,QAA4B;QACpC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAKD,MAAM,CAAC,OAAO,CAAC,WAAgB,EAAE,UAAe,EAAE,OAAgC;QAEhF,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,OAAO,EAAE,OAAO,EAAE;YACpB,IAAI,GAAG;gBACL,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,IAAI;aACb,CAAC;SACH;QACD,MAAM,MAAM,GAAmB,IAAA,qBAAK,EAClC;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,OAAO,EAAE,CAAC,UAAU,CAAC;oBACrB,MAAM,EAAE,CAAC,WAAW,CAAC;oBACrB,UAAU,EAAE,KAAK,EAAE,WAAgB,EAAE,EAAE,CACrC,MAAM,CAAC,MAAM,CACX;wBACE,cAAc,EAAE,YAAY;wBAC5B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBACzC,IAAI;wBACJ,2BAA2B,EAAE,IAAI;wBACjC,aAAa,EAAE;4BACb,4BAA4B,EAAE;gCAC5B,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;oCACpC,IAAI,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;wCAEzC,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -68,14 +68,16 @@ export * from './core/modules/auth/guards/roles.guard';
|
|
|
68
68
|
export * from './core/modules/auth/inputs/core-auth-sign-in.input';
|
|
69
69
|
export * from './core/modules/auth/inputs/core-auth-sign-up.input';
|
|
70
70
|
export * from './core/modules/auth/interfaces/core-auth-user.interface';
|
|
71
|
+
export * from './core/modules/auth/interfaces/core-token-data.interface';
|
|
71
72
|
export * from './core/modules/auth/interfaces/jwt-payload.interface';
|
|
72
73
|
export * from './core/modules/auth/services/core-auth.service';
|
|
73
74
|
export * from './core/modules/auth/services/core-auth-user.service';
|
|
75
|
+
export * from './core/modules/auth/strategies/jwt.strategy';
|
|
76
|
+
export * from './core/modules/auth/strategies/jwt-refresh.strategy';
|
|
74
77
|
export * from './core/modules/auth/core-auth.model';
|
|
75
78
|
export * from './core/modules/auth/core-auth.module';
|
|
76
79
|
export * from './core/modules/auth/core-auth.resolver';
|
|
77
|
-
export * from './core/modules/auth/
|
|
78
|
-
export * from './core/modules/auth/strategies/jwt-refresh.strategy';
|
|
80
|
+
export * from './core/modules/auth/tokens.decorator';
|
|
79
81
|
export * from './core/modules/file/interfaces/file-service-options.interface';
|
|
80
82
|
export * from './core/modules/file/interfaces/file-upload.interface';
|
|
81
83
|
export * from './core/modules/file/core-file.controller';
|
package/dist/index.js
CHANGED
|
@@ -84,14 +84,16 @@ __exportStar(require("./core/modules/auth/guards/roles.guard"), exports);
|
|
|
84
84
|
__exportStar(require("./core/modules/auth/inputs/core-auth-sign-in.input"), exports);
|
|
85
85
|
__exportStar(require("./core/modules/auth/inputs/core-auth-sign-up.input"), exports);
|
|
86
86
|
__exportStar(require("./core/modules/auth/interfaces/core-auth-user.interface"), exports);
|
|
87
|
+
__exportStar(require("./core/modules/auth/interfaces/core-token-data.interface"), exports);
|
|
87
88
|
__exportStar(require("./core/modules/auth/interfaces/jwt-payload.interface"), exports);
|
|
88
89
|
__exportStar(require("./core/modules/auth/services/core-auth.service"), exports);
|
|
89
90
|
__exportStar(require("./core/modules/auth/services/core-auth-user.service"), exports);
|
|
91
|
+
__exportStar(require("./core/modules/auth/strategies/jwt.strategy"), exports);
|
|
92
|
+
__exportStar(require("./core/modules/auth/strategies/jwt-refresh.strategy"), exports);
|
|
90
93
|
__exportStar(require("./core/modules/auth/core-auth.model"), exports);
|
|
91
94
|
__exportStar(require("./core/modules/auth/core-auth.module"), exports);
|
|
92
95
|
__exportStar(require("./core/modules/auth/core-auth.resolver"), exports);
|
|
93
|
-
__exportStar(require("./core/modules/auth/
|
|
94
|
-
__exportStar(require("./core/modules/auth/strategies/jwt-refresh.strategy"), exports);
|
|
96
|
+
__exportStar(require("./core/modules/auth/tokens.decorator"), exports);
|
|
95
97
|
__exportStar(require("./core/modules/file/interfaces/file-service-options.interface"), exports);
|
|
96
98
|
__exportStar(require("./core/modules/file/interfaces/file-upload.interface"), exports);
|
|
97
99
|
__exportStar(require("./core/modules/file/core-file.controller"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,sEAAoD;AACpD,kFAAgE;AAChE,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,kEAAgD;AAChD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD;AACnD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,wFAAsE;AACtE,4FAA0E;AAC1E,qFAAmE;AACnE,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,0EAAwD;AACxD,2EAAyD;AACzD,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,gFAA8D;AAC9D,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,kFAAgE;AAChE,iEAA+C;AAC/C,2EAAyD;AACzD,+DAA6C;AAC7C,yEAAuD;AACvD,uEAAqD;AACrD,wEAAsD;AACtD,0EAAwD;AACxD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAM7D,wEAAsD;AACtD,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,0FAAwE;AACxE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,sEAAoD;AACpD,kFAAgE;AAChE,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,kEAAgD;AAChD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD;AACnD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,wFAAsE;AACtE,4FAA0E;AAC1E,qFAAmE;AACnE,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,0EAAwD;AACxD,2EAAyD;AACzD,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,gFAA8D;AAC9D,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,kFAAgE;AAChE,iEAA+C;AAC/C,2EAAyD;AACzD,+DAA6C;AAC7C,yEAAuD;AACvD,uEAAqD;AACrD,wEAAsD;AACtD,0EAAwD;AACxD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAM7D,wEAAsD;AACtD,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,0FAAwE;AACxE,2FAAyE;AACzE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,8EAA4D;AAC5D,sFAAoE;AACpE,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,uEAAqD;AAMrD,gGAA8E;AAC9E,uFAAqE;AACrE,2EAAyD;AACzD,yEAAuD;AACvD,wEAAsD;AACtD,2EAAyD;AAMzD,6EAA2D;AAC3D,oFAAkE;AAClE,sEAAoD;AACpD,wEAAsD;AAMtD,qDAAmC"}
|