@vynelix/nestjs-multi-auth 0.2.2 → 0.3.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/CHANGELOG.md +6 -0
- package/dist/auth/auth.service.d.ts +15 -1
- package/dist/auth/auth.service.js +85 -15
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/entities/session_log.entity.d.ts +31 -0
- package/dist/auth/entities/session_log.entity.js +85 -0
- package/dist/auth/entities/session_log.entity.js.map +1 -0
- package/dist/auth/interfaces/auth-module-options.interface.d.ts +5 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
# v0.3.0
|
|
2
|
+
## Added Session Log (Optional)
|
|
3
|
+
1. Added `createSessionLogOnInvalid` flag to the module config options to enable session logs
|
|
4
|
+
[Optional]: Defaults to `false`. Set to `true` if you want session log table and records populated to your database.
|
|
5
|
+
2. Also added some methods for session management
|
|
6
|
+
|
|
1
7
|
# v0.2.2
|
|
2
8
|
## Fixed Namespace bug
|
|
3
9
|
Fixed token refresh bug which was falsely throwing `Namespace mismatch` error.
|
|
@@ -18,11 +18,13 @@ import { UpdatePasswordDto } from './dto/requests/update-password.dto';
|
|
|
18
18
|
import { MagicLinkRequestDto, MagicLinkVerifyDto } from './dto/requests/magic-link.dto';
|
|
19
19
|
import { SecureAccountDto } from './dto/requests/secure-account.dto';
|
|
20
20
|
import { AuthIdentifier } from './entities/auth-identify.entity';
|
|
21
|
+
import { SessionLog } from './entities/session_log.entity';
|
|
21
22
|
export declare class AuthService {
|
|
22
23
|
private jwtService;
|
|
23
24
|
private passwordStrategy;
|
|
24
25
|
private oauthStrategy;
|
|
25
26
|
private sessionRepository;
|
|
27
|
+
private sessionLogRepo;
|
|
26
28
|
private authRepo;
|
|
27
29
|
private otpRepo;
|
|
28
30
|
private mfaRepo;
|
|
@@ -30,10 +32,14 @@ export declare class AuthService {
|
|
|
30
32
|
private notificationProvider?;
|
|
31
33
|
private readonly eventEmitter?;
|
|
32
34
|
private readonly logger;
|
|
33
|
-
|
|
35
|
+
private readonly createSessionLog;
|
|
36
|
+
constructor(jwtService: JwtService, passwordStrategy: LocalAuthStrategy, oauthStrategy: OAuthAuthStrategy, sessionRepository: Repository<Session>, sessionLogRepo: Repository<SessionLog>, authRepo: Repository<Auth>, otpRepo: Repository<OtpToken>, mfaRepo: Repository<MfaMethod>, options: AuthModuleOptions, notificationProvider?: AuthNotificationProvider, eventEmitter?: EventEmitter2);
|
|
34
37
|
private generateTokens;
|
|
35
38
|
private fingerprint;
|
|
36
39
|
private createSession;
|
|
40
|
+
private createSessionLogFromSessionIfEnabled;
|
|
41
|
+
private invalidateSession;
|
|
42
|
+
private invalidateSessions;
|
|
37
43
|
signup({ dto, uid, userAgent, ip, namespace }: {
|
|
38
44
|
dto: SignupDto;
|
|
39
45
|
uid?: string;
|
|
@@ -210,4 +216,12 @@ export declare class AuthService {
|
|
|
210
216
|
uid: string;
|
|
211
217
|
namespace?: string;
|
|
212
218
|
}): Promise<Session[]>;
|
|
219
|
+
getSession(id: string): Promise<Session>;
|
|
220
|
+
revokeSession({ sessionId }: {
|
|
221
|
+
sessionId: string;
|
|
222
|
+
}): Promise<void>;
|
|
223
|
+
getSessionLogs({ uid, namespace }: {
|
|
224
|
+
uid: string;
|
|
225
|
+
namespace: string;
|
|
226
|
+
}): Promise<SessionLog[]>;
|
|
213
227
|
}
|
|
@@ -34,12 +34,14 @@ const crypto = require("crypto");
|
|
|
34
34
|
const duration_util_1 = require("./utils/duration.util");
|
|
35
35
|
const auth_mapper_1 = require("./core/auth-mapper");
|
|
36
36
|
const auth_events_1 = require("./enums/auth.events");
|
|
37
|
+
const session_log_entity_1 = require("./entities/session_log.entity");
|
|
37
38
|
let AuthService = AuthService_1 = class AuthService {
|
|
38
|
-
constructor(jwtService, passwordStrategy, oauthStrategy, sessionRepository, authRepo, otpRepo, mfaRepo, options, notificationProvider, eventEmitter) {
|
|
39
|
+
constructor(jwtService, passwordStrategy, oauthStrategy, sessionRepository, sessionLogRepo, authRepo, otpRepo, mfaRepo, options, notificationProvider, eventEmitter) {
|
|
39
40
|
this.jwtService = jwtService;
|
|
40
41
|
this.passwordStrategy = passwordStrategy;
|
|
41
42
|
this.oauthStrategy = oauthStrategy;
|
|
42
43
|
this.sessionRepository = sessionRepository;
|
|
44
|
+
this.sessionLogRepo = sessionLogRepo;
|
|
43
45
|
this.authRepo = authRepo;
|
|
44
46
|
this.otpRepo = otpRepo;
|
|
45
47
|
this.mfaRepo = mfaRepo;
|
|
@@ -47,6 +49,7 @@ let AuthService = AuthService_1 = class AuthService {
|
|
|
47
49
|
this.notificationProvider = notificationProvider;
|
|
48
50
|
this.eventEmitter = eventEmitter;
|
|
49
51
|
this.logger = new common_1.Logger(AuthService_1.name);
|
|
52
|
+
this.createSessionLog = this.options.createSessionLogOnInvalid ?? true;
|
|
50
53
|
}
|
|
51
54
|
// --- INTERNAL HELPER: Generate Token Pair ---
|
|
52
55
|
async generateTokens(uid, sessionId, namespace) {
|
|
@@ -111,6 +114,53 @@ let AuthService = AuthService_1 = class AuthService {
|
|
|
111
114
|
await this.sessionRepository.save(session);
|
|
112
115
|
return tokens;
|
|
113
116
|
}
|
|
117
|
+
async createSessionLogFromSessionIfEnabled({ event, reason, session, }) {
|
|
118
|
+
if (!this.createSessionLog)
|
|
119
|
+
return;
|
|
120
|
+
const sessionLog = this.sessionLogRepo.create({
|
|
121
|
+
...session,
|
|
122
|
+
sessionId: session.id,
|
|
123
|
+
event,
|
|
124
|
+
reason,
|
|
125
|
+
});
|
|
126
|
+
await this.sessionLogRepo.save(sessionLog);
|
|
127
|
+
}
|
|
128
|
+
async invalidateSession({ session, sessionId, event, reason, }) {
|
|
129
|
+
if (!session && !sessionId) {
|
|
130
|
+
throw new Error("Either session or sessionId must be provided.");
|
|
131
|
+
}
|
|
132
|
+
if (!session) {
|
|
133
|
+
session = await this.sessionRepository.findOneByOrFail({ id: sessionId });
|
|
134
|
+
}
|
|
135
|
+
await this.createSessionLogFromSessionIfEnabled({
|
|
136
|
+
session,
|
|
137
|
+
event,
|
|
138
|
+
reason,
|
|
139
|
+
});
|
|
140
|
+
await this.sessionRepository.delete(session.id);
|
|
141
|
+
}
|
|
142
|
+
async invalidateSessions({ uid, event, reason, }) {
|
|
143
|
+
await this.sessionRepository.manager.transaction(async (manager) => {
|
|
144
|
+
const sessions = await manager.find(session_entity_1.Session, {
|
|
145
|
+
where: { uid },
|
|
146
|
+
});
|
|
147
|
+
if (sessions.length === 0) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
if (this.createSessionLog) {
|
|
151
|
+
const logs = sessions.map((session) => this.sessionLogRepo.create({
|
|
152
|
+
...session,
|
|
153
|
+
sessionId: session.id,
|
|
154
|
+
event,
|
|
155
|
+
reason,
|
|
156
|
+
}));
|
|
157
|
+
await manager.save(logs);
|
|
158
|
+
}
|
|
159
|
+
await manager.delete(session_entity_1.Session, {
|
|
160
|
+
uid,
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
}
|
|
114
164
|
async signup({ dto, uid, userAgent, ip, namespace }) {
|
|
115
165
|
if (!dto.method)
|
|
116
166
|
throw new common_1.BadRequestException('Method is required');
|
|
@@ -390,29 +440,33 @@ let AuthService = AuthService_1 = class AuthService {
|
|
|
390
440
|
'expiresAt',
|
|
391
441
|
'deviceFingerprint',
|
|
392
442
|
'ipAddress',
|
|
443
|
+
'namespace',
|
|
393
444
|
],
|
|
394
445
|
});
|
|
446
|
+
if (this.options.debug) {
|
|
447
|
+
this.logger.debug(`Namespace from JWT: ${payload.namespace}, Namespace passed to refresh method: ${namespace}, Where clause: ${JSON.stringify(whereClause)}`);
|
|
448
|
+
}
|
|
395
449
|
if (!session)
|
|
396
450
|
throw new common_1.ForbiddenException('Session not found');
|
|
397
451
|
const incomingFingerprint = this.fingerprint(currentUserAgent);
|
|
398
452
|
if (session.deviceFingerprint !== incomingFingerprint) {
|
|
399
|
-
|
|
453
|
+
this.invalidateSession({ session, event: session_log_entity_1.SessionEvent.REVOKE, reason: 'Device mismatch during refresh' });
|
|
400
454
|
throw new common_1.ForbiddenException('Device mismatch');
|
|
401
455
|
}
|
|
402
456
|
if (session.namespace !== namespace && session.namespace !== resolvedNamespace) {
|
|
403
457
|
if (this.options.debug) {
|
|
404
458
|
this.logger.debug(`Namespace provided: ${namespace}, Session namespace: ${session.namespace}.\nNamespace mismatch: ${session.namespace !== namespace}`);
|
|
405
459
|
}
|
|
406
|
-
|
|
460
|
+
this.invalidateSession({ session, event: session_log_entity_1.SessionEvent.REVOKE, reason: 'Namespace mismatch during refresh' });
|
|
407
461
|
throw new common_1.ForbiddenException("Namespace mismatch");
|
|
408
462
|
}
|
|
409
463
|
if (new Date() > session.expiresAt) {
|
|
410
|
-
|
|
464
|
+
this.invalidateSession({ session, event: session_log_entity_1.SessionEvent.EXPIRE, reason: 'Session expired during refresh' });
|
|
411
465
|
throw new common_1.ForbiddenException('Session expired');
|
|
412
466
|
}
|
|
413
467
|
const isMatch = await bcrypt.compare(refreshToken, session.refreshTokenHash);
|
|
414
468
|
if (!isMatch) {
|
|
415
|
-
|
|
469
|
+
this.invalidateSession({ session, event: session_log_entity_1.SessionEvent.REVOKE, reason: 'Invalid refresh token during refresh' });
|
|
416
470
|
throw new common_1.ForbiddenException('Invalid refresh token');
|
|
417
471
|
}
|
|
418
472
|
const tokens = await this.generateTokens(session.uid, session.id, namespace);
|
|
@@ -444,7 +498,7 @@ let AuthService = AuthService_1 = class AuthService {
|
|
|
444
498
|
const payload = this.jwtService.decode(refreshToken);
|
|
445
499
|
if (payload?.sessionId) {
|
|
446
500
|
const session = await this.sessionRepository.findOne({ where: { id: payload.sessionId } });
|
|
447
|
-
|
|
501
|
+
this.invalidateSession({ session, event: session_log_entity_1.SessionEvent.LOGOUT, reason: 'User logout' });
|
|
448
502
|
if (session && this.eventEmitter) {
|
|
449
503
|
this.eventEmitter.emit(auth_events_1.AuthEvents.LOGOUT, { uid: session.uid });
|
|
450
504
|
}
|
|
@@ -517,7 +571,7 @@ let AuthService = AuthService_1 = class AuthService {
|
|
|
517
571
|
otp.isUsed = true;
|
|
518
572
|
await this.otpRepo.save(otp);
|
|
519
573
|
// Security: Invalidate all sessions
|
|
520
|
-
await this.
|
|
574
|
+
await this.invalidateSessions({ uid: dto.uid, event: session_log_entity_1.SessionEvent.REVOKE, reason: 'User reset password' });
|
|
521
575
|
if (this.eventEmitter) {
|
|
522
576
|
const auth = await this.authRepo.findOne({ where: { uid: dto.uid } });
|
|
523
577
|
this.eventEmitter.emit(auth_events_1.AuthEvents.PASSWORD_RESET, { auth });
|
|
@@ -584,7 +638,7 @@ let AuthService = AuthService_1 = class AuthService {
|
|
|
584
638
|
// 1. Lock all auth methods
|
|
585
639
|
await this.authRepo.update({ uid: dto.uid }, { isActive: false });
|
|
586
640
|
// 2. Invalidate sessions
|
|
587
|
-
|
|
641
|
+
this.invalidateSessions({ uid: dto.uid, event: session_log_entity_1.SessionEvent.REVOKE, reason: 'User secured account by invalidating all sessions' });
|
|
588
642
|
// 3. Mark OTP as used
|
|
589
643
|
otp.isUsed = true;
|
|
590
644
|
await this.otpRepo.save(otp);
|
|
@@ -723,7 +777,7 @@ let AuthService = AuthService_1 = class AuthService {
|
|
|
723
777
|
}
|
|
724
778
|
async deleteAccount(uid) {
|
|
725
779
|
// 1. Delete all sessions for this UID
|
|
726
|
-
await this.
|
|
780
|
+
await this.invalidateSessions({ uid, event: session_log_entity_1.SessionEvent.DELETE, reason: 'User deleted account' });
|
|
727
781
|
// 2. Delete all MFA methods for this UID
|
|
728
782
|
await this.mfaRepo.delete({ uid });
|
|
729
783
|
// 3. Delete all OTP tokens requested by this UID
|
|
@@ -770,6 +824,20 @@ let AuthService = AuthService_1 = class AuthService {
|
|
|
770
824
|
const sessions = this.sessionRepository.find({ where: whereClause, relations: [] });
|
|
771
825
|
return (await sessions).map((d) => Object.assign(new session_entity_1.Session(), d.toMap()));
|
|
772
826
|
}
|
|
827
|
+
async getSession(id) {
|
|
828
|
+
return this.sessionRepository.findOne({ where: { id } });
|
|
829
|
+
}
|
|
830
|
+
async revokeSession({ sessionId }) {
|
|
831
|
+
await this.invalidateSession({ sessionId, event: session_log_entity_1.SessionEvent.REVOKE, reason: 'User requested session revoke' });
|
|
832
|
+
}
|
|
833
|
+
async getSessionLogs({ uid, namespace }) {
|
|
834
|
+
const whereClause = { uid };
|
|
835
|
+
if (typeof namespace === "string") {
|
|
836
|
+
whereClause.namespace = namespace;
|
|
837
|
+
}
|
|
838
|
+
const sessions = this.sessionLogRepo.find({ where: whereClause, relations: [] });
|
|
839
|
+
return (await sessions).map((d) => Object.assign(new session_log_entity_1.SessionLog(), d.toMap()));
|
|
840
|
+
}
|
|
773
841
|
};
|
|
774
842
|
exports.AuthService = AuthService;
|
|
775
843
|
exports.AuthService = AuthService = AuthService_1 = __decorate([
|
|
@@ -777,19 +845,21 @@ exports.AuthService = AuthService = AuthService_1 = __decorate([
|
|
|
777
845
|
__param(1, (0, common_1.Optional)()),
|
|
778
846
|
__param(2, (0, common_1.Optional)()),
|
|
779
847
|
__param(3, (0, typeorm_1.InjectRepository)(session_entity_1.Session)),
|
|
780
|
-
__param(4, (0, typeorm_1.InjectRepository)(
|
|
781
|
-
__param(5, (0, typeorm_1.InjectRepository)(
|
|
782
|
-
__param(6, (0, typeorm_1.InjectRepository)(
|
|
783
|
-
__param(7, (0,
|
|
784
|
-
__param(8, (0, common_1.
|
|
785
|
-
__param(8, (0, common_1.Inject)(auth_notification_provider_interface_1.AUTH_NOTIFICATION_PROVIDER)),
|
|
848
|
+
__param(4, (0, typeorm_1.InjectRepository)(session_log_entity_1.SessionLog)),
|
|
849
|
+
__param(5, (0, typeorm_1.InjectRepository)(auth_entity_1.Auth)),
|
|
850
|
+
__param(6, (0, typeorm_1.InjectRepository)(otp_token_entity_1.OtpToken)),
|
|
851
|
+
__param(7, (0, typeorm_1.InjectRepository)(mfa_method_entity_1.MfaMethod)),
|
|
852
|
+
__param(8, (0, common_1.Inject)(auth_module_options_interface_1.AUTH_MODULE_OPTIONS)),
|
|
786
853
|
__param(9, (0, common_1.Optional)()),
|
|
854
|
+
__param(9, (0, common_1.Inject)(auth_notification_provider_interface_1.AUTH_NOTIFICATION_PROVIDER)),
|
|
855
|
+
__param(10, (0, common_1.Optional)()),
|
|
787
856
|
__metadata("design:paramtypes", [jwt_1.JwtService,
|
|
788
857
|
local_auth_strategy_1.LocalAuthStrategy,
|
|
789
858
|
oauth_strategy_1.OAuthAuthStrategy,
|
|
790
859
|
typeorm_2.Repository,
|
|
791
860
|
typeorm_2.Repository,
|
|
792
861
|
typeorm_2.Repository,
|
|
862
|
+
typeorm_2.Repository,
|
|
793
863
|
typeorm_2.Repository, Object, Object, event_emitter_1.EventEmitter2])
|
|
794
864
|
], AuthService);
|
|
795
865
|
//# sourceMappingURL=auth.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare enum SessionEvent {
|
|
2
|
+
LOGIN = 0,
|
|
3
|
+
LOGOUT = 1,
|
|
4
|
+
REVOKE = 2,
|
|
5
|
+
EXPIRE = 3,
|
|
6
|
+
DELETE = 4
|
|
7
|
+
}
|
|
8
|
+
export declare class SessionLog {
|
|
9
|
+
id: string;
|
|
10
|
+
sessionId: string;
|
|
11
|
+
uid: string;
|
|
12
|
+
namespace: string;
|
|
13
|
+
event: SessionEvent;
|
|
14
|
+
userAgent: string;
|
|
15
|
+
deviceFingerprint: string;
|
|
16
|
+
ipAddress: string;
|
|
17
|
+
timestamp: Date;
|
|
18
|
+
reason?: string;
|
|
19
|
+
toMap(): {
|
|
20
|
+
id: string;
|
|
21
|
+
uid: string;
|
|
22
|
+
sessionId: string;
|
|
23
|
+
event: SessionEvent;
|
|
24
|
+
userAgent: string;
|
|
25
|
+
deviceFingerprint: string;
|
|
26
|
+
ipAddress: string;
|
|
27
|
+
timestamp: Date;
|
|
28
|
+
reason: string;
|
|
29
|
+
namespace: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SessionLog = exports.SessionEvent = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
var SessionEvent;
|
|
15
|
+
(function (SessionEvent) {
|
|
16
|
+
SessionEvent[SessionEvent["LOGIN"] = 0] = "LOGIN";
|
|
17
|
+
SessionEvent[SessionEvent["LOGOUT"] = 1] = "LOGOUT";
|
|
18
|
+
SessionEvent[SessionEvent["REVOKE"] = 2] = "REVOKE";
|
|
19
|
+
SessionEvent[SessionEvent["EXPIRE"] = 3] = "EXPIRE";
|
|
20
|
+
SessionEvent[SessionEvent["DELETE"] = 4] = "DELETE";
|
|
21
|
+
})(SessionEvent || (exports.SessionEvent = SessionEvent = {}));
|
|
22
|
+
let SessionLog = class SessionLog {
|
|
23
|
+
toMap() {
|
|
24
|
+
return {
|
|
25
|
+
id: this.id,
|
|
26
|
+
uid: this.uid,
|
|
27
|
+
sessionId: this.sessionId,
|
|
28
|
+
event: this.event,
|
|
29
|
+
userAgent: this.userAgent,
|
|
30
|
+
deviceFingerprint: this.deviceFingerprint,
|
|
31
|
+
ipAddress: this.ipAddress,
|
|
32
|
+
timestamp: this.timestamp,
|
|
33
|
+
reason: this.reason,
|
|
34
|
+
namespace: this.namespace,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.SessionLog = SessionLog;
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
41
|
+
__metadata("design:type", String)
|
|
42
|
+
], SessionLog.prototype, "id", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, typeorm_1.Column)('uuid'),
|
|
45
|
+
(0, typeorm_1.Index)(),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], SessionLog.prototype, "sessionId", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, typeorm_1.Column)('uuid'),
|
|
50
|
+
(0, typeorm_1.Index)(),
|
|
51
|
+
__metadata("design:type", String)
|
|
52
|
+
], SessionLog.prototype, "uid", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
55
|
+
(0, typeorm_1.Index)(),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], SessionLog.prototype, "namespace", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, typeorm_1.Column)(),
|
|
60
|
+
__metadata("design:type", Number)
|
|
61
|
+
], SessionLog.prototype, "event", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
64
|
+
__metadata("design:type", String)
|
|
65
|
+
], SessionLog.prototype, "userAgent", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
68
|
+
__metadata("design:type", String)
|
|
69
|
+
], SessionLog.prototype, "deviceFingerprint", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
72
|
+
__metadata("design:type", String)
|
|
73
|
+
], SessionLog.prototype, "ipAddress", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, typeorm_1.CreateDateColumn)(),
|
|
76
|
+
__metadata("design:type", Date)
|
|
77
|
+
], SessionLog.prototype, "timestamp", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, typeorm_1.Column)(),
|
|
80
|
+
__metadata("design:type", String)
|
|
81
|
+
], SessionLog.prototype, "reason", void 0);
|
|
82
|
+
exports.SessionLog = SessionLog = __decorate([
|
|
83
|
+
(0, typeorm_1.Entity)('session_logs')
|
|
84
|
+
], SessionLog);
|
|
85
|
+
//# sourceMappingURL=session_log.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session_log.entity.js","sourceRoot":"","sources":["../../../src/auth/entities/session_log.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AAEjB,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,iDAAK,CAAA;IACL,mDAAM,CAAA;IACN,mDAAM,CAAA;IACN,mDAAM,CAAA;IACN,mDAAM,CAAA;AACR,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB;AAGM,IAAM,UAAU,GAAhB,MAAM,UAAU;IAqCrB,KAAK;QACH,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;CACF,CAAA;AAnDY,gCAAU;AAErB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;sCACpB;AAIX;IAFC,IAAA,gBAAM,EAAC,MAAM,CAAC;IACd,IAAA,eAAK,GAAE;;6CACU;AAKlB;IAFC,IAAA,gBAAM,EAAC,MAAM,CAAC;IACd,IAAA,eAAK,GAAE;;uCACI;AAIZ;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,eAAK,GAAE;;6CACU;AAGlB;IADC,IAAA,gBAAM,GAAE;;yCACW;AAIpB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACT;AAIlB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACD;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACT;AAGlB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;6CAAC;AAGhB;IADC,IAAA,gBAAM,GAAE;;0CACO;qBAnCL,UAAU;IADtB,IAAA,gBAAM,EAAC,cAAc,CAAC;GACV,UAAU,CAmDtB"}
|
|
@@ -204,4 +204,9 @@ export interface AuthModuleOptions {
|
|
|
204
204
|
* Default is `false`
|
|
205
205
|
*/
|
|
206
206
|
debug?: boolean;
|
|
207
|
+
/**
|
|
208
|
+
* Create session history on login, after logout, expired token, invalid token, etc.
|
|
209
|
+
* Defaults to `false`. But you can set it to true for audit and other need
|
|
210
|
+
*/
|
|
211
|
+
createSessionLogOnInvalid?: boolean;
|
|
207
212
|
}
|