chyz 1.0.12-rc.27 → 1.0.12-rc.28
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/BaseChyz.ts +46 -9
- package/Examples/Controllers/KeyCloakController.ts +102 -0
- package/Examples/Models/KeycloakUser.ts +66 -0
- package/Examples/index.ts +48 -8
- package/Examples/keycloak.json +7 -0
- package/Examples/log/app.log +5423 -0
- package/Examples/log/errors.log +1139 -0
- package/Examples/package.json +46 -45
- package/Examples/yarn.lock +354 -7
- package/base/index.ts +1 -1
- package/dist/BaseChyz.js +32 -3
- package/dist/BaseChyz.js.map +1 -1
- package/dist/base/index.js.map +1 -1
- package/dist/filters/auth/JwtHttpBearerAuth.js.map +1 -1
- package/dist/filters/auth/KeyCloakHttpBearerAuth.js +117 -0
- package/dist/filters/auth/KeyCloakHttpBearerAuth.js.map +1 -0
- package/dist/index.js +40 -8
- package/dist/index.js.map +1 -1
- package/filters/auth/JwtHttpBearerAuth.ts +1 -3
- package/filters/auth/KeyCloakHttpBearerAuth.ts +115 -0
- package/index.ts +22 -6
- package/package.json +2 -1
package/dist/BaseChyz.js
CHANGED
|
@@ -101,7 +101,6 @@ class BaseChyz {
|
|
|
101
101
|
* Config set
|
|
102
102
|
*/
|
|
103
103
|
this.config = config;
|
|
104
|
-
this.init();
|
|
105
104
|
let components = Utils_1.default.findKeyValue(config, "components");
|
|
106
105
|
if (components) {
|
|
107
106
|
for (const componentsKey in components) {
|
|
@@ -111,6 +110,16 @@ class BaseChyz {
|
|
|
111
110
|
(_a = BaseChyz.components[componentsKey]) === null || _a === void 0 ? void 0 : _a.init();
|
|
112
111
|
}
|
|
113
112
|
}
|
|
113
|
+
let middlewares = Utils_1.default.findKeyValue(config, "middlewares");
|
|
114
|
+
if (middlewares) {
|
|
115
|
+
for (const middlewareKey in middlewares) {
|
|
116
|
+
let middleware1 = middlewares[middlewareKey];
|
|
117
|
+
BaseChyz.debug("Create middlewares ", middlewareKey);
|
|
118
|
+
BaseChyz.middlewares[middlewareKey] = middleware1;
|
|
119
|
+
// BaseChyz.middlewares[middlewareKey] = Utils.createObject(new middleware1.class, middleware1);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
this.init();
|
|
114
123
|
return this;
|
|
115
124
|
}
|
|
116
125
|
logProvider() {
|
|
@@ -169,6 +178,10 @@ class BaseChyz {
|
|
|
169
178
|
var _a;
|
|
170
179
|
return (_a = BaseChyz.components[key]) !== null && _a !== void 0 ? _a : null;
|
|
171
180
|
}
|
|
181
|
+
static getMiddlewares(key) {
|
|
182
|
+
var _a;
|
|
183
|
+
return (_a = BaseChyz.middlewares[key]) !== null && _a !== void 0 ? _a : null;
|
|
184
|
+
}
|
|
172
185
|
/**
|
|
173
186
|
* load contoller
|
|
174
187
|
*/
|
|
@@ -228,8 +241,7 @@ class BaseChyz {
|
|
|
228
241
|
BaseChyz.express.use(bodyParser.json());
|
|
229
242
|
BaseChyz.express.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
|
|
230
243
|
BaseChyz.express.use(methodOverride());
|
|
231
|
-
BaseChyz.express.use(
|
|
232
|
-
BaseChyz.express.use(this.errorHandler);
|
|
244
|
+
BaseChyz.express.use(methodOverride());
|
|
233
245
|
// CORS
|
|
234
246
|
BaseChyz.express.use(function (req, res, next) {
|
|
235
247
|
// @ts-ignore
|
|
@@ -241,6 +253,18 @@ class BaseChyz {
|
|
|
241
253
|
res.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Origin,Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers,Authorization");
|
|
242
254
|
next();
|
|
243
255
|
});
|
|
256
|
+
//Middlewares
|
|
257
|
+
for (const middleware1 of Object.keys(BaseChyz.middlewares)) {
|
|
258
|
+
if (!Utils_1.default.isFunction(middleware1)) {
|
|
259
|
+
let keycloak = BaseChyz.middlewares[middleware1].keycloak;
|
|
260
|
+
BaseChyz.express.use(keycloak.middleware(BaseChyz.middlewares[middleware1].config));
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
BaseChyz.express.use(BaseChyz.middlewares[middleware1]);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
BaseChyz.express.use(this.errorResponder);
|
|
267
|
+
BaseChyz.express.use(this.errorHandler);
|
|
244
268
|
}
|
|
245
269
|
Start() {
|
|
246
270
|
BaseChyz.info("Express Server Starting");
|
|
@@ -257,4 +281,9 @@ exports.default = BaseChyz;
|
|
|
257
281
|
BaseChyz.express = express();
|
|
258
282
|
BaseChyz.controllers = [];
|
|
259
283
|
BaseChyz.components = {};
|
|
284
|
+
BaseChyz.middlewares = {};
|
|
285
|
+
process.on('uncaughtException', err => {
|
|
286
|
+
BaseChyz.error('There was an uncaught error', err);
|
|
287
|
+
process.exit(1); //mandatory (as per the Node.js docs)
|
|
288
|
+
});
|
|
260
289
|
//# sourceMappingURL=BaseChyz.js.map
|
package/dist/BaseChyz.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseChyz.js","sourceRoot":"","sources":["../BaseChyz.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4BAA0B;AAI1B,+DAAuC;AAGvC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,IAAI,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;AACvC,IAAI,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAG/C,MAAqB,QAAQ;IAA7B;;QAIY,UAAK,GAAW,IAAI,CAAC;QAGrB,eAAU,GAAQ,MAAA,OAAO,CAAC,0BAA0B,CAAC,mCAAI,EAAE,CAAA;QAC3D,oBAAe,GAAW,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"BaseChyz.js","sourceRoot":"","sources":["../BaseChyz.ts"],"names":[],"mappings":"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"}
|
package/dist/base/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA+B;AAC/B,+CAA4B;AAC5B,8CAA2B;AAC3B,6CAA0B;AAC1B,8CAA2B;AAC3B,iDAA8B;AAC9B,+CAA4B;AAC5B,iDAA8B;AAC9B,2DAAwC;AACxC,2DAAwC;AACxC,0DAAuC;AACvC,8DAA2C;AAC3C,yDAAsC;AACtC,4DAAyC;AACzC,0CAAuB;AACvB,+CAA4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JwtHttpBearerAuth.js","sourceRoot":"","sources":["../../../filters/auth/JwtHttpBearerAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,8DAAsC;AACtC,qDAAgD;AAChD,8EAAyE;AAKzE,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7C,MAAa,iBAAkB,SAAQ,+BAAc;IAArD;;QACI;;;WAGG;QACI,QAAG,GAAG,KAAK,CAAA;QACX,SAAI,GAAO,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"JwtHttpBearerAuth.js","sourceRoot":"","sources":["../../../filters/auth/JwtHttpBearerAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,8DAAsC;AACtC,qDAAgD;AAChD,8EAAyE;AAKzE,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7C,MAAa,iBAAkB,SAAQ,+BAAc;IAArD;;QACI;;;WAGG;QACI,QAAG,GAAG,KAAK,CAAA;QACX,SAAI,GAAO,IAAI,CAAC;IA0D3B,CAAC;IAvDG;;OAEG;IACI,IAAI;;QACP,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,+CAAsB,CAAC,2EAA2E,CAAC,CAAC;SACjH;QAED,IAAI,CAAC,IAAI,GAAG,MAAA,kBAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC;IACtD,CAAC;IAGY,YAAY,CAAC,IAAS,EAAE,OAAe,EAAE,QAAiB;;YAGnE,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACjE,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE;gBACvF,OAAO,IAAI,CAAC;aACf;YAED,kBAAQ,CAAC,KAAK,CAAC,iBAAiB,EAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,KAAK,GAAG,IAAI,CAAC;YAEjB,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;YAC3D,IAAI,CAAC,KAAK,EAAE;gBACR,kBAAQ,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC;gBAClF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACvB;YAED,IAAI,KAAK,KAAK,IAAI,EAAE;gBAChB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;oBACnB,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC3C;qBAAM;oBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAA;iBAC9E;aACJ;YAED,IAAI,QAAQ,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAGzC,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAGD;;OAEG;IACI,IAAI,CAAC,QAAiB;QACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACxB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;CAEJ;AAhED,8CAgEC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.KeyCloakHttpBearerAuth = void 0;
|
|
16
|
+
/*
|
|
17
|
+
* Copyright (c) 2021. Chy Bilgisayar Bilisim
|
|
18
|
+
* Author: Cihan Ozturk
|
|
19
|
+
* E-mail: cihan@chy.com.tr
|
|
20
|
+
* Github:https://github.com/cihan53/
|
|
21
|
+
*/
|
|
22
|
+
const BaseChyz_1 = __importDefault(require("../../BaseChyz"));
|
|
23
|
+
const HttpBearerAuth_1 = require("./HttpBearerAuth");
|
|
24
|
+
const InvalidConfigException_1 = require("../../base/InvalidConfigException");
|
|
25
|
+
const JsonWebToken = require("jsonwebtoken");
|
|
26
|
+
class KeyCloakHttpBearerAuth extends HttpBearerAuth_1.HttpBearerAuth {
|
|
27
|
+
constructor() {
|
|
28
|
+
super(...arguments);
|
|
29
|
+
/**
|
|
30
|
+
* @var string|array<string, mixed>|Jwt application component ID of the JWT handler, configuration array, or JWT handler object
|
|
31
|
+
* itself. By default it's assumes that component of ID "jwt" has been configured.
|
|
32
|
+
*/
|
|
33
|
+
this.jwt = 'jwt';
|
|
34
|
+
this.auth = null;
|
|
35
|
+
this.keycloak = null;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @throws InvalidConfigException
|
|
39
|
+
*/
|
|
40
|
+
init() {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
super.init();
|
|
43
|
+
if (!this.pattern) {
|
|
44
|
+
throw new InvalidConfigException_1.InvalidConfigException('You must provide pattern to use to extract the HTTP authentication value!');
|
|
45
|
+
}
|
|
46
|
+
this.keycloak = (_a = BaseChyz_1.default.getMiddlewares("keycloak").keycloak) !== null && _a !== void 0 ? _a : null;
|
|
47
|
+
this.user = (_b = BaseChyz_1.default.getComponent("user")) !== null && _b !== void 0 ? _b : null;
|
|
48
|
+
this.auth = this.KeyCloakCheck;
|
|
49
|
+
}
|
|
50
|
+
KeyCloakCheck(token, request, response) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
if (this.keycloak == null)
|
|
53
|
+
return false;
|
|
54
|
+
// return await this.keycloak.protect('realm:user')(request, response, () => true /*next*/)
|
|
55
|
+
return yield this.keycloak.protect()(request, response, () => true /*next*/);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
authenticate(user, request, response) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
let identity = null;
|
|
61
|
+
let token = null;
|
|
62
|
+
let autHeader = this.getHeaderByKey(request.headers, this.header);
|
|
63
|
+
if (autHeader == null || (autHeader = this.patternCheck(autHeader, this.pattern)) == null) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
token = JsonWebToken.decode(autHeader[1], { complete: true });
|
|
67
|
+
if (!token) {
|
|
68
|
+
BaseChyz_1.default.warning("Your request was made with invalid or expired JSON Web Token.");
|
|
69
|
+
this.fail(response);
|
|
70
|
+
}
|
|
71
|
+
if (token !== null) {
|
|
72
|
+
identity = yield this.KeyCloakCheck(autHeader[1], request, response);
|
|
73
|
+
BaseChyz_1.default.debug("KeyCloakCheck Result:", identity);
|
|
74
|
+
}
|
|
75
|
+
if (identity == null || identity == false)
|
|
76
|
+
this.fail(response);
|
|
77
|
+
return identity;
|
|
78
|
+
/* let autHeader = this.getHeaderByKey(request.headers, this.header)
|
|
79
|
+
if (autHeader == null || (autHeader = this.patternCheck(autHeader, this.pattern)) == null) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
BaseChyz.debug("JSON Web Token.",autHeader);
|
|
84
|
+
let identity = null;
|
|
85
|
+
let token = null;
|
|
86
|
+
|
|
87
|
+
token = JsonWebToken.decode(autHeader[1], {complete: true})
|
|
88
|
+
if (!token) {
|
|
89
|
+
BaseChyz.warning("Your request was made with invalid or expired JSON Web Token.");
|
|
90
|
+
this.fail(response);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (token !== null) {
|
|
94
|
+
if (this.auth != null) {
|
|
95
|
+
identity = await this.auth(autHeader[1])
|
|
96
|
+
} else {
|
|
97
|
+
identity = await user.loginByAccessToken(autHeader[1], "JwtHttpBearerAuth")
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (identity == null) this.fail(response)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
return identity;*/
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* @throws UnauthorizedHttpException
|
|
110
|
+
*/
|
|
111
|
+
fail(response) {
|
|
112
|
+
// this.challenge(response)
|
|
113
|
+
// this.handleFailure(response);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.KeyCloakHttpBearerAuth = KeyCloakHttpBearerAuth;
|
|
117
|
+
//# sourceMappingURL=KeyCloakHttpBearerAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyCloakHttpBearerAuth.js","sourceRoot":"","sources":["../../../filters/auth/KeyCloakHttpBearerAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,8DAAsC;AACtC,qDAAgD;AAChD,8EAAyE;AAKzE,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7C,MAAa,sBAAuB,SAAQ,+BAAc;IAA1D;;QACI;;;WAGG;QACI,QAAG,GAAG,KAAK,CAAA;QACX,SAAI,GAAQ,IAAI,CAAC;QACjB,aAAQ,GAAQ,IAAI,CAAC;IA4FhC,CAAC;IAzFG;;OAEG;IACI,IAAI;;QACP,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,+CAAsB,CAAC,2EAA2E,CAAC,CAAC;SACjH;QAED,IAAI,CAAC,QAAQ,GAAG,MAAA,kBAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,mCAAI,IAAI,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,MAAA,kBAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;IAGnC,CAAC;IAEY,aAAa,CAAC,KAAa,EAAE,OAAgB,EAAE,QAAkB;;YAC1E,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC;YACxC,2FAA2F;YAC3F,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjF,CAAC;KAAA;IAGY,YAAY,CAAC,IAAU,EAAE,OAAgB,EAAE,QAAkB;;YAGtE,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,KAAK,GAAG,IAAI,CAAC;YAEjB,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACjE,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE;gBACvF,OAAO,IAAI,CAAC;aACf;YAED,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;YAC3D,IAAI,CAAC,KAAK,EAAE;gBACR,kBAAQ,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC;gBAClF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACvB;YAED,IAAI,KAAK,KAAK,IAAI,EAAE;gBAChB,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACpE,kBAAQ,CAAC,KAAK,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAA;aACpD;YAED,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,KAAK;gBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE9D,OAAO,QAAQ,CAAC;YAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA2BmB;QACvB,CAAC;KAAA;IAGD;;OAEG;IACI,IAAI,CAAC,QAAkB;QAC1B,2BAA2B;QAC3B,gCAAgC;IACpC,CAAC;CAEJ;AAnGD,wDAmGC"}
|
package/dist/index.js
CHANGED
|
@@ -6,19 +6,51 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
6
6
|
if (k2 === undefined) k2 = k;
|
|
7
7
|
o[k2] = m[k];
|
|
8
8
|
}));
|
|
9
|
-
var
|
|
10
|
-
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
11
20
|
};
|
|
12
21
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
23
|
};
|
|
15
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.BaseChyz = exports.User = void 0;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
exports.BaseChyz = exports.User = exports.Utils = exports.post = exports.get = exports.controller = exports.HttpHeaderAuth = exports.HttpBearerAuth = exports.JwtHttpBearerAuth = exports.AccessRule = exports.AccessControl = exports.RestClient = exports.Model = exports.ValidationHttpException = exports.DataErrorDbException = exports.UnauthorizedHttpException = exports.NotFoundHttpException = exports.InvalidConfigException = exports.ForbiddenHttpException = exports.DbConnection = exports.Controller = exports.Component = exports.Behavior = exports.BaseError = exports.BaseObject = exports.ActionFilter = void 0;
|
|
26
|
+
var base_1 = require("./base");
|
|
27
|
+
Object.defineProperty(exports, "ActionFilter", { enumerable: true, get: function () { return base_1.ActionFilter; } });
|
|
28
|
+
Object.defineProperty(exports, "BaseObject", { enumerable: true, get: function () { return base_1.BaseObject; } });
|
|
29
|
+
Object.defineProperty(exports, "BaseError", { enumerable: true, get: function () { return base_1.BaseError; } });
|
|
30
|
+
Object.defineProperty(exports, "Behavior", { enumerable: true, get: function () { return base_1.Behavior; } });
|
|
31
|
+
Object.defineProperty(exports, "Component", { enumerable: true, get: function () { return base_1.Component; } });
|
|
32
|
+
Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return base_1.Controller; } });
|
|
33
|
+
Object.defineProperty(exports, "DbConnection", { enumerable: true, get: function () { return base_1.DbConnection; } });
|
|
34
|
+
Object.defineProperty(exports, "ForbiddenHttpException", { enumerable: true, get: function () { return base_1.ForbiddenHttpException; } });
|
|
35
|
+
Object.defineProperty(exports, "InvalidConfigException", { enumerable: true, get: function () { return base_1.InvalidConfigException; } });
|
|
36
|
+
Object.defineProperty(exports, "NotFoundHttpException", { enumerable: true, get: function () { return base_1.NotFoundHttpException; } });
|
|
37
|
+
Object.defineProperty(exports, "UnauthorizedHttpException", { enumerable: true, get: function () { return base_1.UnauthorizedHttpException; } });
|
|
38
|
+
Object.defineProperty(exports, "DataErrorDbException", { enumerable: true, get: function () { return base_1.DataErrorDbException; } });
|
|
39
|
+
Object.defineProperty(exports, "ValidationHttpException", { enumerable: true, get: function () { return base_1.ValidationHttpException; } });
|
|
40
|
+
Object.defineProperty(exports, "Model", { enumerable: true, get: function () { return base_1.Model; } });
|
|
41
|
+
Object.defineProperty(exports, "RestClient", { enumerable: true, get: function () { return base_1.RestClient; } });
|
|
42
|
+
var filters_1 = require("./filters");
|
|
43
|
+
Object.defineProperty(exports, "AccessControl", { enumerable: true, get: function () { return filters_1.AccessControl; } });
|
|
44
|
+
Object.defineProperty(exports, "AccessRule", { enumerable: true, get: function () { return filters_1.AccessRule; } });
|
|
45
|
+
var auth_1 = require("./filters/auth");
|
|
46
|
+
Object.defineProperty(exports, "JwtHttpBearerAuth", { enumerable: true, get: function () { return auth_1.JwtHttpBearerAuth; } });
|
|
47
|
+
Object.defineProperty(exports, "HttpBearerAuth", { enumerable: true, get: function () { return auth_1.HttpBearerAuth; } });
|
|
48
|
+
Object.defineProperty(exports, "HttpHeaderAuth", { enumerable: true, get: function () { return auth_1.HttpHeaderAuth; } });
|
|
49
|
+
var decorator_1 = require("./decorator");
|
|
50
|
+
Object.defineProperty(exports, "controller", { enumerable: true, get: function () { return decorator_1.controller; } });
|
|
51
|
+
Object.defineProperty(exports, "get", { enumerable: true, get: function () { return decorator_1.get; } });
|
|
52
|
+
Object.defineProperty(exports, "post", { enumerable: true, get: function () { return decorator_1.post; } });
|
|
53
|
+
exports.Utils = __importStar(require("./requiments/Utils"));
|
|
22
54
|
var User_1 = require("./web/User");
|
|
23
55
|
Object.defineProperty(exports, "User", { enumerable: true, get: function () { return User_1.User; } });
|
|
24
56
|
const BaseChyz_1 = __importDefault(require("./BaseChyz"));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAiBgB;AAhBZ,oGAAA,YAAY,OAAA;AACZ,kGAAA,UAAU,OAAA;AACV,iGAAA,SAAS,OAAA;AACT,gGAAA,QAAQ,OAAA;AACR,iGAAA,SAAS,OAAA;AAET,kGAAA,UAAU,OAAA;AACV,oGAAA,YAAY,OAAA;AACZ,8GAAA,sBAAsB,OAAA;AACtB,8GAAA,sBAAsB,OAAA;AACtB,6GAAA,qBAAqB,OAAA;AACrB,iHAAA,yBAAyB,OAAA;AACzB,4GAAA,oBAAoB,OAAA;AACpB,+GAAA,uBAAuB,OAAA;AACvB,6FAAA,KAAK,OAAA;AACL,kGAAA,UAAU,OAAA;AAEd,qCAAoD;AAA5C,wGAAA,aAAa,OAAA;AAAE,qGAAA,UAAU,OAAA;AACjC,uCAAiF;AAAzE,yGAAA,iBAAiB,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,sGAAA,cAAc,OAAA;AACzD,yCAAkD;AAA1C,uGAAA,UAAU,OAAA;AAAE,gGAAA,GAAG,OAAA;AAAE,iGAAA,IAAI,OAAA;AAC7B,4DAA6C;AAE7C,mCAAgC;AAAxB,4FAAA,IAAI,OAAA;AACZ,0DAAkC;AAC1B,mBADD,kBAAQ,CACC;AAEhB,MAAM,IAAI,GAAG,IAAI,kBAAQ,EAAE,CAAC;AAC5B,kBAAe,IAAI,CAAC"}
|
|
@@ -21,6 +21,7 @@ export class JwtHttpBearerAuth extends HttpBearerAuth {
|
|
|
21
21
|
public jwt = 'jwt'
|
|
22
22
|
public auth:any = null;
|
|
23
23
|
|
|
24
|
+
|
|
24
25
|
/**
|
|
25
26
|
* @throws InvalidConfigException
|
|
26
27
|
*/
|
|
@@ -39,17 +40,14 @@ export class JwtHttpBearerAuth extends HttpBearerAuth {
|
|
|
39
40
|
{
|
|
40
41
|
|
|
41
42
|
let autHeader = this.getHeaderByKey(request.headers, this.header)
|
|
42
|
-
|
|
43
43
|
if (autHeader == null || (autHeader = this.patternCheck(autHeader, this.pattern)) == null) {
|
|
44
44
|
return null;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
BaseChyz.debug("JSON Web Token.",autHeader);
|
|
48
|
-
|
|
49
48
|
let identity = null;
|
|
50
49
|
let token = null;
|
|
51
50
|
|
|
52
|
-
|
|
53
51
|
token = JsonWebToken.decode(autHeader[1], {complete: true})
|
|
54
52
|
if (!token) {
|
|
55
53
|
BaseChyz.warning("Your request was made with invalid or expired JSON Web Token.");
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021. Chy Bilgisayar Bilisim
|
|
3
|
+
* Author: Cihan Ozturk
|
|
4
|
+
* E-mail: cihan@chy.com.tr
|
|
5
|
+
* Github:https://github.com/cihan53/
|
|
6
|
+
*/
|
|
7
|
+
import BaseChyz from "../../BaseChyz";
|
|
8
|
+
import {HttpBearerAuth} from "./HttpBearerAuth";
|
|
9
|
+
import {InvalidConfigException} from "../../base/InvalidConfigException";
|
|
10
|
+
import {UnauthorizedHttpException} from "../../base/UnauthorizedHttpException";
|
|
11
|
+
import {Response, Request} from "express";
|
|
12
|
+
import {User} from "../../web/User";
|
|
13
|
+
|
|
14
|
+
const JsonWebToken = require("jsonwebtoken");
|
|
15
|
+
|
|
16
|
+
export class KeyCloakHttpBearerAuth extends HttpBearerAuth {
|
|
17
|
+
/**
|
|
18
|
+
* @var string|array<string, mixed>|Jwt application component ID of the JWT handler, configuration array, or JWT handler object
|
|
19
|
+
* itself. By default it's assumes that component of ID "jwt" has been configured.
|
|
20
|
+
*/
|
|
21
|
+
public jwt = 'jwt'
|
|
22
|
+
public auth: any = null;
|
|
23
|
+
public keycloak: any = null;
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @throws InvalidConfigException
|
|
28
|
+
*/
|
|
29
|
+
public init(): void {
|
|
30
|
+
super.init();
|
|
31
|
+
|
|
32
|
+
if (!this.pattern) {
|
|
33
|
+
throw new InvalidConfigException('You must provide pattern to use to extract the HTTP authentication value!');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
this.keycloak = BaseChyz.getMiddlewares("keycloak").keycloak ?? null;
|
|
37
|
+
this.user = BaseChyz.getComponent("user") ?? null;
|
|
38
|
+
this.auth = this.KeyCloakCheck;
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public async KeyCloakCheck(token: string, request: Request, response: Response,) {
|
|
44
|
+
if (this.keycloak == null) return false;
|
|
45
|
+
// return await this.keycloak.protect('realm:user')(request, response, () => true /*next*/)
|
|
46
|
+
return await this.keycloak.protect()(request, response, () => true /*next*/);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
public async authenticate(user: User, request: Request, response: Response) // BC signature
|
|
51
|
+
{
|
|
52
|
+
|
|
53
|
+
let identity = null;
|
|
54
|
+
let token = null;
|
|
55
|
+
|
|
56
|
+
let autHeader = this.getHeaderByKey(request.headers, this.header)
|
|
57
|
+
if (autHeader == null || (autHeader = this.patternCheck(autHeader, this.pattern)) == null) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
token = JsonWebToken.decode(autHeader[1], {complete: true})
|
|
62
|
+
if (!token) {
|
|
63
|
+
BaseChyz.warning("Your request was made with invalid or expired JSON Web Token.");
|
|
64
|
+
this.fail(response);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (token !== null) {
|
|
68
|
+
identity = await this.KeyCloakCheck(autHeader[1], request, response)
|
|
69
|
+
BaseChyz.debug("KeyCloakCheck Result:", identity)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (identity == null || identity == false) this.fail(response)
|
|
73
|
+
|
|
74
|
+
return identity;
|
|
75
|
+
|
|
76
|
+
/* let autHeader = this.getHeaderByKey(request.headers, this.header)
|
|
77
|
+
if (autHeader == null || (autHeader = this.patternCheck(autHeader, this.pattern)) == null) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
BaseChyz.debug("JSON Web Token.",autHeader);
|
|
82
|
+
let identity = null;
|
|
83
|
+
let token = null;
|
|
84
|
+
|
|
85
|
+
token = JsonWebToken.decode(autHeader[1], {complete: true})
|
|
86
|
+
if (!token) {
|
|
87
|
+
BaseChyz.warning("Your request was made with invalid or expired JSON Web Token.");
|
|
88
|
+
this.fail(response);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (token !== null) {
|
|
92
|
+
if (this.auth != null) {
|
|
93
|
+
identity = await this.auth(autHeader[1])
|
|
94
|
+
} else {
|
|
95
|
+
identity = await user.loginByAccessToken(autHeader[1], "JwtHttpBearerAuth")
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (identity == null) this.fail(response)
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
return identity;*/
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @throws UnauthorizedHttpException
|
|
109
|
+
*/
|
|
110
|
+
public fail(response: Response): void {
|
|
111
|
+
// this.challenge(response)
|
|
112
|
+
// this.handleFailure(response);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
}
|
package/index.ts
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
export {Request, Response, NextFunction} from "express";
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
export {
|
|
3
|
+
ActionFilter,
|
|
4
|
+
BaseObject,
|
|
5
|
+
BaseError,
|
|
6
|
+
Behavior,
|
|
7
|
+
Component,
|
|
8
|
+
Configurable,
|
|
9
|
+
Controller,
|
|
10
|
+
DbConnection,
|
|
11
|
+
ForbiddenHttpException,
|
|
12
|
+
InvalidConfigException,
|
|
13
|
+
NotFoundHttpException,
|
|
14
|
+
UnauthorizedHttpException,
|
|
15
|
+
DataErrorDbException,
|
|
16
|
+
ValidationHttpException,
|
|
17
|
+
Model,
|
|
18
|
+
RestClient
|
|
19
|
+
} from "./base";
|
|
20
|
+
export {AccessControl, AccessRule} from "./filters";
|
|
21
|
+
export {JwtHttpBearerAuth, HttpBearerAuth, HttpHeaderAuth} from "./filters/auth";
|
|
22
|
+
export {controller, get, post} from "./decorator";
|
|
23
|
+
export * as Utils from "./requiments/Utils";
|
|
7
24
|
export {RouteDefinition} from "./model/RouteDefinition";
|
|
8
25
|
export {User} from "./web/User";
|
|
9
|
-
|
|
10
26
|
import BaseChyz from "./BaseChyz";
|
|
11
27
|
export {BaseChyz}
|
|
12
28
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chyz",
|
|
3
|
-
"version": "1.0.12-rc.
|
|
3
|
+
"version": "1.0.12-rc.28",
|
|
4
4
|
"description": "Nodejs MicroServis Framework",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"body-parser": "^1.19.0",
|
|
27
27
|
"dotenv-flow": "^3.2.0",
|
|
28
28
|
"express": "^4.17.1",
|
|
29
|
+
"express-session": "^1.17.2",
|
|
29
30
|
"glob": "^7.1.7",
|
|
30
31
|
"ip": "^1.1.5",
|
|
31
32
|
"jsonwebtoken": "^8.5.1",
|