@ambushsoftworks/nestjs-auth-graphql 0.18.0 → 0.19.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 +49 -0
- package/README.md +190 -1
- package/dist/auth.module.d.ts +6 -0
- package/dist/auth.module.d.ts.map +1 -1
- package/dist/auth.module.js +30 -0
- package/dist/auth.module.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/decorators/allow-guest-session.decorator.d.ts +3 -0
- package/dist/decorators/allow-guest-session.decorator.d.ts.map +1 -0
- package/dist/decorators/allow-guest-session.decorator.js +8 -0
- package/dist/decorators/allow-guest-session.decorator.js.map +1 -0
- package/dist/decorators/current-guest.decorator.d.ts +2 -0
- package/dist/decorators/current-guest.decorator.d.ts.map +1 -0
- package/dist/decorators/current-guest.decorator.js +7 -0
- package/dist/decorators/current-guest.decorator.js.map +1 -0
- package/dist/exceptions/guest-session.exceptions.d.ts +9 -0
- package/dist/exceptions/guest-session.exceptions.d.ts.map +1 -0
- package/dist/exceptions/guest-session.exceptions.js +20 -0
- package/dist/exceptions/guest-session.exceptions.js.map +1 -0
- package/dist/guards/create-auth-guard.d.ts.map +1 -1
- package/dist/guards/create-auth-guard.js +29 -1
- package/dist/guards/create-auth-guard.js.map +1 -1
- package/dist/guards/guest-session.guard.d.ts +14 -0
- package/dist/guards/guest-session.guard.d.ts.map +1 -0
- package/dist/guards/guest-session.guard.js +63 -0
- package/dist/guards/guest-session.guard.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/auth-logger.interface.d.ts +6 -1
- package/dist/interfaces/auth-logger.interface.d.ts.map +1 -1
- package/dist/interfaces/auth-logger.interface.js +5 -0
- package/dist/interfaces/auth-logger.interface.js.map +1 -1
- package/dist/interfaces/guest-session-repository.interface.d.ts +37 -0
- package/dist/interfaces/guest-session-repository.interface.d.ts.map +1 -0
- package/dist/interfaces/guest-session-repository.interface.js +3 -0
- package/dist/interfaces/guest-session-repository.interface.js.map +1 -0
- package/dist/interfaces/index.d.ts +1 -0
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +1 -0
- package/dist/interfaces/index.js.map +1 -1
- package/dist/repositories/in-memory-guest-session.repository.d.ts +18 -0
- package/dist/repositories/in-memory-guest-session.repository.d.ts.map +1 -0
- package/dist/repositories/in-memory-guest-session.repository.js +83 -0
- package/dist/repositories/in-memory-guest-session.repository.js.map +1 -0
- package/dist/services/guest-session.service.d.ts +80 -0
- package/dist/services/guest-session.service.d.ts.map +1 -0
- package/dist/services/guest-session.service.js +293 -0
- package/dist/services/guest-session.service.js.map +1 -0
- package/dist/testing/guest-session-repository.contract.d.ts +18 -0
- package/dist/testing/guest-session-repository.contract.d.ts.map +1 -0
- package/dist/testing/guest-session-repository.contract.js +368 -0
- package/dist/testing/guest-session-repository.contract.js.map +1 -0
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +4 -1
- package/dist/testing/index.js.map +1 -1
- package/examples/guest-sessions/prisma-guest-session.repository.ts +86 -0
- package/examples/guest-sessions/schema.prisma +33 -0
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { GraphQLError } from 'graphql';
|
|
2
|
+
import { CodedHttpException } from './coded-http.exception';
|
|
3
|
+
export declare class GuestSessionInvalidException extends CodedHttpException {
|
|
4
|
+
constructor();
|
|
5
|
+
}
|
|
6
|
+
export declare class GuestSessionUnavailableException extends GraphQLError {
|
|
7
|
+
constructor();
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=guest-session.exceptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guest-session.exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions/guest-session.exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAe5D,qBAAa,4BAA6B,SAAQ,kBAAkB;;CAInE;AAOD,qBAAa,gCAAiC,SAAQ,YAAY;;CAMjE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GuestSessionUnavailableException = exports.GuestSessionInvalidException = void 0;
|
|
4
|
+
const graphql_1 = require("graphql");
|
|
5
|
+
const coded_http_exception_1 = require("./coded-http.exception");
|
|
6
|
+
class GuestSessionInvalidException extends coded_http_exception_1.CodedHttpException {
|
|
7
|
+
constructor() {
|
|
8
|
+
super({ message: 'Guest session is not valid', code: 'GUEST_SESSION_INVALID' }, 401);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.GuestSessionInvalidException = GuestSessionInvalidException;
|
|
12
|
+
class GuestSessionUnavailableException extends graphql_1.GraphQLError {
|
|
13
|
+
constructor() {
|
|
14
|
+
super('Guest sessions are not available', {
|
|
15
|
+
extensions: { code: 'GUEST_SESSION_UNAVAILABLE', statusCode: 503 },
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.GuestSessionUnavailableException = GuestSessionUnavailableException;
|
|
20
|
+
//# sourceMappingURL=guest-session.exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guest-session.exceptions.js","sourceRoot":"","sources":["../../src/exceptions/guest-session.exceptions.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,iEAA4D;AAe5D,MAAa,4BAA6B,SAAQ,yCAAkB;IAClE;QACE,KAAK,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,GAAG,CAAC,CAAC;IACvF,CAAC;CACF;AAJD,oEAIC;AAOD,MAAa,gCAAiC,SAAQ,sBAAY;IAChE;QACE,KAAK,CAAC,kCAAkC,EAAE;YACxC,UAAU,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,GAAG,EAAE;SACnE,CAAC,CAAC;IACL,CAAC;CACF;AAND,4EAMC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-auth-guard.d.ts","sourceRoot":"","sources":["../../src/guards/create-auth-guard.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-auth-guard.d.ts","sourceRoot":"","sources":["../../src/guards/create-auth-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAS7C,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAK3D,MAAM,WAAW,sBAAsB;IAErC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAoCD,wBAAgB,eAAe,CAC7B,UAAU,GAAE,MAAM,EAAY,EAC9B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAuDlD"}
|
|
@@ -14,7 +14,9 @@ const common_1 = require("@nestjs/common");
|
|
|
14
14
|
const core_1 = require("@nestjs/core");
|
|
15
15
|
const passport_1 = require("@nestjs/passport");
|
|
16
16
|
const public_decorator_1 = require("../decorators/public.decorator");
|
|
17
|
+
const guest_session_service_1 = require("../services/guest-session.service");
|
|
17
18
|
const execution_context_1 = require("../utils/execution-context");
|
|
19
|
+
const guest_session_guard_1 = require("./guest-session.guard");
|
|
18
20
|
function createAuthGuard(strategies = ['jwt'], options) {
|
|
19
21
|
let ConfigurableAuthGuard = class ConfigurableAuthGuard extends (0, passport_1.AuthGuard)(strategies) {
|
|
20
22
|
constructor(_reflector) {
|
|
@@ -31,12 +33,38 @@ function createAuthGuard(strategies = ['jwt'], options) {
|
|
|
31
33
|
return true;
|
|
32
34
|
}
|
|
33
35
|
(0, execution_context_1.requireRequestFromContext)(context);
|
|
34
|
-
|
|
36
|
+
if (!(0, guest_session_guard_1.guestKindsFor)(this._reflector, context)) {
|
|
37
|
+
return super.canActivate(context);
|
|
38
|
+
}
|
|
39
|
+
return this.userThenGuest(context);
|
|
40
|
+
}
|
|
41
|
+
async userThenGuest(context) {
|
|
42
|
+
let userFailure;
|
|
43
|
+
try {
|
|
44
|
+
if (await super.canActivate(context)) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
userFailure = error;
|
|
50
|
+
}
|
|
51
|
+
if (await (0, guest_session_guard_1.admitGuest)(context, this._reflector, this._guestSessions)) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
if (userFailure !== undefined) {
|
|
55
|
+
throw userFailure;
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
35
58
|
}
|
|
36
59
|
getRequest(context) {
|
|
37
60
|
return (0, execution_context_1.getRequestFromContext)(context);
|
|
38
61
|
}
|
|
39
62
|
};
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, common_1.Optional)(),
|
|
65
|
+
(0, common_1.Inject)(guest_session_service_1.GuestSessionService),
|
|
66
|
+
__metadata("design:type", guest_session_service_1.GuestSessionService)
|
|
67
|
+
], ConfigurableAuthGuard.prototype, "_guestSessions", void 0);
|
|
40
68
|
ConfigurableAuthGuard = __decorate([
|
|
41
69
|
(0, common_1.Injectable)(),
|
|
42
70
|
__metadata("design:paramtypes", [core_1.Reflector])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-auth-guard.js","sourceRoot":"","sources":["../../src/guards/create-auth-guard.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"create-auth-guard.js","sourceRoot":"","sources":["../../src/guards/create-auth-guard.ts"],"names":[],"mappings":";;;;;;;;;;;AAuDA,0CA0DC;AAjHD,2CAAsF;AACtF,uCAAyC;AACzC,+CAA6C;AAC7C,qEAA+D;AAC/D,6EAAwE;AACxE,kEAA8F;AAC9F,+DAAkE;AAiDlE,SAAgB,eAAe,CAC7B,aAAuB,CAAC,KAAK,CAAC,EAC9B,OAAgC;IAEhC,IACM,qBAAqB,GAD3B,MACM,qBAAsB,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;QAMvD,YAA6B,UAAqB;YAChD,KAAK,EAAE,CAAC;YADmB,eAAU,GAAV,UAAU,CAAW;QAElD,CAAC;QAED,WAAW,CAAC,OAAyB;YACnC,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAU,gCAAa,EAAE;oBACzE,OAAO,CAAC,UAAU,EAAE;oBACpB,OAAO,CAAC,QAAQ,EAAE;iBACnB,CAAC,CAAC;gBACH,IAAI,QAAQ;oBAAE,OAAO,IAAI,CAAC;YAC5B,CAAC;YAGD,IAAA,6CAAyB,EAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,CAAC,IAAA,mCAAa,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC7C,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAGO,KAAK,CAAC,aAAa,CAAC,OAAyB;YACnD,IAAI,WAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,IAAI,MAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAsB,EAAE,CAAC;oBAC3D,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,WAAW,GAAG,KAAK,CAAC;YACtB,CAAC;YACD,IAAI,MAAM,IAAA,gCAAU,EAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,WAAW,CAAC;YACpB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,UAAU,CAAC,OAAyB;YAClC,OAAO,IAAA,yCAAqB,EAAC,OAAO,CAAC,CAAC;QACxC,CAAC;KACF,CAAA;IA9CkB;QAFhB,IAAA,iBAAQ,GAAE;QACV,IAAA,eAAM,EAAC,2CAAmB,CAAC;kCACM,2CAAmB;iEAAC;IAJlD,qBAAqB;QAD1B,IAAA,mBAAU,GAAE;yCAO8B,gBAAS;OAN9C,qBAAqB,CAkD1B;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
|
2
|
+
import { Reflector } from '@nestjs/core';
|
|
3
|
+
import { GuestSessionService } from '../services/guest-session.service';
|
|
4
|
+
export declare function guestKindsFor(reflector: Reflector, context: ExecutionContext): string[] | undefined;
|
|
5
|
+
export declare function admitGuest(context: ExecutionContext, reflector: Reflector, guestSessions: GuestSessionService | undefined): Promise<boolean>;
|
|
6
|
+
export declare class GuestSessionGuard implements CanActivate {
|
|
7
|
+
private readonly reflector;
|
|
8
|
+
private readonly guestSessions;
|
|
9
|
+
private readonly logger;
|
|
10
|
+
private warnedUndecorated;
|
|
11
|
+
constructor(reflector: Reflector, guestSessions: GuestSessionService);
|
|
12
|
+
canActivate(context: ExecutionContext): Promise<boolean>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=guest-session.guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guest-session.guard.d.ts","sourceRoot":"","sources":["../../src/guards/guest-session.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA6C,MAAM,gBAAgB,CAAC;AAC1G,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAOxE,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,EAAE,GAAG,SAAS,CAGnG;AAWD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB,GAAG,SAAS,GAC7C,OAAO,CAAC,OAAO,CAAC,CAclB;AAeD,qBACa,iBAAkB,YAAW,WAAW;IAKjD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IALhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,iBAAiB,CAAS;gBAGf,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB;IAG/C,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAa/D"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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
|
+
var GuestSessionGuard_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.GuestSessionGuard = void 0;
|
|
14
|
+
exports.guestKindsFor = guestKindsFor;
|
|
15
|
+
exports.admitGuest = admitGuest;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const core_1 = require("@nestjs/core");
|
|
18
|
+
const allow_guest_session_decorator_1 = require("../decorators/allow-guest-session.decorator");
|
|
19
|
+
const guest_session_service_1 = require("../services/guest-session.service");
|
|
20
|
+
const execution_context_1 = require("../utils/execution-context");
|
|
21
|
+
function guestKindsFor(reflector, context) {
|
|
22
|
+
const kinds = reflector.get(allow_guest_session_decorator_1.ALLOW_GUEST_SESSION_KEY, context.getHandler());
|
|
23
|
+
return Array.isArray(kinds) && kinds.length > 0 ? kinds : undefined;
|
|
24
|
+
}
|
|
25
|
+
async function admitGuest(context, reflector, guestSessions) {
|
|
26
|
+
const kinds = guestKindsFor(reflector, context);
|
|
27
|
+
if (!kinds || !guestSessions || (0, execution_context_1.isWebSocketContext)(context)) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const request = (0, execution_context_1.getRequestFromContext)(context);
|
|
31
|
+
const guest = await guestSessions.authenticate(request, kinds);
|
|
32
|
+
if (!guest || !request) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
request.guest = guest;
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
let GuestSessionGuard = GuestSessionGuard_1 = class GuestSessionGuard {
|
|
39
|
+
constructor(reflector, guestSessions) {
|
|
40
|
+
this.reflector = reflector;
|
|
41
|
+
this.guestSessions = guestSessions;
|
|
42
|
+
this.logger = new common_1.Logger(GuestSessionGuard_1.name);
|
|
43
|
+
this.warnedUndecorated = false;
|
|
44
|
+
}
|
|
45
|
+
async canActivate(context) {
|
|
46
|
+
if (!guestKindsFor(this.reflector, context) && !this.warnedUndecorated) {
|
|
47
|
+
this.warnedUndecorated = true;
|
|
48
|
+
this.logger.warn(`GuestSessionGuard is on ${context.getClass().name}.${context.getHandler().name}, which has no ` +
|
|
49
|
+
'@AllowGuestSession(kind) on the method, so it refuses every request. Add the decorator to the method.');
|
|
50
|
+
}
|
|
51
|
+
if (await admitGuest(context, this.reflector, this.guestSessions)) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
throw new common_1.UnauthorizedException('Guest session required');
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.GuestSessionGuard = GuestSessionGuard;
|
|
58
|
+
exports.GuestSessionGuard = GuestSessionGuard = GuestSessionGuard_1 = __decorate([
|
|
59
|
+
(0, common_1.Injectable)(),
|
|
60
|
+
__metadata("design:paramtypes", [core_1.Reflector,
|
|
61
|
+
guest_session_service_1.GuestSessionService])
|
|
62
|
+
], GuestSessionGuard);
|
|
63
|
+
//# sourceMappingURL=guest-session.guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guest-session.guard.js","sourceRoot":"","sources":["../../src/guards/guest-session.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAUA,sCAGC;AAWD,gCAkBC;AA1CD,2CAA0G;AAC1G,uCAAyC;AACzC,+FAAsF;AACtF,6EAAwE;AACxE,kEAAuF;AAMvF,SAAgB,aAAa,CAAC,SAAoB,EAAE,OAAyB;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAuB,uDAAuB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAWM,KAAK,UAAU,UAAU,CAC9B,OAAyB,EACzB,SAAoB,EACpB,aAA8C;IAE9C,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAGhD,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,IAAA,sCAAkB,EAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,yCAAqB,EAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAgBM,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAI5B,YACmB,SAAoB,EACpB,aAAkC;QADlC,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAqB;QALpC,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,sBAAiB,GAAG,KAAK,CAAC;IAK/B,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2BAA2B,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,iBAAiB;gBAC9F,uGAAuG,CAC1G,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,8BAAqB,CAAC,wBAAwB,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AAtBY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAMmB,gBAAS;QACL,2CAAmB;GAN1C,iBAAiB,CAsB7B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export * from './interfaces/biometric-repository.interface';
|
|
|
14
14
|
export * from './interfaces/biometric-verifier.interface';
|
|
15
15
|
export * from './interfaces/passkey-repository.interface';
|
|
16
16
|
export * from './interfaces/email-challenge-repository.interface';
|
|
17
|
+
export * from './interfaces/guest-session-repository.interface';
|
|
17
18
|
export * from './passkey/passkey-json.types';
|
|
18
19
|
export * from './interfaces/password-policy-config.interface';
|
|
19
20
|
export * from './interfaces/rate-limiter.interface';
|
|
@@ -43,6 +44,7 @@ export * from './services/step-up.service';
|
|
|
43
44
|
export * from './services/step-up-token.service';
|
|
44
45
|
export * from './services/passkey-signup-token.service';
|
|
45
46
|
export * from './services/email-challenge.service';
|
|
47
|
+
export * from './services/guest-session.service';
|
|
46
48
|
export * from './services/password-validation.service';
|
|
47
49
|
export * from './services/in-memory-rate-limiter.service';
|
|
48
50
|
export * from './services/in-memory-refresh-retry-cache';
|
|
@@ -65,6 +67,7 @@ export * from './repositories/noop-tenant.repository';
|
|
|
65
67
|
export * from './repositories/noop-tenant-extractor';
|
|
66
68
|
export * from './repositories/in-memory-passkey.repository';
|
|
67
69
|
export * from './repositories/in-memory-email-challenge.repository';
|
|
70
|
+
export * from './repositories/in-memory-guest-session.repository';
|
|
68
71
|
export * from './strategies/jwt.strategy';
|
|
69
72
|
export * from './strategies/google.strategy';
|
|
70
73
|
export * from './strategies/facebook.strategy';
|
|
@@ -113,11 +116,14 @@ export * from './decorators/require-scopes.decorator';
|
|
|
113
116
|
export * from './decorators/current-tenant.decorator';
|
|
114
117
|
export * from './decorators/current-realm.decorator';
|
|
115
118
|
export * from './decorators/resource-scope.decorator';
|
|
119
|
+
export * from './decorators/allow-guest-session.decorator';
|
|
120
|
+
export * from './decorators/current-guest.decorator';
|
|
116
121
|
export * from './guards/jwt-auth.guard';
|
|
117
122
|
export * from './guards/tenant.guard';
|
|
118
123
|
export * from './guards/permission.guard';
|
|
119
124
|
export * from './guards/scope.guard';
|
|
120
125
|
export * from './guards/create-auth-guard';
|
|
126
|
+
export * from './guards/guest-session.guard';
|
|
121
127
|
export * from './guards/csrf.guard';
|
|
122
128
|
export * from './middleware/realm.middleware';
|
|
123
129
|
export { AuthUser } from './entities/auth-user.entity';
|
|
@@ -131,6 +137,7 @@ export * from './exceptions/coded-http.exception';
|
|
|
131
137
|
export * from './exceptions/step-up.exceptions';
|
|
132
138
|
export * from './exceptions/passkey.exceptions';
|
|
133
139
|
export * from './exceptions/email-challenge.exceptions';
|
|
140
|
+
export * from './exceptions/guest-session.exceptions';
|
|
134
141
|
export * from './enums/verification-type.enum';
|
|
135
142
|
export * from './types/oauth.types';
|
|
136
143
|
export * from './utils/provider-helpers';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAK5B,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,iDAAiD,CAAC;AAChE,cAAc,oCAAoC,CAAC;AACnD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,0CAA0C,CAAC;AACzD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,uDAAuD,CAAC;AACtE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qCAAqC,CAAC;AACpD,cAAc,8CAA8C,CAAC;AAK7D,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAE1D,cAAc,mCAAmC,CAAC;AAElD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AAKtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAK7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAK5B,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,iDAAiD,CAAC;AAChE,cAAc,oCAAoC,CAAC;AACnD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAChE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,0CAA0C,CAAC;AACzD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,uDAAuD,CAAC;AACtE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qCAAqC,CAAC;AACpD,cAAc,8CAA8C,CAAC;AAK7D,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAE1D,cAAc,mCAAmC,CAAC;AAElD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AAKtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAK7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAKlE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AAKnD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,8BAA8B,CAAC;AAK7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAKlC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AAKrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AAKpC,cAAc,+BAA+B,CAAC;AAK9C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AAKtD,cAAc,gCAAgC,CAAC;AAK/C,cAAc,qBAAqB,CAAC;AAKpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EACL,WAAW,EACX,QAAQ,EACR,eAAe,EACf,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,cAAc,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,7 @@ __exportStar(require("./interfaces/biometric-repository.interface"), exports);
|
|
|
31
31
|
__exportStar(require("./interfaces/biometric-verifier.interface"), exports);
|
|
32
32
|
__exportStar(require("./interfaces/passkey-repository.interface"), exports);
|
|
33
33
|
__exportStar(require("./interfaces/email-challenge-repository.interface"), exports);
|
|
34
|
+
__exportStar(require("./interfaces/guest-session-repository.interface"), exports);
|
|
34
35
|
__exportStar(require("./passkey/passkey-json.types"), exports);
|
|
35
36
|
__exportStar(require("./interfaces/password-policy-config.interface"), exports);
|
|
36
37
|
__exportStar(require("./interfaces/rate-limiter.interface"), exports);
|
|
@@ -60,6 +61,7 @@ __exportStar(require("./services/step-up.service"), exports);
|
|
|
60
61
|
__exportStar(require("./services/step-up-token.service"), exports);
|
|
61
62
|
__exportStar(require("./services/passkey-signup-token.service"), exports);
|
|
62
63
|
__exportStar(require("./services/email-challenge.service"), exports);
|
|
64
|
+
__exportStar(require("./services/guest-session.service"), exports);
|
|
63
65
|
__exportStar(require("./services/password-validation.service"), exports);
|
|
64
66
|
__exportStar(require("./services/in-memory-rate-limiter.service"), exports);
|
|
65
67
|
__exportStar(require("./services/in-memory-refresh-retry-cache"), exports);
|
|
@@ -82,6 +84,7 @@ __exportStar(require("./repositories/noop-tenant.repository"), exports);
|
|
|
82
84
|
__exportStar(require("./repositories/noop-tenant-extractor"), exports);
|
|
83
85
|
__exportStar(require("./repositories/in-memory-passkey.repository"), exports);
|
|
84
86
|
__exportStar(require("./repositories/in-memory-email-challenge.repository"), exports);
|
|
87
|
+
__exportStar(require("./repositories/in-memory-guest-session.repository"), exports);
|
|
85
88
|
__exportStar(require("./strategies/jwt.strategy"), exports);
|
|
86
89
|
__exportStar(require("./strategies/google.strategy"), exports);
|
|
87
90
|
__exportStar(require("./strategies/facebook.strategy"), exports);
|
|
@@ -129,11 +132,14 @@ __exportStar(require("./decorators/require-scopes.decorator"), exports);
|
|
|
129
132
|
__exportStar(require("./decorators/current-tenant.decorator"), exports);
|
|
130
133
|
__exportStar(require("./decorators/current-realm.decorator"), exports);
|
|
131
134
|
__exportStar(require("./decorators/resource-scope.decorator"), exports);
|
|
135
|
+
__exportStar(require("./decorators/allow-guest-session.decorator"), exports);
|
|
136
|
+
__exportStar(require("./decorators/current-guest.decorator"), exports);
|
|
132
137
|
__exportStar(require("./guards/jwt-auth.guard"), exports);
|
|
133
138
|
__exportStar(require("./guards/tenant.guard"), exports);
|
|
134
139
|
__exportStar(require("./guards/permission.guard"), exports);
|
|
135
140
|
__exportStar(require("./guards/scope.guard"), exports);
|
|
136
141
|
__exportStar(require("./guards/create-auth-guard"), exports);
|
|
142
|
+
__exportStar(require("./guards/guest-session.guard"), exports);
|
|
137
143
|
__exportStar(require("./guards/csrf.guard"), exports);
|
|
138
144
|
__exportStar(require("./middleware/realm.middleware"), exports);
|
|
139
145
|
var auth_user_entity_1 = require("./entities/auth-user.entity");
|
|
@@ -148,6 +154,7 @@ __exportStar(require("./exceptions/coded-http.exception"), exports);
|
|
|
148
154
|
__exportStar(require("./exceptions/step-up.exceptions"), exports);
|
|
149
155
|
__exportStar(require("./exceptions/passkey.exceptions"), exports);
|
|
150
156
|
__exportStar(require("./exceptions/email-challenge.exceptions"), exports);
|
|
157
|
+
__exportStar(require("./exceptions/guest-session.exceptions"), exports);
|
|
151
158
|
__exportStar(require("./enums/verification-type.enum"), exports);
|
|
152
159
|
__exportStar(require("./types/oauth.types"), exports);
|
|
153
160
|
__exportStar(require("./utils/provider-helpers"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAYA,gDAA8B;AAC9B,8CAA4B;AAK5B,mEAAiD;AACjD,yEAAuD;AACvD,uEAAqD;AACrD,qEAAmD;AACnD,8EAA4D;AAC5D,yEAAuD;AACvD,kFAAgE;AAChE,qEAAmD;AACnD,iFAA+D;AAC/D,gFAA8D;AAC9D,8EAA4D;AAC5D,4EAA0D;AAC1D,4EAA0D;AAC1D,oFAAkE;AAClE,+DAA6C;AAC7C,gFAA8D;AAC9D,sEAAoD;AACpD,6EAA2D;AAC3D,2EAAyD;AACzD,0EAAwD;AACxD,yEAAuD;AACvD,wFAAsE;AACtE,6EAA2D;AAC3D,4EAA0D;AAC1D,iFAA+D;AAC/D,sEAAoD;AACpD,+EAA6D;AAK7D,0DAAwC;AACxC,mEAAiD;AACjD,kEAAgD;AAChD,gEAA8C;AAC9C,iEAA+C;AAC/C,4EAA0D;AAE1D,oEAAkD;AAElD,4EAA0D;AAC1D,yEAAuD;AACvD,wEAAsD;AACtD,yEAAuD;AACvD,6DAA2C;AAC3C,6DAA2C;AAC3C,mEAAiD;AACjD,0EAAwD;AACxD,qEAAmD;AACnD,yEAAuD;AACvD,4EAA0D;AAC1D,2EAAyD;AACzD,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AAKtD,oEAAkD;AAClD,gEAA8C;AAC9C,gEAA8C;AAC9C,8DAA4C;AAC5C,oEAAkD;AAClD,mEAAiD;AACjD,iEAA+C;AAC/C,+DAA6C;AAK7C,8EAA4D;AAC5D,6EAA2D;AAC3D,mEAAiD;AACjD,wEAAsD;AACtD,uEAAqD;AACrD,8EAA4D;AAC5D,sFAAoE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,11 @@ export declare enum SecurityEvent {
|
|
|
60
60
|
EMAIL_CHALLENGE_ISSUED = "EMAIL_CHALLENGE_ISSUED",
|
|
61
61
|
EMAIL_CHALLENGE_VERIFIED = "EMAIL_CHALLENGE_VERIFIED",
|
|
62
62
|
EMAIL_CHALLENGE_FAILED = "EMAIL_CHALLENGE_FAILED",
|
|
63
|
-
EMAIL_CHALLENGE_LOCKED = "EMAIL_CHALLENGE_LOCKED"
|
|
63
|
+
EMAIL_CHALLENGE_LOCKED = "EMAIL_CHALLENGE_LOCKED",
|
|
64
|
+
GUEST_SESSION_ISSUED = "GUEST_SESSION_ISSUED",
|
|
65
|
+
GUEST_SESSION_REJECTED = "GUEST_SESSION_REJECTED",
|
|
66
|
+
GUEST_SESSION_REVOKED = "GUEST_SESSION_REVOKED",
|
|
67
|
+
GUEST_SESSION_ENDED = "GUEST_SESSION_ENDED",
|
|
68
|
+
GUEST_GRANT_REVOKED = "GUEST_GRANT_REVOKED"
|
|
64
69
|
}
|
|
65
70
|
//# sourceMappingURL=auth-logger.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-logger.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAK1B,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAKpG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAKD,oBAAY,aAAa;IAEvB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IAQzB,cAAc,mBAAmB;IAGjC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IAGrD,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IASrC,wBAAwB,6BAA6B;IAcrD,sBAAsB,2BAA2B;IAGjD,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAG/B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IAGnD,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;IAGrD,kBAAkB,uBAAuB;IACzC,4BAA4B,iCAAiC;IAC7D,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAE/C,0BAA0B,+BAA+B;IACzD,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IAEnC,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IAGjD,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IAGnC,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;IAErD,sBAAsB,2BAA2B;IAEjD,sBAAsB,2BAA2B;
|
|
1
|
+
{"version":3,"file":"auth-logger.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAK1B,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAKpG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAKD,oBAAY,aAAa;IAEvB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IAQzB,cAAc,mBAAmB;IAGjC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IAGrD,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IASrC,wBAAwB,6BAA6B;IAcrD,sBAAsB,2BAA2B;IAGjD,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAG/B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IAGnD,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;IAGrD,kBAAkB,uBAAuB;IACzC,4BAA4B,iCAAiC;IAC7D,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAE/C,0BAA0B,+BAA+B;IACzD,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IAEnC,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IAGjD,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IAGnC,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;IAErD,sBAAsB,2BAA2B;IAEjD,sBAAsB,2BAA2B;IAIjD,oBAAoB,yBAAyB;IAE7C,sBAAsB,2BAA2B;IACjD,qBAAqB,0BAA0B;IAE/C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;CAC5C"}
|
|
@@ -58,5 +58,10 @@ var SecurityEvent;
|
|
|
58
58
|
SecurityEvent["EMAIL_CHALLENGE_VERIFIED"] = "EMAIL_CHALLENGE_VERIFIED";
|
|
59
59
|
SecurityEvent["EMAIL_CHALLENGE_FAILED"] = "EMAIL_CHALLENGE_FAILED";
|
|
60
60
|
SecurityEvent["EMAIL_CHALLENGE_LOCKED"] = "EMAIL_CHALLENGE_LOCKED";
|
|
61
|
+
SecurityEvent["GUEST_SESSION_ISSUED"] = "GUEST_SESSION_ISSUED";
|
|
62
|
+
SecurityEvent["GUEST_SESSION_REJECTED"] = "GUEST_SESSION_REJECTED";
|
|
63
|
+
SecurityEvent["GUEST_SESSION_REVOKED"] = "GUEST_SESSION_REVOKED";
|
|
64
|
+
SecurityEvent["GUEST_SESSION_ENDED"] = "GUEST_SESSION_ENDED";
|
|
65
|
+
SecurityEvent["GUEST_GRANT_REVOKED"] = "GUEST_GRANT_REVOKED";
|
|
61
66
|
})(SecurityEvent || (exports.SecurityEvent = SecurityEvent = {}));
|
|
62
67
|
//# sourceMappingURL=auth-logger.interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-logger.interface.js","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":";;;AA2CA,IAAY,
|
|
1
|
+
{"version":3,"file":"auth-logger.interface.js","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":";;;AA2CA,IAAY,aAqHX;AArHD,WAAY,aAAa;IAEvB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,0CAAyB,CAAA;IAQzB,kDAAiC,CAAA;IAGjC,gDAA+B,CAAA;IAC/B,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAC/C,8DAA6C,CAAA;IAG7C,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IAGrD,kDAAiC,CAAA;IACjC,sDAAqC,CAAA;IASrC,sEAAqD,CAAA;IAcrD,kEAAiD,CAAA;IAGjD,kEAAiD,CAAA;IACjD,4EAA2D,CAAA;IAC3D,sEAAqD,CAAA;IACrD,wEAAuD,CAAA;IACvD,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,gDAA+B,CAAA;IAG/B,oDAAmC,CAAA;IACnC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,8DAA6C,CAAA;IAC7C,8DAA6C,CAAA;IAC7C,gEAA+C,CAAA;IAC/C,oEAAmD,CAAA;IAGnD,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IACnD,oEAAmD,CAAA;IACnD,0DAAyC,CAAA;IACzC,sEAAqD,CAAA;IAGrD,0DAAyC,CAAA;IACzC,8EAA6D,CAAA;IAC7D,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAE/C,0EAAyD,CAAA;IACzD,oDAAmC,CAAA;IACnC,oDAAmC,CAAA;IAEnC,kEAAiD,CAAA;IACjD,kEAAiD,CAAA;IAGjD,oDAAmC,CAAA;IACnC,oDAAmC,CAAA;IAGnC,kEAAiD,CAAA;IACjD,sEAAqD,CAAA;IAErD,kEAAiD,CAAA;IAEjD,kEAAiD,CAAA;IAIjD,8DAA6C,CAAA;IAE7C,kEAAiD,CAAA;IACjD,gEAA+C,CAAA;IAE/C,4DAA2C,CAAA;IAC3C,4DAA2C,CAAA;AAC7C,CAAC,EArHW,aAAa,6BAAb,aAAa,QAqHxB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface GuestSessionRecord {
|
|
2
|
+
id: string;
|
|
3
|
+
tokenHash: string;
|
|
4
|
+
principalId: string;
|
|
5
|
+
email: string;
|
|
6
|
+
realm: string | null;
|
|
7
|
+
revokedAt: Date | null;
|
|
8
|
+
createdAt: Date;
|
|
9
|
+
}
|
|
10
|
+
export interface GuestGrantRecord {
|
|
11
|
+
id: string;
|
|
12
|
+
sessionId: string;
|
|
13
|
+
kind: string;
|
|
14
|
+
grantId: string;
|
|
15
|
+
realm: string | null;
|
|
16
|
+
expiresAt: Date;
|
|
17
|
+
revokedAt: Date | null;
|
|
18
|
+
createdAt: Date;
|
|
19
|
+
}
|
|
20
|
+
export interface GuestSessionWithGrants extends GuestSessionRecord {
|
|
21
|
+
grants: GuestGrantRecord[];
|
|
22
|
+
}
|
|
23
|
+
export interface IGuestSessionRepository {
|
|
24
|
+
createSession(session: GuestSessionRecord, grant: GuestGrantRecord): Promise<void>;
|
|
25
|
+
findSessionByTokenHash(tokenHash: string): Promise<GuestSessionWithGrants | null>;
|
|
26
|
+
addGrant(grant: GuestGrantRecord): Promise<void>;
|
|
27
|
+
rotateToken(sessionId: string, oldHash: string, newHash: string): Promise<boolean>;
|
|
28
|
+
revokeSession(sessionId: string): Promise<boolean>;
|
|
29
|
+
revokeGrant(grantRecordId: string): Promise<boolean>;
|
|
30
|
+
revokeGrants(filter: {
|
|
31
|
+
kind: string;
|
|
32
|
+
grantId: string;
|
|
33
|
+
realm: string | null;
|
|
34
|
+
}): Promise<number>;
|
|
35
|
+
deleteExpired(): Promise<number>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=guest-session-repository.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guest-session-repository.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/guest-session-repository.interface.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IAEjC,EAAE,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IAEvB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAE/B,EAAE,EAAE,MAAM,CAAC;IAEX,SAAS,EAAE,MAAM,CAAC;IAGlB,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,MAAM,CAAC;IAGhB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IAEvB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAEhE,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAqBD,MAAM,WAAW,uBAAuB;IAEtC,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAOnF,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAGlF,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAcjD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGnF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGnD,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAOrD,YAAY,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAM/F,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guest-session-repository.interface.js","sourceRoot":"","sources":["../../src/interfaces/guest-session-repository.interface.ts"],"names":[],"mappings":""}
|
|
@@ -4,6 +4,7 @@ export * from './auth-user.interface';
|
|
|
4
4
|
export * from './biometric-repository.interface';
|
|
5
5
|
export * from './passkey-repository.interface';
|
|
6
6
|
export * from './email-challenge-repository.interface';
|
|
7
|
+
export * from './guest-session-repository.interface';
|
|
7
8
|
export * from './brute-force-repository.interface';
|
|
8
9
|
export * from './email-service.interface';
|
|
9
10
|
export * from './email-template-renderer.interface';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAIA,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAIA,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC"}
|
package/dist/interfaces/index.js
CHANGED
|
@@ -20,6 +20,7 @@ __exportStar(require("./auth-user.interface"), exports);
|
|
|
20
20
|
__exportStar(require("./biometric-repository.interface"), exports);
|
|
21
21
|
__exportStar(require("./passkey-repository.interface"), exports);
|
|
22
22
|
__exportStar(require("./email-challenge-repository.interface"), exports);
|
|
23
|
+
__exportStar(require("./guest-session-repository.interface"), exports);
|
|
23
24
|
__exportStar(require("./brute-force-repository.interface"), exports);
|
|
24
25
|
__exportStar(require("./email-service.interface"), exports);
|
|
25
26
|
__exportStar(require("./email-template-renderer.interface"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,mEAAiD;AACjD,0DAAwC;AACxC,wDAAsC;AACtC,mEAAiD;AACjD,iEAA+C;AAC/C,yEAAuD;AACvD,qEAAmD;AACnD,4DAA0C;AAC1C,sEAAoD;AACpD,2DAAyC;AACzC,oEAAkD;AAClD,uEAAqD;AACrD,0DAAwC;AACxC,8DAA4C;AAC5C,8DAA4C;AAC5C,sEAAoD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,mEAAiD;AACjD,0DAAwC;AACxC,wDAAsC;AACtC,mEAAiD;AACjD,iEAA+C;AAC/C,yEAAuD;AACvD,uEAAqD;AACrD,qEAAmD;AACnD,4DAA0C;AAC1C,sEAAoD;AACpD,2DAAyC;AACzC,oEAAkD;AAClD,uEAAqD;AACrD,0DAAwC;AACxC,8DAA4C;AAC5C,8DAA4C;AAC5C,sEAAoD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { GuestGrantRecord, GuestSessionRecord, GuestSessionWithGrants, IGuestSessionRepository } from '../interfaces/guest-session-repository.interface';
|
|
2
|
+
export declare class InMemoryGuestSessionRepository implements IGuestSessionRepository {
|
|
3
|
+
private readonly sessions;
|
|
4
|
+
private readonly grants;
|
|
5
|
+
createSession(session: GuestSessionRecord, grant: GuestGrantRecord): Promise<void>;
|
|
6
|
+
findSessionByTokenHash(tokenHash: string): Promise<GuestSessionWithGrants | null>;
|
|
7
|
+
addGrant(grant: GuestGrantRecord): Promise<void>;
|
|
8
|
+
rotateToken(sessionId: string, oldHash: string, newHash: string): Promise<boolean>;
|
|
9
|
+
revokeSession(sessionId: string): Promise<boolean>;
|
|
10
|
+
revokeGrant(grantRecordId: string): Promise<boolean>;
|
|
11
|
+
revokeGrants(filter: {
|
|
12
|
+
kind: string;
|
|
13
|
+
grantId: string;
|
|
14
|
+
realm: string | null;
|
|
15
|
+
}): Promise<number>;
|
|
16
|
+
deleteExpired(): Promise<number>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=in-memory-guest-session.repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-guest-session.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/in-memory-guest-session.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,kDAAkD,CAAC;AAW1D,qBAAa,8BAA+B,YAAW,uBAAuB;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAExD,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlF,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAYjF,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASlF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASlD,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASpD,YAAY,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB9F,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAiBvC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryGuestSessionRepository = void 0;
|
|
4
|
+
class InMemoryGuestSessionRepository {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.sessions = new Map();
|
|
7
|
+
this.grants = new Map();
|
|
8
|
+
}
|
|
9
|
+
async createSession(session, grant) {
|
|
10
|
+
this.sessions.set(session.id, { ...session });
|
|
11
|
+
this.grants.set(grant.id, { ...grant });
|
|
12
|
+
}
|
|
13
|
+
async findSessionByTokenHash(tokenHash) {
|
|
14
|
+
for (const session of this.sessions.values()) {
|
|
15
|
+
if (session.tokenHash === tokenHash) {
|
|
16
|
+
return {
|
|
17
|
+
...session,
|
|
18
|
+
grants: [...this.grants.values()].filter((g) => g.sessionId === session.id).map((g) => ({ ...g })),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
async addGrant(grant) {
|
|
25
|
+
this.grants.set(grant.id, { ...grant });
|
|
26
|
+
}
|
|
27
|
+
async rotateToken(sessionId, oldHash, newHash) {
|
|
28
|
+
const session = this.sessions.get(sessionId);
|
|
29
|
+
if (!session || session.tokenHash !== oldHash || session.revokedAt !== null) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
session.tokenHash = newHash;
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
async revokeSession(sessionId) {
|
|
36
|
+
const session = this.sessions.get(sessionId);
|
|
37
|
+
if (!session || session.revokedAt !== null) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
session.revokedAt = new Date();
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
async revokeGrant(grantRecordId) {
|
|
44
|
+
const grant = this.grants.get(grantRecordId);
|
|
45
|
+
if (!grant || grant.revokedAt !== null) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
grant.revokedAt = new Date();
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
async revokeGrants(filter) {
|
|
52
|
+
let revoked = 0;
|
|
53
|
+
for (const grant of this.grants.values()) {
|
|
54
|
+
if (grant.revokedAt === null &&
|
|
55
|
+
grant.kind === filter.kind &&
|
|
56
|
+
grant.grantId === filter.grantId &&
|
|
57
|
+
grant.realm === filter.realm) {
|
|
58
|
+
grant.revokedAt = new Date();
|
|
59
|
+
revoked += 1;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return revoked;
|
|
63
|
+
}
|
|
64
|
+
async deleteExpired() {
|
|
65
|
+
let deleted = 0;
|
|
66
|
+
for (const [id, grant] of this.grants) {
|
|
67
|
+
if (grant.expiresAt.getTime() <= Date.now()) {
|
|
68
|
+
this.grants.delete(id);
|
|
69
|
+
deleted += 1;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const withGrants = new Set([...this.grants.values()].map((g) => g.sessionId));
|
|
73
|
+
for (const id of this.sessions.keys()) {
|
|
74
|
+
if (!withGrants.has(id)) {
|
|
75
|
+
this.sessions.delete(id);
|
|
76
|
+
deleted += 1;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return deleted;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.InMemoryGuestSessionRepository = InMemoryGuestSessionRepository;
|
|
83
|
+
//# sourceMappingURL=in-memory-guest-session.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-guest-session.repository.js","sourceRoot":"","sources":["../../src/repositories/in-memory-guest-session.repository.ts"],"names":[],"mappings":"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"}
|