eservices-back-core 1.4.6 → 1.4.7
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/dist/auth/use-auth.d.ts +2 -1
- package/dist/auth/use-auth.d.ts.map +1 -1
- package/dist/auth/use-auth.js +10 -9
- package/dist/auth/use-auth.js.map +1 -1
- package/dist/logger/use-logger.d.ts +8 -0
- package/dist/logger/use-logger.d.ts.map +1 -1
- package/dist/logger/use-logger.js +25 -1
- package/dist/logger/use-logger.js.map +1 -1
- package/dist/middleware/auth-middleware.d.ts +2 -1
- package/dist/middleware/auth-middleware.d.ts.map +1 -1
- package/dist/middleware/error-middleware.d.ts.map +1 -1
- package/dist/middleware/error-middleware.js +5 -30
- package/dist/middleware/error-middleware.js.map +1 -1
- package/dist/socket/connect-socket.d.ts +21 -0
- package/dist/socket/connect-socket.d.ts.map +1 -1
- package/dist/socket/connect-socket.js +57 -43
- package/dist/socket/connect-socket.js.map +1 -1
- package/package.json +1 -1
package/dist/auth/use-auth.d.ts
CHANGED
|
@@ -16,7 +16,8 @@ declare global {
|
|
|
16
16
|
*/
|
|
17
17
|
export default function useAuth(options: IAuthOptions): {
|
|
18
18
|
useAuthMiddleware: () => import("express-serve-static-core").Router;
|
|
19
|
-
useWSAuthMiddleware: (req: Request
|
|
19
|
+
useWSAuthMiddleware: (req: Request) => Promise<void>;
|
|
20
|
+
silentLogout: (req: Request) => void;
|
|
20
21
|
};
|
|
21
22
|
interface IAuthClientState {
|
|
22
23
|
codeVerifier: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../src/auth/use-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,QAAQ,EAAkB,MAAM,eAAe,CAAC;AAE7E,OAAgB,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAKzC,QAAA,MAAM,WAAW,SAAS,CAAC;AAK3B,OAAO,CAAC,MAAM,CAAA;IACb,UAAU,OAAO,CAAC;QACjB,UAAU,OAAO;YAChB,OAAO,EAAE;gBACR,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;aACxC,CAAA;SACD;KACD;CACD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,EAAE,YAAY;;+BAsHZ,OAAO;
|
|
1
|
+
{"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../src/auth/use-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,QAAQ,EAAkB,MAAM,eAAe,CAAC;AAE7E,OAAgB,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAKzC,QAAA,MAAM,WAAW,SAAS,CAAC;AAK3B,OAAO,CAAC,MAAM,CAAA;IACb,UAAU,OAAO,CAAC;QACjB,UAAU,OAAO;YAChB,OAAO,EAAE;gBACR,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;aACxC,CAAA;SACD;KACD;CACD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,EAAE,YAAY;;+BAsHZ,OAAO;wBAqBpB,OAAO;EASlC;AAQD,UAAU,gBAAgB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;CACtC;AACD,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAC,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAA;CACpB;AA2BD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,6BAMvD;AAqBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,UAElD"}
|
package/dist/auth/use-auth.js
CHANGED
|
@@ -130,28 +130,29 @@ function useAuth(options) {
|
|
|
130
130
|
}));
|
|
131
131
|
return router;
|
|
132
132
|
}
|
|
133
|
-
function useWSAuthMiddleware(req
|
|
133
|
+
function useWSAuthMiddleware(req) {
|
|
134
134
|
return __awaiter(this, void 0, void 0, function* () {
|
|
135
135
|
debug("Process of socket auth was started.");
|
|
136
|
-
|
|
136
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
137
137
|
const authState = getAuthStateFormRequest(req);
|
|
138
138
|
if (isActiveAuthorizedState(authState))
|
|
139
|
-
return
|
|
139
|
+
return void resolve();
|
|
140
140
|
debug("Данные access авторизации устарели или не указаны.");
|
|
141
141
|
if (!isRefreshTokenProvided(authState))
|
|
142
|
-
return
|
|
142
|
+
return reject("Данные refresh авторизации не существуют либо полностью устарели. Необходимо произвести авторизацию заново.");
|
|
143
143
|
const newTokenSet = yield refreshTokenSetByRefreshToken(req.session[SESSION_KEY].refreshToken);
|
|
144
144
|
updateSessionByTokenSet(req, newTokenSet);
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
catch (e) {
|
|
148
|
-
next(e);
|
|
149
|
-
}
|
|
145
|
+
resolve();
|
|
146
|
+
}));
|
|
150
147
|
});
|
|
151
148
|
}
|
|
149
|
+
function silentLogout(req) {
|
|
150
|
+
cleanAuthStateFormRequest(req);
|
|
151
|
+
}
|
|
152
152
|
return {
|
|
153
153
|
useAuthMiddleware,
|
|
154
154
|
useWSAuthMiddleware,
|
|
155
|
+
silentLogout
|
|
155
156
|
};
|
|
156
157
|
}
|
|
157
158
|
exports.default = useAuth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth.js","sourceRoot":"","sources":["../../src/auth/use-auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"use-auth.js","sourceRoot":"","sources":["../../src/auth/use-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
import winston from "winston";
|
|
1
2
|
export default function useLogger(): void;
|
|
3
|
+
export declare class Logger {
|
|
4
|
+
static instance: Logger;
|
|
5
|
+
static logger: winston.Logger;
|
|
6
|
+
constructor();
|
|
7
|
+
static info(...attrs: any[]): void;
|
|
8
|
+
static error(...attrs: any[]): void;
|
|
9
|
+
}
|
|
2
10
|
//# sourceMappingURL=use-logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-logger.d.ts","sourceRoot":"","sources":["../../src/logger/use-logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-logger.d.ts","sourceRoot":"","sources":["../../src/logger/use-logger.ts"],"names":[],"mappings":"AAEA,OAAO,OAAoD,MAAM,SAAS,CAAC;AA4B3E,MAAM,CAAC,OAAO,UAAU,SAAS,SAyBhC;AAED,qBAAa,MAAM;IACf,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAA;;IAa7B,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE;IAI3B,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE;CAI/B"}
|
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Logger = void 0;
|
|
6
7
|
const path_1 = __importDefault(require("path"));
|
|
7
8
|
const Server_1 = __importDefault(require("../Server"));
|
|
8
9
|
const winston_1 = require("winston");
|
|
@@ -40,12 +41,35 @@ function useLogger() {
|
|
|
40
41
|
'lists',
|
|
41
42
|
'actions',
|
|
42
43
|
'criterion',
|
|
43
|
-
'dev'
|
|
44
|
+
'dev',
|
|
45
|
+
'log'
|
|
44
46
|
];
|
|
45
47
|
config.forEach(data => {
|
|
46
48
|
if (typeof data === "string")
|
|
47
49
|
addLogger(data);
|
|
48
50
|
});
|
|
51
|
+
// tslint:disable-next-line:no-unused-expression
|
|
52
|
+
new Logger();
|
|
49
53
|
}
|
|
50
54
|
exports.default = useLogger;
|
|
55
|
+
class Logger {
|
|
56
|
+
constructor() {
|
|
57
|
+
Logger.instance = this;
|
|
58
|
+
Logger.logger = (0, winston_1.createLogger)({
|
|
59
|
+
format: winston_1.format.combine(winston_1.format.splat(), winston_1.format.simple()),
|
|
60
|
+
transports: [
|
|
61
|
+
new winston_1.transports.File({ filename: getFileName('log') })
|
|
62
|
+
]
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
static info(...attrs) {
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
Logger.logger.log('info', ...attrs);
|
|
68
|
+
}
|
|
69
|
+
static error(...attrs) {
|
|
70
|
+
// @ts-ignore
|
|
71
|
+
Logger.logger.log('error', ...attrs);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.Logger = Logger;
|
|
51
75
|
//# sourceMappingURL=use-logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-logger.js","sourceRoot":"","sources":["../../src/logger/use-logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-logger.js","sourceRoot":"","sources":["../../src/logger/use-logger.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,uDAA+B;AAC/B,qCAA2E;AAE3E,SAAS,WAAW,CAAC,IAAY;IAC7B,OAAO,cAAI,CAAC,IAAI,CAAC,gBAAM,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;AAC3E,CAAC;AACD,SAAS,SAAS,CAAC,IAAY;IAC3B,IAAI,IAAI,KAAK,KAAK,EAAE;QAChB,OAAO,KAAK,iBAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YAC1B,MAAM,EAAE,gBAAM,CAAC,OAAO,CAClB,gBAAM,CAAC,KAAK,EAAE,EACd,gBAAM,CAAC,MAAM,EAAE,CAClB;YACD,UAAU,EAAE;gBACR,IAAI,oBAAU,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,EAAC,CAAC;aACrD;SACJ,CAAC,CAAA;KACL;IACD,iBAAO,CAAC,GAAG,CAAC,IAAI,EAAE;QACd,MAAM,EAAE,gBAAM,CAAC,OAAO,CAClB,gBAAM,CAAC,SAAS,EAAE,EAClB,gBAAM,CAAC,WAAW,EAAE,CACvB;QACD,UAAU,EAAE;YACR,IAAI,oBAAU,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,EAAC,CAAC;SACrD;KACJ,CAAC,CAAA;AACN,CAAC;AAED,SAAwB,SAAS;IAC7B,MAAM,MAAM,GAAG;QACX,QAAQ;QACR,UAAU;QACV,SAAS;QACT,MAAM;QACN,OAAO;QACP,QAAQ;QACR,SAAS;QACT,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,OAAO;QACP,SAAS;QACT,WAAW;QACX,KAAK;QACL,KAAK;KACR,CAAA;IACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAClB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAA;IAEF,gDAAgD;IAChD,IAAI,MAAM,EAAE,CAAA;AAEhB,CAAC;AAzBD,4BAyBC;AAED,MAAa,MAAM;IAGf;QACI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,MAAM,GAAI,IAAA,sBAAY,EAAC;YAC1B,MAAM,EAAE,gBAAM,CAAC,OAAO,CAClB,gBAAM,CAAC,KAAK,EAAE,EACd,gBAAM,CAAC,MAAM,EAAE,CAClB;YACD,UAAU,EAAE;gBACR,IAAI,oBAAU,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,EAAC,CAAC;aACtD;SACJ,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAY;QACvB,aAAa;QACb,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,KAAY;QACxB,aAAa;QACb,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,KAAK,CAAC,CAAA;IACvC,CAAC;CACJ;AAvBD,wBAuBC"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
import { IAuthOptions } from "../auth/use-auth";
|
|
4
4
|
export declare function authModule(): {
|
|
5
5
|
useAuthMiddleware: () => import("express-serve-static-core").Router;
|
|
6
|
-
useWSAuthMiddleware: (req: import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any
|
|
6
|
+
useWSAuthMiddleware: (req: import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>) => Promise<void>;
|
|
7
|
+
silentLogout: (req: import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>) => void;
|
|
7
8
|
};
|
|
8
9
|
export declare function initializeAuth(options: IAuthOptions): void;
|
|
9
10
|
//# sourceMappingURL=auth-middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/auth-middleware.ts"],"names":[],"mappings":";;AAAA,OAAgB,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAGvD,wBAAgB,UAAU
|
|
1
|
+
{"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/auth-middleware.ts"],"names":[],"mappings":";;AAAA,OAAgB,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAGvD,wBAAgB,UAAU;;;;EAEzB;AACD,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,QAEnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/error-middleware.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"error-middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/error-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;wCAKV,OAAO,OAAO,QAAQ;AAAtD,wBAmBE"}
|
|
@@ -14,37 +14,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const api_error_1 = __importDefault(require("../errors/api-error"));
|
|
16
16
|
const error_response_dto_1 = __importDefault(require("../dtos/error-response-dto"));
|
|
17
|
-
const
|
|
17
|
+
const auth_middleware_1 = require("./auth-middleware");
|
|
18
|
+
const use_logger_1 = require("../logger/use-logger");
|
|
18
19
|
exports.default = (err, req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
url: req.url,
|
|
23
|
-
query: req.query,
|
|
24
|
-
body: req.body,
|
|
25
|
-
type: req.method,
|
|
26
|
-
params: req.params,
|
|
27
|
-
});
|
|
28
|
-
if (req.method === "GET" &&
|
|
29
|
-
!req.infoUserId) {
|
|
30
|
-
try {
|
|
31
|
-
return res.redirect("/logout");
|
|
32
|
-
}
|
|
33
|
-
catch (e) {
|
|
34
|
-
res.clearCookie('token', { httpOnly: true });
|
|
35
|
-
res.clearCookie('idsrv.session', { httpOnly: true });
|
|
36
|
-
res.clearCookie('.AspNetCore.Identity.Application', { httpOnly: true });
|
|
37
|
-
res.redirect('/auth');
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Refresh token is not present in TokenSet
|
|
43
|
-
*/
|
|
44
|
-
if (err instanceof Error && err.message.includes("refresh")) {
|
|
45
|
-
res.clearCookie('token', { httpOnly: true });
|
|
46
|
-
res.clearCookie('idsrv.session', { httpOnly: true });
|
|
47
|
-
res.clearCookie('.AspNetCore.Identity.Application', { httpOnly: true });
|
|
20
|
+
use_logger_1.Logger.error("Error Middleware", err);
|
|
21
|
+
if (req.method === "GET" && !req.infoUserId) {
|
|
22
|
+
(0, auth_middleware_1.authModule)().silentLogout(req);
|
|
48
23
|
return res.redirect("/logout");
|
|
49
24
|
}
|
|
50
25
|
if (typeof err === "string")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-middleware.js","sourceRoot":"","sources":["../../src/middleware/error-middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oEAA2C;AAE3C,oFAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"error-middleware.js","sourceRoot":"","sources":["../../src/middleware/error-middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oEAA2C;AAE3C,oFAA0D;AAC1D,uDAA6C;AAC7C,qDAA4C;AAE5C,kBAAe,CAAO,GAAG,EAAE,GAAY,EAAE,GAAa,EAAE,IAAI,EAAE,EAAE;IAE/D,mBAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAEtC,IAAK,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,EAAG;QAC9C,IAAA,4BAAU,GAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;KAC9B;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC1B,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAE9D,IAAI,GAAG,YAAY,mBAAQ;QAC1B,OAAO,KAAK,GAAG;aACd,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;aAClB,IAAI,CAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAElD,IAAI,GAAG,YAAY,KAAK;QACvB,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC,CAAA,CAAC"}
|
|
@@ -5,10 +5,31 @@ import Server from "../Server";
|
|
|
5
5
|
* чтения данных и т.д.
|
|
6
6
|
*/
|
|
7
7
|
export default function connectSocket(webServer: Server): void;
|
|
8
|
+
/**
|
|
9
|
+
* @description Метод предназначен для отправки сообщения в WS.
|
|
10
|
+
*
|
|
11
|
+
* @param {WebSocket} ws websocket connection.
|
|
12
|
+
* @param {String} event Message event name.
|
|
13
|
+
* @param {any} response Payload of message.
|
|
14
|
+
* @param {number} requestId Number of request. If Current message is response, the requestId will be taken from request.
|
|
15
|
+
*/
|
|
8
16
|
export declare function sendWSResponse(ws: WebSocket, event: string, response: any, requestId?: number): void;
|
|
9
17
|
export interface ISocketOptions {
|
|
18
|
+
/**
|
|
19
|
+
* @description Целый AccessToken, который нужно использовать в запросах на AppServer.
|
|
20
|
+
*/
|
|
10
21
|
token: string;
|
|
22
|
+
/**
|
|
23
|
+
* @description Вычисленный UsageContext по переданному URL.
|
|
24
|
+
*/
|
|
11
25
|
usageContext: string;
|
|
26
|
+
/**
|
|
27
|
+
* @description Идентификатор текущего контекста пользователя.
|
|
28
|
+
*/
|
|
12
29
|
contextId: number;
|
|
30
|
+
/**
|
|
31
|
+
* @description Идентификатор пользователя.
|
|
32
|
+
*/
|
|
33
|
+
userId: number;
|
|
13
34
|
}
|
|
14
35
|
//# sourceMappingURL=connect-socket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-socket.d.ts","sourceRoot":"","sources":["../../src/socket/connect-socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,IAAI,CAAC;AAC7B,OAAO,MAAM,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"connect-socket.d.ts","sourceRoot":"","sources":["../../src/socket/connect-socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,IAAI,CAAC;AAC7B,OAAO,MAAM,MAAM,WAAW,CAAC;AAiB/B;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,SAAS,EAAE,MAAM,QAsFtD;AAkBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAE,MAAU,QAMhG;AAaD,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -18,27 +18,28 @@ const get_usage_context_1 = __importDefault(require("../utils/get-usage-context"
|
|
|
18
18
|
const metadata_read_socket_1 = require("./metadata-read-socket");
|
|
19
19
|
const configuration_read_socket_1 = require("./configuration-read-socket");
|
|
20
20
|
const entity_count_socket_1 = require("./entity-count-socket");
|
|
21
|
-
const winston_1 = require("winston");
|
|
22
21
|
const core_socket_server_1 = __importDefault(require("./core-socket-server"));
|
|
23
22
|
const http_1 = __importDefault(require("http"));
|
|
24
23
|
const debug_1 = __importDefault(require("debug"));
|
|
25
24
|
const session_middleware_1 = require("../middleware/session-middleware");
|
|
26
25
|
const auth_middleware_1 = require("../middleware/auth-middleware");
|
|
27
26
|
const use_auth_1 = require("../auth/use-auth");
|
|
28
|
-
const
|
|
27
|
+
const use_logger_1 = require("../logger/use-logger");
|
|
28
|
+
const debug = (0, debug_1.default)("eservices-core:socket");
|
|
29
|
+
const SOCKET_EVENT_ERROR = 'request-error';
|
|
29
30
|
/**
|
|
30
31
|
* @description Метод используется для присоединения сокета к HTTP серверу. Также добавляются простые обработчики для
|
|
31
32
|
* чтения данных и т.д.
|
|
32
33
|
*/
|
|
33
34
|
function connectSocket(webServer) {
|
|
34
35
|
debug("Socket was installed.");
|
|
35
|
-
const devLogger = winston_1.loggers.get('dev');
|
|
36
36
|
const socketServer = webServer.socket = new core_socket_server_1.default({
|
|
37
37
|
noServer: true,
|
|
38
38
|
perMessageDeflate: true
|
|
39
39
|
})
|
|
40
40
|
.on('connection', function connection(ws, req) {
|
|
41
|
-
|
|
41
|
+
const userId = req.infoUserId;
|
|
42
|
+
debug(`Socket connection for %d was implemented.`, userId);
|
|
42
43
|
socketServer.addSocket(ws, req.infoUserId);
|
|
43
44
|
sendWSResponse(ws, 'configuration:read', (0, configuration_read_socket_1.readConfiguration)());
|
|
44
45
|
debug("Socket was added to server and configuration was send.");
|
|
@@ -46,13 +47,16 @@ function connectSocket(webServer) {
|
|
|
46
47
|
ws.on('message', function message(stringData) {
|
|
47
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
48
49
|
const info = JSON.parse(stringData.toString());
|
|
49
|
-
const options = {
|
|
50
|
-
token: req.infoAccessToken,
|
|
51
|
-
usageContext: (0, get_usage_context_1.default)(info.url),
|
|
52
|
-
contextId: info.contextId
|
|
53
|
-
};
|
|
54
|
-
const sendResult = wrapResponse(ws, info.requestId, info.event);
|
|
55
50
|
try {
|
|
51
|
+
yield (0, auth_middleware_1.authModule)().useWSAuthMiddleware(req);
|
|
52
|
+
debug('Socket-message from user(%d) authorize successfully.', userId);
|
|
53
|
+
const options = {
|
|
54
|
+
token: (0, use_auth_1.getFullAccessToken)(req),
|
|
55
|
+
usageContext: (0, get_usage_context_1.default)(info.url),
|
|
56
|
+
contextId: info.contextId,
|
|
57
|
+
userId
|
|
58
|
+
};
|
|
59
|
+
const sendResult = wrapResponse(ws, info.requestId, info.event);
|
|
56
60
|
switch (info.event) {
|
|
57
61
|
case "configuration:read": {
|
|
58
62
|
sendResult((0, configuration_read_socket_1.readConfiguration)());
|
|
@@ -73,56 +77,48 @@ function connectSocket(webServer) {
|
|
|
73
77
|
}
|
|
74
78
|
}
|
|
75
79
|
catch (err) {
|
|
76
|
-
|
|
77
|
-
|
|
80
|
+
use_logger_1.Logger.info(`Socket request error. UserId %d. RequestId %d`, userId, info.requestId, err);
|
|
81
|
+
sendWSError(ws, err, info.requestId);
|
|
78
82
|
}
|
|
79
83
|
});
|
|
80
84
|
});
|
|
81
85
|
ws.on('close', () => {
|
|
82
86
|
debug("Socket Connection was closed");
|
|
87
|
+
use_logger_1.Logger.info("Socket connection closed.");
|
|
83
88
|
socketServer.deleteSocket(ws.id);
|
|
84
89
|
});
|
|
85
90
|
});
|
|
91
|
+
/**
|
|
92
|
+
* @description Перехватчик используется для того для проверки авторизации пользователя. Socket соединение не будет
|
|
93
|
+
* установлено в случае, если пользователь является неавторизованным.
|
|
94
|
+
*
|
|
95
|
+
* После успешной авторизации, сокет соединение успешно устанавливается.
|
|
96
|
+
*/
|
|
86
97
|
webServer.httpServer.on('upgrade', function upgrade(request, socket, head) {
|
|
87
|
-
debug(`Start upgrade. Http
|
|
98
|
+
debug(`Start upgrade. Http Version: %s.`, request.httpVersion);
|
|
88
99
|
const response = new http_1.default.ServerResponse(request);
|
|
89
100
|
response.assignSocket(socket);
|
|
90
101
|
response.on('finish', () => {
|
|
91
102
|
debug("Socket response finished");
|
|
92
103
|
response.socket.destroy();
|
|
93
104
|
});
|
|
94
|
-
(0, session_middleware_1.sessionParser)(request, response, () => {
|
|
95
|
-
// @ts-ignore
|
|
105
|
+
(0, session_middleware_1.sessionParser)(request, response, () => __awaiter(this, void 0, void 0, function* () {
|
|
96
106
|
socket.on('error', onSocketError);
|
|
97
107
|
try {
|
|
98
|
-
(0, auth_middleware_1.authModule)().useWSAuthMiddleware(request
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
socket.write('HTTP/1.1 401 Unauthorized\r\n\r\n');
|
|
105
|
-
socket.destroy();
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
socket.removeListener('error', onSocketError);
|
|
109
|
-
request.infoUserId = Number.parseInt((0, use_auth_1.getAuthStateFormRequest)(request).claims["AppRegister.Claim.UserId"], 10);
|
|
110
|
-
request.infoAccessToken = (0, use_auth_1.getFullAccessToken)(request);
|
|
111
|
-
debug("Socket set info data.");
|
|
112
|
-
socketServer.handleUpgrade(request, socket, head, function done(ws) {
|
|
113
|
-
debug("Socket Server handle upgrade and emit connection.");
|
|
114
|
-
socketServer.emit('connection', ws, request);
|
|
115
|
-
});
|
|
116
|
-
});
|
|
108
|
+
yield (0, auth_middleware_1.authModule)().useWSAuthMiddleware(request);
|
|
109
|
+
debug("Primary socket check auth was success!");
|
|
110
|
+
socket.removeListener('error', onSocketError);
|
|
111
|
+
socketServer.handleUpgrade(request, socket, head, function done(ws) {
|
|
112
|
+
debug("Socket Server handle upgrade and emit connection.");
|
|
113
|
+
socketServer.emit('connection', ws, request);
|
|
117
114
|
});
|
|
118
115
|
}
|
|
119
116
|
catch (e) {
|
|
117
|
+
socket.write('HTTP/1.1 401 Unauthorized\r\n\r\n');
|
|
118
|
+
socket.destroy();
|
|
120
119
|
debug(e);
|
|
121
|
-
console.log("-", request);
|
|
122
|
-
devLogger.info(`Try/Catch for AuthMiddleware with error!`, e);
|
|
123
|
-
console.log('Socket error', e);
|
|
124
120
|
}
|
|
125
|
-
});
|
|
121
|
+
}));
|
|
126
122
|
});
|
|
127
123
|
}
|
|
128
124
|
exports.default = connectSocket;
|
|
@@ -131,17 +127,24 @@ exports.default = connectSocket;
|
|
|
131
127
|
*/
|
|
132
128
|
function onSocketError(err) {
|
|
133
129
|
debug(err);
|
|
134
|
-
|
|
135
|
-
devLogger.info('on socket error' + err);
|
|
136
|
-
console.error(err);
|
|
137
|
-
const logger = winston_1.loggers.get('main');
|
|
138
|
-
logger.error(typeof err === 'string' ? err : err instanceof Error ? err.message : err);
|
|
130
|
+
use_logger_1.Logger.info("Socket handler error", err);
|
|
139
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* @description Обёртка для ответов. Используется, для ответа на текущее сообщение.
|
|
134
|
+
*/
|
|
140
135
|
function wrapResponse(ws, requestId, defaultEvent) {
|
|
141
136
|
return (response, event) => {
|
|
142
137
|
sendWSResponse(ws, event || defaultEvent, response, requestId);
|
|
143
138
|
};
|
|
144
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* @description Метод предназначен для отправки сообщения в WS.
|
|
142
|
+
*
|
|
143
|
+
* @param {WebSocket} ws websocket connection.
|
|
144
|
+
* @param {String} event Message event name.
|
|
145
|
+
* @param {any} response Payload of message.
|
|
146
|
+
* @param {number} requestId Number of request. If Current message is response, the requestId will be taken from request.
|
|
147
|
+
*/
|
|
145
148
|
function sendWSResponse(ws, event, response, requestId = 0) {
|
|
146
149
|
ws.send(JSON.stringify({
|
|
147
150
|
event,
|
|
@@ -150,4 +153,15 @@ function sendWSResponse(ws, event, response, requestId = 0) {
|
|
|
150
153
|
}));
|
|
151
154
|
}
|
|
152
155
|
exports.sendWSResponse = sendWSResponse;
|
|
156
|
+
/**
|
|
157
|
+
* @description Метод используется для отправки ответа-ошибки пользователя. Является обёрткой над обычным отправителем
|
|
158
|
+
* сообщения с указанным event.
|
|
159
|
+
*/
|
|
160
|
+
function sendWSError(ws, response, requestId = 0) {
|
|
161
|
+
ws.send(JSON.stringify({
|
|
162
|
+
event: SOCKET_EVENT_ERROR,
|
|
163
|
+
data: response,
|
|
164
|
+
requestId
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
153
167
|
//# sourceMappingURL=connect-socket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-socket.js","sourceRoot":"","sources":["../../src/socket/connect-socket.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,6DAAsD;AACtD,mFAAyD;AACzD,iEAAoD;AACpD,2EAA8D;AAC9D,+DAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"connect-socket.js","sourceRoot":"","sources":["../../src/socket/connect-socket.ts"],"names":[],"mappings":"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"}
|