@ackplus/nest-auth 0.1.46 → 0.1.47
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/package.json +1 -1
- package/src/lib/auth/dto/requests/signup.request.dto.d.ts +1 -0
- package/src/lib/auth/dto/requests/signup.request.dto.js.map +1 -1
- package/src/lib/auth/guards/auth.guard.d.ts +1 -0
- package/src/lib/auth/guards/auth.guard.js +149 -57
- package/src/lib/auth/guards/auth.guard.js.map +1 -1
- package/src/lib/core/decorators/auth.decorator.d.ts +1 -0
- package/src/lib/core/decorators/auth.decorator.js +8 -0
- package/src/lib/core/decorators/auth.decorator.js.map +1 -0
- package/src/lib/core/index.d.ts +1 -0
- package/src/lib/core/index.js +1 -0
- package/src/lib/core/index.js.map +1 -1
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.request.dto.js","sourceRoot":"","sources":["../../../../../../../../packages/nest-auth/src/lib/auth/dto/requests/signup.request.dto.ts"],"names":[],"mappings":";;;;AAAA,qDAAmG;AACnG,6CAAmE;AAEnE,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"signup.request.dto.js","sourceRoot":"","sources":["../../../../../../../../packages/nest-auth/src/lib/auth/dto/requests/signup.request.dto.ts"],"names":[],"mappings":";;;;AAAA,qDAAmG;AACnG,6CAAmE;AAEnE,MAAa,gBAAgB;CAyB5B;AAzBD,4CAyBC;AAlBG;IAJC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnE,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzB,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;+CACE;AAMf;IAJC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClE,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzB,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+CACE;AAMf;IAJC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;IAChE,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,CAAC,CAAC;;kDACI;AAKjB;IAHC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC;IACxF,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACK"}
|
|
@@ -5,6 +5,7 @@ import { AuthService } from '../services/auth.service';
|
|
|
5
5
|
import { BaseSessionService } from '../../session/services/base-session.service';
|
|
6
6
|
import { CookieService } from '../services/cookie.service';
|
|
7
7
|
import { AccessKeyService } from '../../user/services/access-key.service';
|
|
8
|
+
export declare const OPTIONAL_AUTH_KEY = "optional_auth";
|
|
8
9
|
export declare class NestAuthAuthGuard implements CanActivate {
|
|
9
10
|
private reflector;
|
|
10
11
|
private jwtService;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NestAuthAuthGuard = void 0;
|
|
3
|
+
exports.NestAuthAuthGuard = exports.OPTIONAL_AUTH_KEY = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const auth_constants_1 = require("../../auth.constants");
|
|
@@ -13,6 +13,7 @@ const access_key_service_1 = require("../../user/services/access-key.service");
|
|
|
13
13
|
const skip_mfa_decorator_1 = require("../../core/decorators/skip-mfa.decorator");
|
|
14
14
|
const permissions_decorator_1 = require("../../core/decorators/permissions.decorator");
|
|
15
15
|
const role_decorator_1 = require("../../core/decorators/role.decorator");
|
|
16
|
+
exports.OPTIONAL_AUTH_KEY = 'optional_auth';
|
|
16
17
|
let NestAuthAuthGuard = class NestAuthAuthGuard {
|
|
17
18
|
constructor(reflector, jwtService, authService, sessionService, cookieService, accessKeyService) {
|
|
18
19
|
this.reflector = reflector;
|
|
@@ -25,86 +26,172 @@ let NestAuthAuthGuard = class NestAuthAuthGuard {
|
|
|
25
26
|
async canActivate(context) {
|
|
26
27
|
const request = context.switchToHttp().getRequest();
|
|
27
28
|
const response = context.switchToHttp().getResponse();
|
|
29
|
+
const isOptional = this.reflector.getAllAndOverride(exports.OPTIONAL_AUTH_KEY, [
|
|
30
|
+
context.getHandler(),
|
|
31
|
+
context.getClass(),
|
|
32
|
+
]);
|
|
33
|
+
request['user'] = null;
|
|
34
|
+
request['session'] = null;
|
|
35
|
+
request['accessKey'] = null;
|
|
36
|
+
request['authType'] = null;
|
|
28
37
|
const authHeader = request.headers.authorization;
|
|
29
38
|
if (!authHeader) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
39
|
+
if (isOptional) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
throw new common_1.UnauthorizedException({
|
|
44
|
+
message: 'No authentication provided',
|
|
45
|
+
code: 'NO_AUTH'
|
|
46
|
+
});
|
|
47
|
+
}
|
|
34
48
|
}
|
|
35
49
|
const [type, token] = authHeader.split(' ');
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
case 'apikey':
|
|
42
|
-
isAuthenticated = await this.handleApiKeyAuth(request, token);
|
|
43
|
-
break;
|
|
44
|
-
default:
|
|
50
|
+
if (!type || !token) {
|
|
51
|
+
if (isOptional) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
45
55
|
throw new common_1.UnauthorizedException({
|
|
46
|
-
message: 'Invalid authentication
|
|
47
|
-
code: '
|
|
56
|
+
message: 'Invalid authentication format',
|
|
57
|
+
code: 'INVALID_AUTH_FORMAT'
|
|
48
58
|
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
let isAuthenticated = false;
|
|
62
|
+
try {
|
|
63
|
+
switch (type.toLowerCase()) {
|
|
64
|
+
case 'bearer':
|
|
65
|
+
isAuthenticated = await this.handleJwtAuth(context, request, response, token, isOptional);
|
|
66
|
+
break;
|
|
67
|
+
case 'apikey':
|
|
68
|
+
isAuthenticated = await this.handleApiKeyAuth(request, token, isOptional);
|
|
69
|
+
break;
|
|
70
|
+
default:
|
|
71
|
+
if (isOptional) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
throw new common_1.UnauthorizedException({
|
|
76
|
+
message: 'Invalid authentication type',
|
|
77
|
+
code: 'INVALID_AUTH_TYPE'
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
if (isOptional) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
49
89
|
}
|
|
50
|
-
if (!isAuthenticated) {
|
|
90
|
+
if (!isAuthenticated && !isOptional) {
|
|
51
91
|
return false;
|
|
52
92
|
}
|
|
53
|
-
|
|
93
|
+
if (isAuthenticated && request['user']) {
|
|
94
|
+
await this.checkAuthorization(context, request);
|
|
95
|
+
}
|
|
54
96
|
return true;
|
|
55
97
|
}
|
|
56
|
-
async handleJwtAuth(context, request, response, token) {
|
|
98
|
+
async handleJwtAuth(context, request, response, token, isOptional = false) {
|
|
57
99
|
try {
|
|
58
100
|
const payload = await this.jwtService.verifyToken(token);
|
|
59
101
|
request['user'] = payload;
|
|
60
102
|
request['authType'] = 'jwt';
|
|
61
103
|
const session = await this.sessionService.getSession(payload.sessionId);
|
|
62
104
|
if (!session) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
105
|
+
if (isOptional) {
|
|
106
|
+
request['user'] = null;
|
|
107
|
+
request['authType'] = null;
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
throw new common_1.UnauthorizedException({
|
|
112
|
+
message: 'Session not found',
|
|
113
|
+
code: auth_constants_1.UNAUTHORIZED_EXCEPTION_CODE
|
|
114
|
+
});
|
|
115
|
+
}
|
|
67
116
|
}
|
|
68
117
|
request['session'] = session;
|
|
69
|
-
await this.checkMfa(context, payload);
|
|
118
|
+
await this.checkMfa(context, payload, isOptional);
|
|
70
119
|
return true;
|
|
71
120
|
}
|
|
72
121
|
catch (error) {
|
|
73
122
|
const refreshToken = this.extractRefreshToken(request);
|
|
74
123
|
if (!refreshToken) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
124
|
+
if (isOptional) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
throw new common_1.UnauthorizedException({
|
|
129
|
+
message: 'Invalid token',
|
|
130
|
+
code: auth_constants_1.UNAUTHORIZED_EXCEPTION_CODE
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
const newSession = await this.authService.refreshToken(refreshToken);
|
|
136
|
+
this.cookieService.setTokens(response, newSession.accessToken, newSession.refreshToken);
|
|
137
|
+
const payload = await this.jwtService.verifyToken(newSession.accessToken);
|
|
138
|
+
request['user'] = payload;
|
|
139
|
+
request['session'] = newSession;
|
|
140
|
+
request['authType'] = 'jwt';
|
|
141
|
+
await this.checkMfa(context, payload, isOptional);
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
catch (refreshError) {
|
|
145
|
+
if (isOptional) {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
throw refreshError;
|
|
150
|
+
}
|
|
79
151
|
}
|
|
80
|
-
const newSession = await this.authService.refreshToken(refreshToken);
|
|
81
|
-
this.cookieService.setTokens(response, newSession.accessToken, newSession.refreshToken);
|
|
82
|
-
const payload = await this.jwtService.verifyToken(newSession.accessToken);
|
|
83
|
-
await this.checkMfa(context, payload);
|
|
84
|
-
return true;
|
|
85
152
|
}
|
|
86
153
|
}
|
|
87
|
-
async handleApiKeyAuth(request, token) {
|
|
154
|
+
async handleApiKeyAuth(request, token, isOptional = false) {
|
|
88
155
|
const [publicKey, privateKey] = token.split('.');
|
|
89
156
|
if (!publicKey || !privateKey) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
157
|
+
if (isOptional) {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
throw new common_1.UnauthorizedException({
|
|
162
|
+
message: 'Invalid API key format',
|
|
163
|
+
code: 'INVALID_API_KEY_FORMAT'
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
try {
|
|
168
|
+
const isValid = await this.accessKeyService.validateAccessKey(publicKey, privateKey);
|
|
169
|
+
if (!isValid) {
|
|
170
|
+
if (isOptional) {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
throw new common_1.UnauthorizedException({
|
|
175
|
+
message: 'Invalid API key',
|
|
176
|
+
code: 'INVALID_API_KEY'
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
const accessKey = await this.accessKeyService.getAccessKey(publicKey);
|
|
181
|
+
await this.accessKeyService.updateAccessKeyLastUsed(publicKey);
|
|
182
|
+
request['user'] = accessKey.user;
|
|
183
|
+
request['accessKey'] = accessKey;
|
|
184
|
+
request['authType'] = 'api-key';
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
if (isOptional) {
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
throw error;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
108
195
|
}
|
|
109
196
|
extractRefreshToken(request) {
|
|
110
197
|
const tokenFromCookie = request.cookies?.[auth_constants_1.REFRESH_TOKEN_COOKIE_NAME];
|
|
@@ -117,7 +204,7 @@ let NestAuthAuthGuard = class NestAuthAuthGuard {
|
|
|
117
204
|
}
|
|
118
205
|
return null;
|
|
119
206
|
}
|
|
120
|
-
async checkMfa(context, payload) {
|
|
207
|
+
async checkMfa(context, payload, isOptional = false) {
|
|
121
208
|
const skipMfa = this.reflector.getAllAndOverride(skip_mfa_decorator_1.SKIP_MFA_KEY, [
|
|
122
209
|
context.getHandler(),
|
|
123
210
|
context.getClass(),
|
|
@@ -125,10 +212,15 @@ let NestAuthAuthGuard = class NestAuthAuthGuard {
|
|
|
125
212
|
const isMfaEnabled = payload.isMfaEnabled;
|
|
126
213
|
const isMfaVerified = payload.isMfaVerified;
|
|
127
214
|
if (isMfaEnabled && !isMfaVerified && !skipMfa) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
215
|
+
if (isOptional) {
|
|
216
|
+
throw new Error('MFA verification required - cannot proceed with optional auth');
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
throw new common_1.UnauthorizedException({
|
|
220
|
+
message: 'Multi-factor authentication is required',
|
|
221
|
+
code: auth_constants_1.UNAUTHORIZED_EXCEPTION_CODE
|
|
222
|
+
});
|
|
223
|
+
}
|
|
132
224
|
}
|
|
133
225
|
}
|
|
134
226
|
async checkAuthorization(context, request) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../../../../packages/nest-auth/src/lib/auth/guards/auth.guard.ts"],"names":[],"mappings":";;;;AAAA,2CAAsH;AACtH,yDAA8F;AAC9F,uCAAyC;AAEzC,iEAA6D;AAC7D,2DAAuD;AACvD,sFAAiF;AACjF,+DAA2D;AAC3D,+EAA0E;AAE1E,iFAAwE;AACxE,uFAA8E;AAC9E,yEAAiE;
|
|
1
|
+
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../../../../packages/nest-auth/src/lib/auth/guards/auth.guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Auth: (optional?: boolean) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Auth = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const auth_guard_1 = require("../../auth/guards/auth.guard");
|
|
6
|
+
const Auth = (optional = false) => (0, common_1.applyDecorators)((0, common_1.SetMetadata)(auth_guard_1.OPTIONAL_AUTH_KEY, optional), (0, common_1.UseGuards)(auth_guard_1.NestAuthAuthGuard));
|
|
7
|
+
exports.Auth = Auth;
|
|
8
|
+
//# sourceMappingURL=auth.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.decorator.js","sourceRoot":"","sources":["../../../../../../../packages/nest-auth/src/lib/core/decorators/auth.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAyE;AACzE,6DAAoF;AAiC7E,MAAM,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAE,EAAE,CAAC,IAAA,wBAAe,EAC9D,IAAA,oBAAW,EAAC,8BAAiB,EAAE,QAAQ,CAAC,EACxC,IAAA,kBAAS,EAAC,8BAAiB,CAAC,CAC/B,CAAC;AAHW,QAAA,IAAI,QAGf"}
|
package/src/lib/core/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './decorators/role.decorator';
|
|
2
2
|
export * from './decorators/permissions.decorator';
|
|
3
3
|
export * from './decorators/skip-mfa.decorator';
|
|
4
|
+
export * from './decorators/auth.decorator';
|
|
4
5
|
export * from './interfaces/auth-module-options.interface';
|
|
5
6
|
export * from './interfaces/mfa-options.interface';
|
|
6
7
|
export * from './interfaces/session-options.interface';
|
package/src/lib/core/index.js
CHANGED
|
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./decorators/role.decorator"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./decorators/permissions.decorator"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./decorators/skip-mfa.decorator"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./decorators/auth.decorator"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./interfaces/auth-module-options.interface"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./interfaces/mfa-options.interface"), exports);
|
|
9
10
|
tslib_1.__exportStar(require("./interfaces/session-options.interface"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/nest-auth/src/lib/core/index.ts"],"names":[],"mappings":";;;AACA,sEAA4C;AAC5C,6EAAmD;AACnD,0EAAgD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/nest-auth/src/lib/core/index.ts"],"names":[],"mappings":";;;AACA,sEAA4C;AAC5C,6EAAmD;AACnD,0EAAgD;AAChD,sEAA4C;AAG5C,qFAA2D;AAC3D,6EAAmD;AACnD,iFAAuD;AACvD,+EAAqD;AAGrD,qDAA2B;AAG3B,qEAA2C;AAI3C,qFAA2D;AAC3D,6EAAmD;AACnD,iFAAuD;AACvD,+EAAqD;AACrD,qEAA2C;AAG3C,0EAAgD;AAChD,0EAAgD;AAChD,wEAA8C;AAC9C,2EAAiD;AACjD,6EAAmD;AACnD,0EAAgD;AAIhD,oFAA0D;AAC1D,iEAAuC"}
|