@acorex-platform/framework-server 0.0.32 → 0.0.37
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/background-job/src/lib/schedule/background-job-schedule-scanner.service.d.ts.map +1 -1
- package/background-job/src/lib/schedule/background-job-schedule-scanner.service.js +46 -13
- package/background-job/src/lib/schedule/background-job-schedule-scanner.service.js.map +1 -1
- package/background-job/src/lib/store/background-job-schedule-store.service.d.ts +5 -1
- package/background-job/src/lib/store/background-job-schedule-store.service.d.ts.map +1 -1
- package/background-job/src/lib/store/background-job-schedule-store.service.js +8 -4
- package/background-job/src/lib/store/background-job-schedule-store.service.js.map +1 -1
- package/background-job/src/lib/store/background-job-store.service.js +2 -2
- package/background-job/src/lib/store/background-job-store.service.js.map +1 -1
- package/core/src/lib/runtime/runtime-authz.guard.d.ts +3 -2
- package/core/src/lib/runtime/runtime-authz.guard.d.ts.map +1 -1
- package/core/src/lib/runtime/runtime-authz.guard.js +7 -6
- package/core/src/lib/runtime/runtime-authz.guard.js.map +1 -1
- package/domain/seed/src/lib/category-companion-entity.builder.d.ts +1 -1
- package/domain/seed/src/lib/category-companion-entity.builder.d.ts.map +1 -1
- package/domain/seed/src/lib/category-companion-entity.builder.js +64 -0
- package/domain/seed/src/lib/category-companion-entity.builder.js.map +1 -1
- package/jql/schema/src/lib/generated/widget-data-types.bootstrap.js +1 -1
- package/jql/schema/src/lib/generated/widget-data-types.bootstrap.js.map +1 -1
- package/package.json +2 -2
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.d.ts +18 -0
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.d.ts.map +1 -0
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.js +90 -0
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.js.map +1 -0
- package/realtime/src/lib/delivery/socket-io-realtime.delivery.d.ts.map +1 -1
- package/realtime/src/lib/delivery/socket-io-realtime.delivery.js +9 -4
- package/realtime/src/lib/delivery/socket-io-realtime.delivery.js.map +1 -1
- package/realtime/src/lib/gateway/realtime-ws-auth.d.ts +1 -1
- package/realtime/src/lib/gateway/realtime-ws-auth.d.ts.map +1 -1
- package/realtime/src/lib/gateway/realtime-ws-auth.js +4 -2
- package/realtime/src/lib/gateway/realtime-ws-auth.js.map +1 -1
- package/realtime/src/lib/gateway/realtime.gateway.d.ts +1 -0
- package/realtime/src/lib/gateway/realtime.gateway.d.ts.map +1 -1
- package/realtime/src/lib/gateway/realtime.gateway.js +9 -2
- package/realtime/src/lib/gateway/realtime.gateway.js.map +1 -1
- package/realtime/src/lib/realtime.module.d.ts.map +1 -1
- package/realtime/src/lib/realtime.module.js +2 -0
- package/realtime/src/lib/realtime.module.js.map +1 -1
- package/realtime/src/lib/rooms/realtime-rooms.util.d.ts +8 -0
- package/realtime/src/lib/rooms/realtime-rooms.util.d.ts.map +1 -1
- package/realtime/src/lib/rooms/realtime-rooms.util.js +22 -0
- package/realtime/src/lib/rooms/realtime-rooms.util.js.map +1 -1
- package/realtime/src/lib/services/realtime-publisher.service.d.ts.map +1 -1
- package/realtime/src/lib/services/realtime-publisher.service.js +7 -1
- package/realtime/src/lib/services/realtime-publisher.service.js.map +1 -1
- package/realtime/src/lib/topics/realtime-topics.d.ts +1 -0
- package/realtime/src/lib/topics/realtime-topics.d.ts.map +1 -1
- package/realtime/src/lib/topics/realtime-topics.js +2 -1
- package/realtime/src/lib/topics/realtime-topics.js.map +1 -1
- package/realtime/src/lib/types/realtime.types.d.ts +19 -0
- package/realtime/src/lib/types/realtime.types.d.ts.map +1 -1
- package/realtime/src/lib/types/realtime.types.js.map +1 -1
- package/security/src/index.d.ts +4 -0
- package/security/src/index.d.ts.map +1 -1
- package/security/src/index.js +5 -0
- package/security/src/index.js.map +1 -1
- package/security/src/lib/auth/auth-cookie-response.util.d.ts.map +1 -1
- package/security/src/lib/auth/auth-cookie-response.util.js +4 -1
- package/security/src/lib/auth/auth-cookie-response.util.js.map +1 -1
- package/security/src/lib/auth/auth-cookie.service.d.ts +2 -0
- package/security/src/lib/auth/auth-cookie.service.d.ts.map +1 -1
- package/security/src/lib/auth/auth-cookie.service.js +17 -0
- package/security/src/lib/auth/auth-cookie.service.js.map +1 -1
- package/security/src/lib/auth/auth-csrf.middleware.d.ts +14 -0
- package/security/src/lib/auth/auth-csrf.middleware.d.ts.map +1 -0
- package/security/src/lib/auth/auth-csrf.middleware.js +60 -0
- package/security/src/lib/auth/auth-csrf.middleware.js.map +1 -0
- package/security/src/lib/auth/auth-identity-provider.source.d.ts +11 -0
- package/security/src/lib/auth/auth-identity-provider.source.d.ts.map +1 -1
- package/security/src/lib/auth/auth-identity-provider.source.js +6 -1
- package/security/src/lib/auth/auth-identity-provider.source.js.map +1 -1
- package/security/src/lib/auth/auth-local-credentials.service.d.ts +8 -0
- package/security/src/lib/auth/auth-local-credentials.service.d.ts.map +1 -1
- package/security/src/lib/auth/auth-local-credentials.service.js +41 -16
- package/security/src/lib/auth/auth-local-credentials.service.js.map +1 -1
- package/security/src/lib/auth/auth-max-device-sessions-policy.d.ts +14 -0
- package/security/src/lib/auth/auth-max-device-sessions-policy.d.ts.map +1 -0
- package/security/src/lib/auth/auth-max-device-sessions-policy.js +48 -0
- package/security/src/lib/auth/auth-max-device-sessions-policy.js.map +1 -0
- package/security/src/lib/auth/auth-runtime.handlers.d.ts +15 -3
- package/security/src/lib/auth/auth-runtime.handlers.d.ts.map +1 -1
- package/security/src/lib/auth/auth-runtime.handlers.js +51 -3
- package/security/src/lib/auth/auth-runtime.handlers.js.map +1 -1
- package/security/src/lib/auth/auth.config.d.ts +7 -0
- package/security/src/lib/auth/auth.config.d.ts.map +1 -1
- package/security/src/lib/auth/auth.config.js +8 -1
- package/security/src/lib/auth/auth.config.js.map +1 -1
- package/security/src/lib/auth/auth.events.d.ts +22 -0
- package/security/src/lib/auth/auth.events.d.ts.map +1 -1
- package/security/src/lib/auth/auth.events.js +3 -1
- package/security/src/lib/auth/auth.events.js.map +1 -1
- package/security/src/lib/auth/auth.service.d.ts +65 -5
- package/security/src/lib/auth/auth.service.d.ts.map +1 -1
- package/security/src/lib/auth/auth.service.js +311 -10
- package/security/src/lib/auth/auth.service.js.map +1 -1
- package/security/src/lib/auth/auth.types.d.ts +36 -0
- package/security/src/lib/auth/auth.types.d.ts.map +1 -1
- package/security/src/lib/auth/auth.types.js.map +1 -1
- package/security/src/lib/auth/device-session.service.d.ts +59 -1
- package/security/src/lib/auth/device-session.service.d.ts.map +1 -1
- package/security/src/lib/auth/device-session.service.js +299 -28
- package/security/src/lib/auth/device-session.service.js.map +1 -1
- package/security/src/lib/auth/jwt-auth.guard.d.ts +2 -1
- package/security/src/lib/auth/jwt-auth.guard.d.ts.map +1 -1
- package/security/src/lib/auth/jwt-auth.guard.js +4 -2
- package/security/src/lib/auth/jwt-auth.guard.js.map +1 -1
- package/security/src/lib/auth/login-attempt.service.d.ts +14 -3
- package/security/src/lib/auth/login-attempt.service.d.ts.map +1 -1
- package/security/src/lib/auth/login-attempt.service.js +35 -10
- package/security/src/lib/auth/login-attempt.service.js.map +1 -1
- package/security/src/lib/auth/request-meta.util.js +64 -11
- package/security/src/lib/auth/request-meta.util.js.map +1 -1
- package/security/src/lib/auth/token-revocation.constants.d.ts +9 -0
- package/security/src/lib/auth/token-revocation.constants.d.ts.map +1 -0
- package/security/src/lib/auth/token-revocation.constants.js +14 -0
- package/security/src/lib/auth/token-revocation.constants.js.map +1 -0
- package/security/src/lib/auth/token.service.d.ts +26 -1
- package/security/src/lib/auth/token.service.d.ts.map +1 -1
- package/security/src/lib/auth/token.service.js +105 -4
- package/security/src/lib/auth/token.service.js.map +1 -1
- package/security/src/lib/oauth/connect.controller.d.ts +81 -7
- package/security/src/lib/oauth/connect.controller.d.ts.map +1 -1
- package/security/src/lib/oauth/connect.controller.js +264 -36
- package/security/src/lib/oauth/connect.controller.js.map +1 -1
- package/security/src/lib/oauth/oauth-bff.util.d.ts +9 -0
- package/security/src/lib/oauth/oauth-bff.util.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-bff.util.js +30 -0
- package/security/src/lib/oauth/oauth-bff.util.js.map +1 -0
- package/security/src/lib/oauth/oauth-claims.util.d.ts +6 -0
- package/security/src/lib/oauth/oauth-claims.util.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-claims.util.js +36 -0
- package/security/src/lib/oauth/oauth-claims.util.js.map +1 -0
- package/security/src/lib/oauth/oauth-client-registry.service.d.ts +25 -0
- package/security/src/lib/oauth/oauth-client-registry.service.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-client-registry.service.js +201 -0
- package/security/src/lib/oauth/oauth-client-registry.service.js.map +1 -0
- package/security/src/lib/oauth/oauth-connect.exception-filter.d.ts +10 -0
- package/security/src/lib/oauth/oauth-connect.exception-filter.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-connect.exception-filter.js +59 -0
- package/security/src/lib/oauth/oauth-connect.exception-filter.js.map +1 -0
- package/security/src/lib/oauth/oauth-error.util.d.ts +23 -0
- package/security/src/lib/oauth/oauth-error.util.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-error.util.js +114 -0
- package/security/src/lib/oauth/oauth-error.util.js.map +1 -0
- package/security/src/lib/oauth/oauth-grant-store.interface.d.ts +16 -0
- package/security/src/lib/oauth/oauth-grant-store.interface.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-grant-store.interface.js +14 -0
- package/security/src/lib/oauth/oauth-grant-store.interface.js.map +1 -0
- package/security/src/lib/oauth/oauth-issuer.util.d.ts +7 -0
- package/security/src/lib/oauth/oauth-issuer.util.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-issuer.util.js +25 -0
- package/security/src/lib/oauth/oauth-issuer.util.js.map +1 -0
- package/security/src/lib/oauth/oauth-op.service.d.ts +35 -0
- package/security/src/lib/oauth/oauth-op.service.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-op.service.js +152 -0
- package/security/src/lib/oauth/oauth-op.service.js.map +1 -0
- package/security/src/lib/oauth/oauth-op.types.d.ts +73 -0
- package/security/src/lib/oauth/oauth-op.types.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-op.types.js +5 -0
- package/security/src/lib/oauth/oauth-op.types.js.map +1 -0
- package/security/src/lib/oauth/oauth-provider-hint.util.d.ts +8 -0
- package/security/src/lib/oauth/oauth-provider-hint.util.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-provider-hint.util.js +24 -0
- package/security/src/lib/oauth/oauth-provider-hint.util.js.map +1 -0
- package/security/src/lib/oauth/oauth-redis-oidc-adapter.d.ts +27 -0
- package/security/src/lib/oauth/oauth-redis-oidc-adapter.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-redis-oidc-adapter.js +159 -0
- package/security/src/lib/oauth/oauth-redis-oidc-adapter.js.map +1 -0
- package/security/src/lib/oauth/oauth-rp.service.d.ts +53 -0
- package/security/src/lib/oauth/oauth-rp.service.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-rp.service.js +371 -0
- package/security/src/lib/oauth/oauth-rp.service.js.map +1 -0
- package/security/src/lib/oauth/oauth-rp.types.d.ts +25 -0
- package/security/src/lib/oauth/oauth-rp.types.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-rp.types.js +5 -0
- package/security/src/lib/oauth/oauth-rp.types.js.map +1 -0
- package/security/src/lib/oauth/oidc-provider-engine.service.d.ts +25 -0
- package/security/src/lib/oauth/oidc-provider-engine.service.d.ts.map +1 -0
- package/security/src/lib/oauth/oidc-provider-engine.service.js +208 -0
- package/security/src/lib/oauth/oidc-provider-engine.service.js.map +1 -0
- package/security/src/lib/oauth/platform-oauth.service.d.ts +43 -14
- package/security/src/lib/oauth/platform-oauth.service.d.ts.map +1 -1
- package/security/src/lib/oauth/platform-oauth.service.js +177 -170
- package/security/src/lib/oauth/platform-oauth.service.js.map +1 -1
- package/security/src/lib/oauth/platform-oauth.types.d.ts +11 -3
- package/security/src/lib/oauth/platform-oauth.types.d.ts.map +1 -1
- package/security/src/lib/oauth/platform-oauth.types.js.map +1 -1
- package/security/src/lib/oauth/redis-oauth-grant-store.service.d.ts +22 -0
- package/security/src/lib/oauth/redis-oauth-grant-store.service.d.ts.map +1 -0
- package/security/src/lib/oauth/redis-oauth-grant-store.service.js +132 -0
- package/security/src/lib/oauth/redis-oauth-grant-store.service.js.map +1 -0
- package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.d.ts +14 -0
- package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.d.ts.map +1 -0
- package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.js +46 -0
- package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.js.map +1 -0
- package/security/src/lib/oauth/testing/jest-empty-module.d.ts +4 -0
- package/security/src/lib/oauth/testing/jest-empty-module.d.ts.map +1 -0
- package/security/src/lib/oauth/testing/jest-empty-module.js +11 -0
- package/security/src/lib/oauth/testing/jest-empty-module.js.map +1 -0
- package/security/src/lib/oauth/testing/mock-oidc-provider.d.ts +49 -0
- package/security/src/lib/oauth/testing/mock-oidc-provider.d.ts.map +1 -0
- package/security/src/lib/oauth/testing/mock-oidc-provider.js +158 -0
- package/security/src/lib/oauth/testing/mock-oidc-provider.js.map +1 -0
- package/security/src/lib/security.module.d.ts.map +1 -1
- package/security/src/lib/security.module.js +31 -0
- package/security/src/lib/security.module.js.map +1 -1
- package/security/src/lib/session/backend-session.types.d.ts +2 -0
- package/security/src/lib/session/backend-session.types.d.ts.map +1 -1
- package/security/src/lib/session/backend-session.types.js.map +1 -1
- package/security/src/lib/session/optional-jwt-session.middleware.d.ts +6 -4
- package/security/src/lib/session/optional-jwt-session.middleware.d.ts.map +1 -1
- package/security/src/lib/session/optional-jwt-session.middleware.js +18 -7
- package/security/src/lib/session/optional-jwt-session.middleware.js.map +1 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//#region ----- Imports -----
|
|
3
|
+
var AuthSecurityAlertRealtimeListener_1;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.AuthSecurityAlertRealtimeListener = void 0;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const common_1 = require("@nestjs/common");
|
|
8
|
+
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
9
|
+
const security_1 = require("@acorex-platform/framework-server/security");
|
|
10
|
+
const realtime_publisher_port_1 = require("../ports/realtime-publisher.port");
|
|
11
|
+
const realtime_topics_1 = require("../topics/realtime-topics");
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region ----- Auth security alert → Socket.IO fan-out -----
|
|
14
|
+
/**
|
|
15
|
+
* Fans out auth security alerts once via the global user room `u:{userId}`
|
|
16
|
+
* (joined on realtime connect). Do not also target tenant rooms — the same
|
|
17
|
+
* socket is often in both and would receive duplicate envelopes.
|
|
18
|
+
*
|
|
19
|
+
* `session_terminated` is delivered only to `s:{targetSessionId}` so other
|
|
20
|
+
* devices of the same user are not kicked.
|
|
21
|
+
*/
|
|
22
|
+
let AuthSecurityAlertRealtimeListener = AuthSecurityAlertRealtimeListener_1 = class AuthSecurityAlertRealtimeListener {
|
|
23
|
+
constructor(publisher, deviceSessions) {
|
|
24
|
+
this.publisher = publisher;
|
|
25
|
+
this.deviceSessions = deviceSessions;
|
|
26
|
+
this.logger = new common_1.Logger(AuthSecurityAlertRealtimeListener_1.name);
|
|
27
|
+
}
|
|
28
|
+
async onSecurityAlert(payload) {
|
|
29
|
+
const userId = payload?.userId?.trim();
|
|
30
|
+
if (!userId || !payload?.kind) {
|
|
31
|
+
this.logger.warn('Ignored auth security alert without userId/kind');
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const realtimePayload = {
|
|
36
|
+
kind: payload.kind,
|
|
37
|
+
at: payload.at,
|
|
38
|
+
actorSessionId: payload.actorSessionId,
|
|
39
|
+
targetSessionId: payload.targetSessionId,
|
|
40
|
+
deviceSummary: payload.deviceSummary,
|
|
41
|
+
ipAddress: payload.ipAddress,
|
|
42
|
+
browser: payload.browser,
|
|
43
|
+
deviceName: payload.deviceName,
|
|
44
|
+
operatingSystem: payload.operatingSystem,
|
|
45
|
+
};
|
|
46
|
+
if (payload.kind === 'session_terminated') {
|
|
47
|
+
const targetSessionId = payload.targetSessionId?.trim();
|
|
48
|
+
if (!targetSessionId) {
|
|
49
|
+
this.logger.warn(`Ignored session_terminated without targetSessionId user=${userId}`);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.logger.log(`Auth session terminated user=${userId} sid=${targetSessionId}`);
|
|
53
|
+
await this.publisher.publish({
|
|
54
|
+
topic: realtime_topics_1.AXP_REALTIME_TOPIC_AUTH_SECURITY_ALERT,
|
|
55
|
+
tenantId: 'platform',
|
|
56
|
+
audience: { sessionIds: [targetSessionId] },
|
|
57
|
+
payload: realtimePayload,
|
|
58
|
+
});
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const sessions = await this.deviceSessions.listActiveSessionsForUser(userId);
|
|
62
|
+
const envelopeTenantId = sessions[0]?.tenantId?.trim() || 'platform';
|
|
63
|
+
this.logger.log(`Auth security alert kind=${payload.kind} user=${userId} activeSessions=${sessions.length}`);
|
|
64
|
+
await this.publisher.publish({
|
|
65
|
+
topic: realtime_topics_1.AXP_REALTIME_TOPIC_AUTH_SECURITY_ALERT,
|
|
66
|
+
tenantId: envelopeTenantId,
|
|
67
|
+
audience: { globalUserIds: [userId] },
|
|
68
|
+
payload: realtimePayload,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
73
|
+
this.logger.warn(`Failed to fan-out auth security alert for user ${userId}: ${message}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
exports.AuthSecurityAlertRealtimeListener = AuthSecurityAlertRealtimeListener;
|
|
78
|
+
tslib_1.__decorate([
|
|
79
|
+
(0, event_emitter_1.OnEvent)(security_1.AUTH_SECURITY_ALERT_EVENT, { async: true }),
|
|
80
|
+
tslib_1.__metadata("design:type", Function),
|
|
81
|
+
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
82
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
83
|
+
], AuthSecurityAlertRealtimeListener.prototype, "onSecurityAlert", null);
|
|
84
|
+
exports.AuthSecurityAlertRealtimeListener = AuthSecurityAlertRealtimeListener = AuthSecurityAlertRealtimeListener_1 = tslib_1.__decorate([
|
|
85
|
+
(0, common_1.Injectable)(),
|
|
86
|
+
tslib_1.__metadata("design:paramtypes", [realtime_publisher_port_1.RealtimePublisherPort,
|
|
87
|
+
security_1.DeviceSessionService])
|
|
88
|
+
], AuthSecurityAlertRealtimeListener);
|
|
89
|
+
//#endregion
|
|
90
|
+
//# sourceMappingURL=auth-security-alert-realtime.listener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-security-alert-realtime.listener.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/auth/auth-security-alert-realtime.listener.ts"],"names":[],"mappings":";AAAA,6BAA6B;;;;;AAE7B,2CAAoD;AACpD,yDAAgD;AAChD,yEAIoD;AACpD,8EAAyE;AACzE,+DAAmF;AAGnF,YAAY;AAEZ,6DAA6D;AAE7D;;;;;;;GAOG;AAEI,IAAM,iCAAiC,yCAAvC,MAAM,iCAAiC;IAG5C,YACmB,SAAgC,EAChC,cAAoC;QADpC,cAAS,GAAT,SAAS,CAAuB;QAChC,mBAAc,GAAd,cAAc,CAAsB;QAJtC,WAAM,GAAG,IAAI,eAAM,CAAC,mCAAiC,CAAC,IAAI,CAAC,CAAC;IAK1E,CAAC;IAGE,AAAN,KAAK,CAAC,eAAe,CAAC,OAAsC;QAC1D,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAwC;gBAC3D,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAC1C,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;gBACxD,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,MAAM,EAAE,CAAC,CAAC;oBACtF,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,MAAM,QAAQ,eAAe,EAAE,CAAC,CAAC;gBAEjF,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;oBAC3B,KAAK,EAAE,wDAAsC;oBAC7C,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE;oBAC3C,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC7E,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC;YAErE,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,4BAA4B,OAAO,CAAC,IAAI,SAAS,MAAM,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CAC5F,CAAC;YAEF,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC3B,KAAK,EAAE,wDAAsC;gBAC7C,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE;gBACrC,OAAO,EAAE,eAAe;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;CACF,CAAA;AAjEY,8EAAiC;AAStC;IADL,IAAA,uBAAO,EAAC,oCAAyB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;;;wEAwDnD;4CAhEU,iCAAiC;IAD7C,IAAA,mBAAU,GAAE;6CAKmB,+CAAqB;QAChB,+BAAoB;GAL5C,iCAAiC,CAiE7C;AAED,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-io-realtime.delivery.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/delivery/socket-io-realtime.delivery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE;;;GAGG;AACH,qBACa,wBAAyB,SAAQ,oBAAoB;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IACpE,OAAO,CAAC,MAAM,CAA0B;IAExC,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAKrC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"socket-io-realtime.delivery.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/delivery/socket-io-realtime.delivery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE;;;GAGG;AACH,qBACa,wBAAyB,SAAQ,oBAAoB;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IACpE,OAAO,CAAC,MAAM,CAA0B;IAExC,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAKrC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CA8B7C"}
|
|
@@ -20,21 +20,26 @@ let SocketIoRealtimeDelivery = SocketIoRealtimeDelivery_1 = class SocketIoRealti
|
|
|
20
20
|
}
|
|
21
21
|
attachServer(server) {
|
|
22
22
|
this.server = server;
|
|
23
|
-
this.logger.
|
|
23
|
+
this.logger.log('Socket.IO realtime delivery attached');
|
|
24
24
|
}
|
|
25
25
|
deliver(envelope) {
|
|
26
26
|
if (!this.server || !envelope.tenantId?.trim() || !envelope.topic?.trim()) {
|
|
27
|
+
this.logger.warn(`Realtime deliver skipped (server=${Boolean(this.server)} topic=${envelope?.topic ?? ''} tenant=${envelope?.tenantId ?? ''})`);
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
30
|
const rooms = (0, realtime_rooms_util_1.resolveRealtimeRooms)(envelope.tenantId, envelope.audience);
|
|
30
31
|
if (!rooms.length) {
|
|
32
|
+
this.logger.warn(`Realtime deliver skipped — no rooms for topic=${envelope.topic}`);
|
|
31
33
|
return;
|
|
32
34
|
}
|
|
33
|
-
// A socket may belong to multiple target rooms
|
|
34
|
-
// Emit once per socket so handlers and downstream side-effects are not duplicated.
|
|
35
|
+
// A socket may belong to multiple target rooms — emit once per socket.
|
|
35
36
|
const targetSocketIds = new Set();
|
|
36
37
|
for (const room of rooms) {
|
|
37
|
-
|
|
38
|
+
const members = this.server.adapter.rooms.get(room);
|
|
39
|
+
if (!members) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
for (const socketId of members) {
|
|
38
43
|
targetSocketIds.add(socketId);
|
|
39
44
|
}
|
|
40
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-io-realtime.delivery.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/delivery/socket-io-realtime.delivery.ts"],"names":[],"mappings":";;;;;AAAA,2CAAoD;AAEpD,4EAAuE;AACvE,sEAAoE;AACpE,+DAAsE;AAGtE,iDAAiD;AAEjD;;;GAGG;AAEI,IAAM,wBAAwB,gCAA9B,MAAM,wBAAyB,SAAQ,6CAAoB;IAA3D;;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAC;QAC5D,WAAM,GAAqB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"socket-io-realtime.delivery.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/delivery/socket-io-realtime.delivery.ts"],"names":[],"mappings":";;;;;AAAA,2CAAoD;AAEpD,4EAAuE;AACvE,sEAAoE;AACpE,+DAAsE;AAGtE,iDAAiD;AAEjD;;;GAGG;AAEI,IAAM,wBAAwB,gCAA9B,MAAM,wBAAyB,SAAQ,6CAAoB;IAA3D;;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAC;QAC5D,WAAM,GAAqB,IAAI,CAAC;IAqC1C,CAAC;IAnCC,YAAY,CAAC,MAAiB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,QAA6B;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;YAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oCAAoC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,KAAK,IAAI,EAAE,WAAW,QAAQ,EAAE,QAAQ,IAAI,EAAE,GAAG,CAC9H,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAA,0CAAoB,EAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAC/B,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,2CAAyB,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF,CAAA;AAvCY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAuCpC;AAED,YAAY"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AuthService, TokenResolverService } from '@acorex-platform/framework-server/security';
|
|
2
2
|
import type { Socket } from 'socket.io';
|
|
3
3
|
import type { AXPRealtimeSocketSession } from '../types/realtime.types';
|
|
4
|
-
export declare function authenticateRealtimeSocket(socket: Socket, tokenResolver: TokenResolverService, authService: AuthService): AXPRealtimeSocketSession | null
|
|
4
|
+
export declare function authenticateRealtimeSocket(socket: Socket, tokenResolver: TokenResolverService, authService: AuthService): Promise<AXPRealtimeSocketSession | null>;
|
|
5
5
|
//# sourceMappingURL=realtime-ws-auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-ws-auth.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/gateway/realtime-ws-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAyBxE,
|
|
1
|
+
{"version":3,"file":"realtime-ws-auth.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/gateway/realtime-ws-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAyBxE,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,oBAAoB,EACnC,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CA+B1C"}
|
|
@@ -21,7 +21,7 @@ function authTokenFromHandshake(handshake) {
|
|
|
21
21
|
}
|
|
22
22
|
return undefined;
|
|
23
23
|
}
|
|
24
|
-
function authenticateRealtimeSocket(socket, tokenResolver, authService) {
|
|
24
|
+
async function authenticateRealtimeSocket(socket, tokenResolver, authService) {
|
|
25
25
|
try {
|
|
26
26
|
const fromAuth = authTokenFromHandshake(socket.handshake);
|
|
27
27
|
const resolved = (fromAuth ? { token: fromAuth, source: 'bearer' } : null) ??
|
|
@@ -31,15 +31,17 @@ function authenticateRealtimeSocket(socket, tokenResolver, authService) {
|
|
|
31
31
|
if (!resolved?.token) {
|
|
32
32
|
return null;
|
|
33
33
|
}
|
|
34
|
-
const payload = authService.
|
|
34
|
+
const payload = await authService.validateAccessToken(resolved.token);
|
|
35
35
|
const tenantId = typeof payload.tid === 'string' ? payload.tid.trim() : '';
|
|
36
36
|
if (!payload.sub?.trim() || !tenantId) {
|
|
37
37
|
return null;
|
|
38
38
|
}
|
|
39
|
+
const sessionId = typeof payload.sid === 'string' ? payload.sid.trim() : '';
|
|
39
40
|
return {
|
|
40
41
|
userId: payload.sub.trim(),
|
|
41
42
|
tenantId,
|
|
42
43
|
username: payload.username,
|
|
44
|
+
...(sessionId ? { sessionId } : {}),
|
|
43
45
|
};
|
|
44
46
|
}
|
|
45
47
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-ws-auth.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/gateway/realtime-ws-auth.ts"],"names":[],"mappings":";;AA4BA,
|
|
1
|
+
{"version":3,"file":"realtime-ws-auth.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/gateway/realtime-ws-auth.ts"],"names":[],"mappings":";;AA4BA,gEAmCC;AA/DD,2CAAwC;AAKxC,4CAA4C;AAE5C,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5C,SAAS,SAAS,CAAC,SAA8B;IAC/C,OAAO,SAAS,CAAC,OAAwD,CAAC;AAC5E,CAAC;AAED,SAAS,sBAAsB,CAAC,SAA8B;IAC5D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAuC,CAAC;IAC/D,IAAI,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3F,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,MAAc,EACd,aAAmC,EACnC,WAAwB;IAExB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,QAAQ,GACZ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM;gBAC5F,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;gBACpD,CAAC,CAAC,SAAS,CAAC,CAAC;QAEjB,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YAC1B,QAAQ;YACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAoB;IAC7C,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,YAAY"}
|
|
@@ -26,6 +26,7 @@ export declare class RealtimeGateway implements OnGatewayInit, OnGatewayConnecti
|
|
|
26
26
|
constructor(transport: RealtimeTransportPort, delivery: SocketIoRealtimeDelivery, tokenResolver: TokenResolverService, authService: AuthService, membership: RealtimeConversationMembershipRegistry, presence: UserPresenceTrackerService, publisher: RealtimePublisherPort);
|
|
27
27
|
afterInit(): void;
|
|
28
28
|
handleConnection(socket: Socket): void;
|
|
29
|
+
private authenticateAndAttach;
|
|
29
30
|
handleDisconnect(socket: Socket): void;
|
|
30
31
|
private touchConnectedSockets;
|
|
31
32
|
subscribeConversation(socket: Socket, body: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.gateway.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/gateway/realtime.gateway.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EAId,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime.gateway.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/gateway/realtime.gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,7 +66,10 @@ let RealtimeGateway = RealtimeGateway_1 = class RealtimeGateway {
|
|
|
66
66
|
this.logger.log('Realtime gateway initialized (built-in Socket.IO namespace /realtime)');
|
|
67
67
|
}
|
|
68
68
|
handleConnection(socket) {
|
|
69
|
-
|
|
69
|
+
void this.authenticateAndAttach(socket);
|
|
70
|
+
}
|
|
71
|
+
async authenticateAndAttach(socket) {
|
|
72
|
+
const session = await (0, realtime_ws_auth_1.authenticateRealtimeSocket)(socket, this.tokenResolver, this.authService);
|
|
70
73
|
if (!session) {
|
|
71
74
|
this.logger.debug(`Rejecting unauthenticated realtime socket ${socket.id}`);
|
|
72
75
|
socket.disconnect(true);
|
|
@@ -74,9 +77,13 @@ let RealtimeGateway = RealtimeGateway_1 = class RealtimeGateway {
|
|
|
74
77
|
}
|
|
75
78
|
setSocketSession(socket, session);
|
|
76
79
|
void socket.join((0, realtime_rooms_util_1.realtimeUserRoom)(session.tenantId, session.userId));
|
|
80
|
+
void socket.join((0, realtime_rooms_util_1.realtimeUserGlobalRoom)(session.userId));
|
|
77
81
|
void socket.join((0, realtime_rooms_util_1.realtimeTenantRoom)(session.tenantId));
|
|
82
|
+
if (session.sessionId) {
|
|
83
|
+
void socket.join((0, realtime_rooms_util_1.realtimeSessionRoom)(session.sessionId));
|
|
84
|
+
}
|
|
78
85
|
void this.presence.handleSocketUp(session, socket.id);
|
|
79
|
-
this.logger.
|
|
86
|
+
this.logger.log(`Realtime connected user=${session.userId} tenant=${session.tenantId} socket=${socket.id}`);
|
|
80
87
|
}
|
|
81
88
|
handleDisconnect(socket) {
|
|
82
89
|
const session = getSocketSession(socket);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.gateway.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/gateway/realtime.gateway.ts"],"names":[],"mappings":";;;;;AAAA,2CAAwC;AACxC,mDAS4B;AAC5B,yEAA+F;AAE/F,yFAAmF;AACnF,kHAA4G;AAC5G,8EAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"realtime.gateway.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/gateway/realtime.gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.module.d.ts","sourceRoot":"","sources":["../../../../../../../libs/framework/server/realtime/src/lib/realtime.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiC,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQzF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime.module.d.ts","sourceRoot":"","sources":["../../../../../../../libs/framework/server/realtime/src/lib/realtime.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiC,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQzF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAIrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AASjC;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE5C,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC;IACzC,kGAAkG;IAClG,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;IACrE,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACjD,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;CAChD;AAMD,qBAEa,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,qBAA0B,GAAG,aAAa;CAkFnE"}
|
|
@@ -11,6 +11,7 @@ const realtime_entity_bridge_listener_1 = require("./entity-bridge/realtime-enti
|
|
|
11
11
|
const realtime_bulk_progress_bridge_listener_1 = require("./entity-bridge/realtime-bulk-progress-bridge.listener");
|
|
12
12
|
const realtime_entity_bulk_bridge_listener_1 = require("./entity-bridge/realtime-entity-bulk-bridge.listener");
|
|
13
13
|
const realtime_entity_bridge_registry_1 = require("./entity-bridge/realtime-entity-bridge.registry");
|
|
14
|
+
const auth_security_alert_realtime_listener_1 = require("./auth/auth-security-alert-realtime.listener");
|
|
14
15
|
const realtime_gateway_1 = require("./gateway/realtime.gateway");
|
|
15
16
|
const realtime_conversation_membership_registry_1 = require("./ports/realtime-conversation-membership.registry");
|
|
16
17
|
const realtime_delivery_port_1 = require("./ports/realtime-delivery.port");
|
|
@@ -82,6 +83,7 @@ let RealtimeModule = RealtimeModule_1 = class RealtimeModule {
|
|
|
82
83
|
realtime_entity_bridge_listener_1.RealtimeEntityBridgeListener,
|
|
83
84
|
realtime_entity_bulk_bridge_listener_1.RealtimeEntityBulkBridgeListener,
|
|
84
85
|
realtime_bulk_progress_bridge_listener_1.RealtimeBulkProgressBridgeListener,
|
|
86
|
+
auth_security_alert_realtime_listener_1.AuthSecurityAlertRealtimeListener,
|
|
85
87
|
{
|
|
86
88
|
provide: core_1.RuntimeBulkProgressRealtimePort,
|
|
87
89
|
useExisting: realtime_bulk_progress_bridge_listener_1.RealtimeBulkProgressBridgeListener,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.module.js","sourceRoot":"","sources":["../../../../../../../libs/framework/server/realtime/src/lib/realtime.module.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"realtime.module.js","sourceRoot":"","sources":["../../../../../../../libs/framework/server/realtime/src/lib/realtime.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
export declare function realtimeUserRoom(tenantId: string, userId: string): string;
|
|
2
|
+
/** All sockets for a user regardless of tenant (security alerts, cross-tenant signals). */
|
|
3
|
+
export declare function realtimeUserGlobalRoom(userId: string): string;
|
|
2
4
|
export declare function realtimeConversationRoom(tenantId: string, conversationId: string): string;
|
|
3
5
|
/** All users connected under the same tenant (entity list fan-out). */
|
|
4
6
|
export declare function realtimeTenantRoom(tenantId: string): string;
|
|
7
|
+
/** Socket room for a login JWT `sid` (remote session terminate). */
|
|
8
|
+
export declare function realtimeSessionRoom(sessionId: string): string;
|
|
5
9
|
export declare function resolveRealtimeRooms(tenantId: string, audience: {
|
|
6
10
|
userIds?: string[];
|
|
7
11
|
conversationId?: string;
|
|
8
12
|
tenant?: boolean;
|
|
13
|
+
/** Deliver to every connected socket for these users (all tenants). */
|
|
14
|
+
globalUserIds?: string[];
|
|
15
|
+
/** Deliver to sockets joined on JWT `sid`. */
|
|
16
|
+
sessionIds?: string[];
|
|
9
17
|
}): string[];
|
|
10
18
|
//# sourceMappingURL=realtime-rooms.util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-rooms.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/rooms/realtime-rooms.util.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"realtime-rooms.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/rooms/realtime-rooms.util.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,2FAA2F;AAC3F,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,GACA,MAAM,EAAE,CA4BV"}
|
|
@@ -2,14 +2,20 @@
|
|
|
2
2
|
//#region ---- Socket.IO room helpers ----
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.realtimeUserRoom = realtimeUserRoom;
|
|
5
|
+
exports.realtimeUserGlobalRoom = realtimeUserGlobalRoom;
|
|
5
6
|
exports.realtimeConversationRoom = realtimeConversationRoom;
|
|
6
7
|
exports.realtimeTenantRoom = realtimeTenantRoom;
|
|
8
|
+
exports.realtimeSessionRoom = realtimeSessionRoom;
|
|
7
9
|
exports.resolveRealtimeRooms = resolveRealtimeRooms;
|
|
8
10
|
// TODO(realtime): Generalize conversation-scoped rooms to refType/refId scoped rooms
|
|
9
11
|
// (e.g. t:{tenantId}:{refType}:{refId}) + per-module subscription providers; see AXPRealtimeAudience.
|
|
10
12
|
function realtimeUserRoom(tenantId, userId) {
|
|
11
13
|
return `t:${tenantId}:u:${userId}`;
|
|
12
14
|
}
|
|
15
|
+
/** All sockets for a user regardless of tenant (security alerts, cross-tenant signals). */
|
|
16
|
+
function realtimeUserGlobalRoom(userId) {
|
|
17
|
+
return `u:${userId}`;
|
|
18
|
+
}
|
|
13
19
|
function realtimeConversationRoom(tenantId, conversationId) {
|
|
14
20
|
return `t:${tenantId}:c:${conversationId}`;
|
|
15
21
|
}
|
|
@@ -17,6 +23,10 @@ function realtimeConversationRoom(tenantId, conversationId) {
|
|
|
17
23
|
function realtimeTenantRoom(tenantId) {
|
|
18
24
|
return `t:${tenantId}`;
|
|
19
25
|
}
|
|
26
|
+
/** Socket room for a login JWT `sid` (remote session terminate). */
|
|
27
|
+
function realtimeSessionRoom(sessionId) {
|
|
28
|
+
return `s:${sessionId}`;
|
|
29
|
+
}
|
|
20
30
|
function resolveRealtimeRooms(tenantId, audience) {
|
|
21
31
|
const rooms = new Set();
|
|
22
32
|
if (audience.tenant === true) {
|
|
@@ -28,6 +38,18 @@ function resolveRealtimeRooms(tenantId, audience) {
|
|
|
28
38
|
rooms.add(realtimeUserRoom(tenantId, trimmed));
|
|
29
39
|
}
|
|
30
40
|
}
|
|
41
|
+
for (const userId of audience.globalUserIds ?? []) {
|
|
42
|
+
const trimmed = userId.trim();
|
|
43
|
+
if (trimmed) {
|
|
44
|
+
rooms.add(realtimeUserGlobalRoom(trimmed));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
for (const sessionId of audience.sessionIds ?? []) {
|
|
48
|
+
const trimmed = sessionId.trim();
|
|
49
|
+
if (trimmed) {
|
|
50
|
+
rooms.add(realtimeSessionRoom(trimmed));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
31
53
|
const conversationId = audience.conversationId?.trim();
|
|
32
54
|
if (conversationId) {
|
|
33
55
|
rooms.add(realtimeConversationRoom(tenantId, conversationId));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-rooms.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/rooms/realtime-rooms.util.ts"],"names":[],"mappings":";AAAA,0CAA0C;;AAK1C,4CAEC;AAED,4DAEC;AAGD,gDAEC;AAED,
|
|
1
|
+
{"version":3,"file":"realtime-rooms.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/rooms/realtime-rooms.util.ts"],"names":[],"mappings":";AAAA,0CAA0C;;AAK1C,4CAEC;AAGD,wDAEC;AAED,4DAEC;AAGD,gDAEC;AAGD,kDAEC;AAED,oDAuCC;AAjED,qFAAqF;AACrF,sGAAsG;AAEtG,SAAgB,gBAAgB,CAAC,QAAgB,EAAE,MAAc;IAC/D,OAAO,KAAK,QAAQ,MAAM,MAAM,EAAE,CAAC;AACrC,CAAC;AAED,2FAA2F;AAC3F,SAAgB,sBAAsB,CAAC,MAAc;IACnD,OAAO,KAAK,MAAM,EAAE,CAAC;AACvB,CAAC;AAED,SAAgB,wBAAwB,CAAC,QAAgB,EAAE,cAAsB;IAC/E,OAAO,KAAK,QAAQ,MAAM,cAAc,EAAE,CAAC;AAC7C,CAAC;AAED,uEAAuE;AACvE,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,OAAO,KAAK,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED,oEAAoE;AACpE,SAAgB,mBAAmB,CAAC,SAAiB;IACnD,OAAO,KAAK,SAAS,EAAE,CAAC;AAC1B,CAAC;AAED,SAAgB,oBAAoB,CAClC,QAAgB,EAChB,QAQC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC7B,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IACvD,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-publisher.service.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/services/realtime-publisher.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAI5F,qBACa,wBAAyB,SAAQ,qBAAqB;IAGrD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAEvC,SAAS,EAAE,qBAAqB;IAIvD,OAAO,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime-publisher.service.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/services/realtime-publisher.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAI5F,qBACa,wBAAyB,SAAQ,qBAAqB;IAGrD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAEvC,SAAS,EAAE,qBAAqB;IAIvD,OAAO,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CA6C5E"}
|
|
@@ -23,8 +23,14 @@ let RealtimePublisherService = RealtimePublisherService_1 = class RealtimePublis
|
|
|
23
23
|
userIds: (input.audience.userIds ?? []).map((id) => id.trim()).filter(Boolean),
|
|
24
24
|
conversationId: input.audience.conversationId?.trim() || undefined,
|
|
25
25
|
tenant: input.audience.tenant === true,
|
|
26
|
+
globalUserIds: (input.audience.globalUserIds ?? []).map((id) => id.trim()).filter(Boolean),
|
|
27
|
+
sessionIds: (input.audience.sessionIds ?? []).map((id) => id.trim()).filter(Boolean),
|
|
26
28
|
};
|
|
27
|
-
if (!audience.userIds.length &&
|
|
29
|
+
if (!audience.userIds.length &&
|
|
30
|
+
!audience.globalUserIds.length &&
|
|
31
|
+
!audience.sessionIds.length &&
|
|
32
|
+
!audience.conversationId &&
|
|
33
|
+
!audience.tenant) {
|
|
28
34
|
this.logger.debug(`Skipping realtime publish for topic ${topic}: empty audience`);
|
|
29
35
|
return {
|
|
30
36
|
topic,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-publisher.service.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/services/realtime-publisher.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAAoD;AACpD,8EAAyE;AACzE,8EAAyE;AAGzE,qCAAqC;AAG9B,IAAM,wBAAwB,gCAA9B,MAAM,wBAAyB,SAAQ,+CAAqB;IAGjE,YAA6B,SAAgC;QAC3D,KAAK,EAAE,CAAC;QADmB,cAAS,GAAT,SAAS,CAAuB;QAF5C,WAAM,GAAG,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAC;IAIpE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAA8B;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9E,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,SAAS;YAClE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"realtime-publisher.service.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/services/realtime-publisher.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAAoD;AACpD,8EAAyE;AACzE,8EAAyE;AAGzE,qCAAqC;AAG9B,IAAM,wBAAwB,gCAA9B,MAAM,wBAAyB,SAAQ,+CAAqB;IAGjE,YAA6B,SAAgC;QAC3D,KAAK,EAAE,CAAC;QADmB,cAAS,GAAT,SAAS,CAAuB;QAF5C,WAAM,GAAG,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAC;IAIpE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAA8B;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9E,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,SAAS;YAClE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI;YACtC,aAAa,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1F,UAAU,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;SACrF,CAAC;QAEF,IACE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM;YACxB,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM;YAC9B,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM;YAC3B,CAAC,QAAQ,CAAC,cAAc;YACxB,CAAC,QAAQ,CAAC,MAAM,EAChB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,KAAK,kBAAkB,CAAC,CAAC;YAClF,OAAO;gBACL,KAAK;gBACL,QAAQ;gBACR,QAAQ;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;gBAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAwB;YACpC,KAAK;YACL,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;YAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAA;AApDY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;6CAI6B,+CAAqB;GAHlD,wBAAwB,CAoDpC;AAED,YAAY"}
|
|
@@ -6,6 +6,7 @@ export declare const AXP_REALTIME_TOPIC_CONVERSATION_CALL = "conversation.call";
|
|
|
6
6
|
export declare const AXP_REALTIME_TOPIC_ENTITY_MUTATION = "entity.mutation";
|
|
7
7
|
export declare const AXP_REALTIME_TOPIC_BULK_PROGRESS = "runtime.bulk.progress";
|
|
8
8
|
export declare const AXP_REALTIME_TOPIC_USER_PRESENCE = "user.presence";
|
|
9
|
+
export declare const AXP_REALTIME_TOPIC_AUTH_SECURITY_ALERT = "auth.security-alert";
|
|
9
10
|
export declare const AXP_REALTIME_SOCKET_EVENT = "realtime";
|
|
10
11
|
export declare const AXP_REALTIME_SUBSCRIBE_CONVERSATION = "subscribe.conversation";
|
|
11
12
|
export declare const AXP_REALTIME_UNSUBSCRIBE_CONVERSATION = "unsubscribe.conversation";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-topics.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/topics/realtime-topics.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gCAAgC,kBAAkB,CAAC;AAChE,eAAO,MAAM,8CAA8C,gCAAgC,CAAC;AAC5F,eAAO,MAAM,uCAAuC,yBAAyB,CAAC;AAC9E,eAAO,MAAM,sCAAsC,wBAAwB,CAAC;AAC5E,eAAO,MAAM,oCAAoC,sBAAsB,CAAC;AACxE,eAAO,MAAM,kCAAkC,oBAAoB,CAAC;AACpE,eAAO,MAAM,gCAAgC,0BAA0B,CAAC;AACxE,eAAO,MAAM,gCAAgC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime-topics.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/topics/realtime-topics.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gCAAgC,kBAAkB,CAAC;AAChE,eAAO,MAAM,8CAA8C,gCAAgC,CAAC;AAC5F,eAAO,MAAM,uCAAuC,yBAAyB,CAAC;AAC9E,eAAO,MAAM,sCAAsC,wBAAwB,CAAC;AAC5E,eAAO,MAAM,oCAAoC,sBAAsB,CAAC;AACxE,eAAO,MAAM,kCAAkC,oBAAoB,CAAC;AACpE,eAAO,MAAM,gCAAgC,0BAA0B,CAAC;AACxE,eAAO,MAAM,gCAAgC,kBAAkB,CAAC;AAChE,eAAO,MAAM,sCAAsC,wBAAwB,CAAC;AAE5E,eAAO,MAAM,yBAAyB,aAAa,CAAC;AACpD,eAAO,MAAM,mCAAmC,2BAA2B,CAAC;AAC5E,eAAO,MAAM,qCAAqC,6BAA6B,CAAC;AAChF,eAAO,MAAM,+BAA+B,uBAAuB,CAAC;AACpE,eAAO,MAAM,iCAAiC,yBAAyB,CAAC;AACxE,eAAO,MAAM,2BAA2B,mBAAmB,CAAC;AAC5D,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AACxD,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAEnE,wDAAwD;AACxD,eAAO,MAAM,0BAA0B,wBAAwB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
//#region ---- Realtime topic constants ----
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.AXP_REALTIME_REDIS_CHANNEL = exports.AXP_REALTIME_EMIT_TYPING = exports.AXP_REALTIME_PRESENCE_SET = exports.AXP_REALTIME_PRESENCE_LEAVE = exports.AXP_REALTIME_UNSUBSCRIBE_PRESENCE = exports.AXP_REALTIME_SUBSCRIBE_PRESENCE = exports.AXP_REALTIME_UNSUBSCRIBE_CONVERSATION = exports.AXP_REALTIME_SUBSCRIBE_CONVERSATION = exports.AXP_REALTIME_SOCKET_EVENT = exports.AXP_REALTIME_TOPIC_USER_PRESENCE = exports.AXP_REALTIME_TOPIC_BULK_PROGRESS = exports.AXP_REALTIME_TOPIC_ENTITY_MUTATION = exports.AXP_REALTIME_TOPIC_CONVERSATION_CALL = exports.AXP_REALTIME_TOPIC_CONVERSATION_TYPING = exports.AXP_REALTIME_TOPIC_CONVERSATION_MESSAGE = exports.AXP_REALTIME_TOPIC_BACKGROUND_JOB_TRAY_REFRESH = exports.AXP_REALTIME_TOPIC_INBOX_REFRESH = void 0;
|
|
4
|
+
exports.AXP_REALTIME_REDIS_CHANNEL = exports.AXP_REALTIME_EMIT_TYPING = exports.AXP_REALTIME_PRESENCE_SET = exports.AXP_REALTIME_PRESENCE_LEAVE = exports.AXP_REALTIME_UNSUBSCRIBE_PRESENCE = exports.AXP_REALTIME_SUBSCRIBE_PRESENCE = exports.AXP_REALTIME_UNSUBSCRIBE_CONVERSATION = exports.AXP_REALTIME_SUBSCRIBE_CONVERSATION = exports.AXP_REALTIME_SOCKET_EVENT = exports.AXP_REALTIME_TOPIC_AUTH_SECURITY_ALERT = exports.AXP_REALTIME_TOPIC_USER_PRESENCE = exports.AXP_REALTIME_TOPIC_BULK_PROGRESS = exports.AXP_REALTIME_TOPIC_ENTITY_MUTATION = exports.AXP_REALTIME_TOPIC_CONVERSATION_CALL = exports.AXP_REALTIME_TOPIC_CONVERSATION_TYPING = exports.AXP_REALTIME_TOPIC_CONVERSATION_MESSAGE = exports.AXP_REALTIME_TOPIC_BACKGROUND_JOB_TRAY_REFRESH = exports.AXP_REALTIME_TOPIC_INBOX_REFRESH = void 0;
|
|
5
5
|
exports.AXP_REALTIME_TOPIC_INBOX_REFRESH = 'inbox.refresh';
|
|
6
6
|
exports.AXP_REALTIME_TOPIC_BACKGROUND_JOB_TRAY_REFRESH = 'background-job.tray.refresh';
|
|
7
7
|
exports.AXP_REALTIME_TOPIC_CONVERSATION_MESSAGE = 'conversation.message';
|
|
@@ -10,6 +10,7 @@ exports.AXP_REALTIME_TOPIC_CONVERSATION_CALL = 'conversation.call';
|
|
|
10
10
|
exports.AXP_REALTIME_TOPIC_ENTITY_MUTATION = 'entity.mutation';
|
|
11
11
|
exports.AXP_REALTIME_TOPIC_BULK_PROGRESS = 'runtime.bulk.progress';
|
|
12
12
|
exports.AXP_REALTIME_TOPIC_USER_PRESENCE = 'user.presence';
|
|
13
|
+
exports.AXP_REALTIME_TOPIC_AUTH_SECURITY_ALERT = 'auth.security-alert';
|
|
13
14
|
exports.AXP_REALTIME_SOCKET_EVENT = 'realtime';
|
|
14
15
|
exports.AXP_REALTIME_SUBSCRIBE_CONVERSATION = 'subscribe.conversation';
|
|
15
16
|
exports.AXP_REALTIME_UNSUBSCRIBE_CONVERSATION = 'unsubscribe.conversation';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-topics.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/topics/realtime-topics.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;AAE/B,QAAA,gCAAgC,GAAG,eAAe,CAAC;AACnD,QAAA,8CAA8C,GAAG,6BAA6B,CAAC;AAC/E,QAAA,uCAAuC,GAAG,sBAAsB,CAAC;AACjE,QAAA,sCAAsC,GAAG,qBAAqB,CAAC;AAC/D,QAAA,oCAAoC,GAAG,mBAAmB,CAAC;AAC3D,QAAA,kCAAkC,GAAG,iBAAiB,CAAC;AACvD,QAAA,gCAAgC,GAAG,uBAAuB,CAAC;AAC3D,QAAA,gCAAgC,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime-topics.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/topics/realtime-topics.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;AAE/B,QAAA,gCAAgC,GAAG,eAAe,CAAC;AACnD,QAAA,8CAA8C,GAAG,6BAA6B,CAAC;AAC/E,QAAA,uCAAuC,GAAG,sBAAsB,CAAC;AACjE,QAAA,sCAAsC,GAAG,qBAAqB,CAAC;AAC/D,QAAA,oCAAoC,GAAG,mBAAmB,CAAC;AAC3D,QAAA,kCAAkC,GAAG,iBAAiB,CAAC;AACvD,QAAA,gCAAgC,GAAG,uBAAuB,CAAC;AAC3D,QAAA,gCAAgC,GAAG,eAAe,CAAC;AACnD,QAAA,sCAAsC,GAAG,qBAAqB,CAAC;AAE/D,QAAA,yBAAyB,GAAG,UAAU,CAAC;AACvC,QAAA,mCAAmC,GAAG,wBAAwB,CAAC;AAC/D,QAAA,qCAAqC,GAAG,0BAA0B,CAAC;AACnE,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,iCAAiC,GAAG,sBAAsB,CAAC;AAC3D,QAAA,2BAA2B,GAAG,gBAAgB,CAAC;AAC/C,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAEnE,wDAAwD;AAC3C,QAAA,0BAA0B,GAAG,qBAAqB,CAAC;AAEhE,YAAY"}
|
|
@@ -3,6 +3,10 @@ export interface AXPRealtimeAudience {
|
|
|
3
3
|
conversationId?: string;
|
|
4
4
|
/** When true, deliver to all connected users in the envelope tenant. */
|
|
5
5
|
tenant?: boolean;
|
|
6
|
+
/** Deliver to every connected socket for these users across all tenants. */
|
|
7
|
+
globalUserIds?: string[];
|
|
8
|
+
/** Deliver to sockets that joined the JWT `sid` room (`s:{sid}`). */
|
|
9
|
+
sessionIds?: string[];
|
|
6
10
|
}
|
|
7
11
|
export interface AXPRealtimeEnvelope {
|
|
8
12
|
topic: string;
|
|
@@ -23,6 +27,8 @@ export interface AXPRealtimeSocketSession {
|
|
|
23
27
|
userId: string;
|
|
24
28
|
tenantId: string;
|
|
25
29
|
username?: string;
|
|
30
|
+
/** Access-token `sid` — used for session-targeted realtime (e.g. remote terminate). */
|
|
31
|
+
sessionId?: string;
|
|
26
32
|
}
|
|
27
33
|
export interface AXPRealtimeInboxRefreshPayload {
|
|
28
34
|
deliveryId?: string;
|
|
@@ -101,4 +107,17 @@ export interface AXPRealtimeUserPresencePayload {
|
|
|
101
107
|
since?: string;
|
|
102
108
|
source?: AXPRealtimeUserPresenceSource;
|
|
103
109
|
}
|
|
110
|
+
export type AXPRealtimeAuthSecurityAlertKind = 'login_success' | 'login_failed' | 'account_locked' | 'logout' | 'session_terminated';
|
|
111
|
+
export interface AXPRealtimeAuthSecurityAlertPayload {
|
|
112
|
+
kind: AXPRealtimeAuthSecurityAlertKind;
|
|
113
|
+
at: string;
|
|
114
|
+
actorSessionId?: string;
|
|
115
|
+
/** JWT `sid` of the revoked session (session_terminated). */
|
|
116
|
+
targetSessionId?: string;
|
|
117
|
+
deviceSummary?: string;
|
|
118
|
+
ipAddress?: string;
|
|
119
|
+
browser?: string;
|
|
120
|
+
deviceName?: string;
|
|
121
|
+
operatingSystem?: string;
|
|
122
|
+
}
|
|
104
123
|
//# sourceMappingURL=realtime.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/types/realtime.types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAInB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/types/realtime.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/types/realtime.types.ts"],"names":[],"mappings":";AAAA,2CAA2C;;
|
|
1
|
+
{"version":3,"file":"realtime.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/realtime/src/lib/types/realtime.types.ts"],"names":[],"mappings":";AAAA,2CAA2C;;AA2J3C,YAAY"}
|
package/security/src/index.d.ts
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
export * from './lib/security.module';
|
|
2
|
+
export * from './lib/auth/device-session.service';
|
|
2
3
|
export * from './lib/auth/auth.service';
|
|
3
4
|
export * from './lib/auth/token.service';
|
|
4
5
|
export * from './lib/auth/token-resolver.service';
|
|
5
6
|
export * from './lib/auth/auth-cookie.service';
|
|
6
7
|
export * from './lib/auth/login-attempt.service';
|
|
7
8
|
export * from './lib/auth/auth-lockout-policy';
|
|
9
|
+
export * from './lib/auth/auth-max-device-sessions-policy';
|
|
8
10
|
export * from './lib/auth/auth.config';
|
|
9
11
|
export * from './lib/auth/machine-token.service';
|
|
10
12
|
export * from './lib/auth/auth.types';
|
|
11
13
|
export * from './lib/auth/auth.events';
|
|
12
14
|
export * from './lib/auth/auth-providers.contributor';
|
|
13
15
|
export * from './lib/auth/auth-identity-provider.source';
|
|
16
|
+
export type { OAuthRegisteredClient } from './lib/oauth/oauth-op.types';
|
|
17
|
+
export { OidcProviderEngineService } from './lib/oauth/oidc-provider-engine.service';
|
|
14
18
|
export * from './lib/auth/public.decorator';
|
|
15
19
|
export * from './lib/auth/jwt-auth.guard';
|
|
16
20
|
export * from './lib/session/backend-session.service';
|