chyz 1.0.12-rc.9 → 1.0.13-rc.4
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/BaseChyz.js → BaseChyz.js} +45 -8
- package/BaseChyz.js.map +1 -0
- package/{dist/Chyz.js → Chyz.js} +0 -0
- package/{dist/Chyz.js.map → Chyz.js.map} +0 -0
- package/README.md +80 -28
- package/{dist/base → base}/ActionFilter.js +2 -2
- package/base/ActionFilter.js.map +1 -0
- package/{dist/base → base}/BaseError.js +2 -2
- package/base/BaseError.js.map +1 -0
- package/{dist/base → base}/BaseObject.js +0 -0
- package/{dist/base → base}/BaseObject.js.map +0 -0
- package/{dist/base → base}/Behavior.js +0 -0
- package/{dist/base → base}/Behavior.js.map +0 -0
- package/{dist/base → base}/Component.js +0 -0
- package/{dist/base → base}/Component.js.map +0 -0
- package/{dist/base → base}/Configurable.js +0 -0
- package/{dist/base → base}/Configurable.js.map +0 -0
- package/{dist/base → base}/Controller.js +0 -0
- package/{dist/base → base}/Controller.js.map +0 -0
- package/{dist/base → base}/DataErrorDbException.js +1 -1
- package/{dist/base → base}/DataErrorDbException.js.map +1 -1
- package/{dist/base → base}/DbConnection.js +0 -0
- package/{dist/base → base}/DbConnection.js.map +0 -0
- package/{dist/base → base}/ForbiddenHttpException.js +1 -1
- package/{dist/base → base}/ForbiddenHttpException.js.map +1 -1
- package/{dist/base → base}/InvalidConfigException.js +1 -1
- package/{dist/base → base}/InvalidConfigException.js.map +1 -1
- package/{dist/base → base}/Model.js +121 -3
- package/base/Model.js.map +1 -0
- package/{dist/base → base}/NotFoundHttpException.js +1 -1
- package/{dist/base → base}/NotFoundHttpException.js.map +1 -1
- package/base/RestClient.js +27 -0
- package/base/RestClient.js.map +1 -0
- package/{dist/base → base}/UnauthorizedHttpException.js +1 -1
- package/{dist/base → base}/UnauthorizedHttpException.js.map +1 -1
- package/{dist/base → base}/ValidationHttpException.js +1 -1
- package/{dist/base → base}/ValidationHttpException.js.map +1 -1
- package/{dist/base → base}/db/Exception.js +0 -0
- package/{dist/base → base}/db/Exception.js.map +0 -0
- package/{dist/base → base}/index.js +2 -0
- package/{dist/base → base}/index.js.map +1 -1
- package/{dist/decorator → decorator}/Middleware.js +0 -0
- package/{dist/decorator → decorator}/Middleware.js.map +0 -0
- package/{dist/decorator → decorator}/controller.js +0 -0
- package/{dist/decorator → decorator}/controller.js.map +0 -0
- package/{dist/decorator → decorator}/enums/ControllerDecoratorParams.js +0 -0
- package/{dist/decorator → decorator}/enums/ControllerDecoratorParams.js.map +0 -0
- package/{dist/decorator → decorator}/get.js +0 -0
- package/{dist/decorator → decorator}/get.js.map +0 -0
- package/{dist/decorator → decorator}/index.js +0 -0
- package/{dist/decorator → decorator}/index.js.map +0 -0
- package/{dist/decorator → decorator}/post.js +0 -0
- package/{dist/decorator → decorator}/post.js.map +0 -0
- package/{dist/filters → filters}/AccessControl.js +2 -2
- package/filters/AccessControl.js.map +1 -0
- package/{dist/filters → filters}/AccessRule.js +0 -0
- package/{dist/filters → filters}/AccessRule.js.map +1 -1
- package/{dist/filters → filters}/auth/AuthInterface.js +0 -0
- package/{dist/filters → filters}/auth/AuthInterface.js.map +0 -0
- package/{dist/filters → filters}/auth/AuthMethod.js +2 -2
- package/filters/auth/AuthMethod.js.map +1 -0
- package/{dist/filters → filters}/auth/HttpBasicAuth.js +0 -0
- package/{dist/filters → filters}/auth/HttpBasicAuth.js.map +0 -0
- package/{dist/filters → filters}/auth/HttpBearerAuth.js +0 -0
- package/{dist/filters → filters}/auth/HttpBearerAuth.js.map +0 -0
- package/{dist/filters → filters}/auth/HttpHeaderAuth.js +0 -0
- package/{dist/filters → filters}/auth/HttpHeaderAuth.js.map +1 -1
- package/{dist/filters → filters}/auth/JwtHttpBearerAuth.js +1 -0
- package/filters/auth/JwtHttpBearerAuth.js.map +1 -0
- package/filters/auth/KeyCloakHttpBearerAuth.js +117 -0
- package/filters/auth/KeyCloakHttpBearerAuth.js.map +1 -0
- package/{dist/filters → filters}/auth/index.js +0 -0
- package/{dist/filters → filters}/auth/index.js.map +0 -0
- package/{dist/filters → filters}/index.js +0 -0
- package/{dist/filters → filters}/index.js.map +0 -0
- package/index.js +28 -0
- package/index.js.map +1 -0
- package/log/config/log4js.json +55 -0
- package/{dist/model → model}/RouteDefinition.js +0 -0
- package/{dist/model → model}/RouteDefinition.js.map +0 -0
- package/package.json +56 -52
- package/{dist/requiments → requiments}/Glob.js +0 -0
- package/{dist/requiments → requiments}/Glob.js.map +0 -0
- package/{dist/requiments → requiments}/ReflectUtil.js +0 -0
- package/{dist/requiments → requiments}/ReflectUtil.js.map +0 -0
- package/{dist/requiments → requiments}/Utils.js +0 -0
- package/{dist/requiments → requiments}/Utils.js.map +0 -0
- package/{dist/validators → validators}/BooleanValidator.js +0 -0
- package/{dist/validators → validators}/BooleanValidator.js.map +0 -0
- package/{dist/validators → validators}/CompareValidator.js +0 -0
- package/{dist/validators → validators}/CompareValidator.js.map +0 -0
- package/{dist/validators → validators}/DateValidator.js +0 -0
- package/{dist/validators → validators}/DateValidator.js.map +0 -0
- package/{dist/validators → validators}/EmailValidator.js +0 -0
- package/{dist/validators → validators}/EmailValidator.js.map +0 -0
- package/{dist/validators → validators}/Validator.js +0 -0
- package/{dist/validators → validators}/Validator.js.map +0 -0
- package/{dist/web → web}/IdentityInterface.js +0 -0
- package/{dist/web → web}/IdentityInterface.js.map +0 -0
- package/{dist/web/User.js → web/WebUser.js} +12 -7
- package/web/WebUser.js.map +1 -0
- package/BaseChyz.ts +0 -313
- package/Chyz.ts +0 -11
- package/Examples/Controllers/ApiController.ts +0 -121
- package/Examples/Controllers/PublicController.ts +0 -44
- package/Examples/Controllers/SiteController.ts +0 -127
- package/Examples/Models/Customer.ts +0 -113
- package/Examples/Models/Order.ts +0 -48
- package/Examples/Models/OrderItem.ts +0 -26
- package/Examples/Models/User.ts +0 -80
- package/Examples/index.ts +0 -38
- package/Examples/package.json +0 -45
- package/Examples/tsconfig.json +0 -20
- package/Examples/yarn.lock +0 -2202
- package/base/ActionFilter.ts +0 -71
- package/base/BaseError.ts +0 -26
- package/base/BaseObject.ts +0 -19
- package/base/Behavior.ts +0 -6
- package/base/Component.ts +0 -66
- package/base/Configurable.ts +0 -10
- package/base/Controller.ts +0 -84
- package/base/DataErrorDbException.ts +0 -16
- package/base/DbConnection.ts +0 -51
- package/base/ForbiddenHttpException.ts +0 -15
- package/base/InvalidConfigException.ts +0 -16
- package/base/Model.ts +0 -209
- package/base/NotFoundHttpException.ts +0 -14
- package/base/UnauthorizedHttpException.ts +0 -16
- package/base/ValidationHttpException.ts +0 -14
- package/base/db/Exception.ts +0 -14
- package/base/index.ts +0 -14
- package/decorator/Middleware.ts +0 -9
- package/decorator/controller.ts +0 -22
- package/decorator/enums/ControllerDecoratorParams.ts +0 -5
- package/decorator/get.ts +0 -37
- package/decorator/index.ts +0 -3
- package/decorator/post.ts +0 -36
- package/dist/BaseChyz.js.map +0 -1
- package/dist/base/ActionFilter.js.map +0 -1
- package/dist/base/BaseError.js.map +0 -1
- package/dist/base/Model.js.map +0 -1
- package/dist/filters/AccessControl.js.map +0 -1
- package/dist/filters/auth/AuthMethod.js.map +0 -1
- package/dist/filters/auth/JwtHttpBearerAuth.js.map +0 -1
- package/dist/web/User.js.map +0 -1
- package/filters/AccessControl.ts +0 -64
- package/filters/AccessRule.ts +0 -137
- package/filters/auth/AuthInterface.ts +0 -34
- package/filters/auth/AuthMethod.ts +0 -88
- package/filters/auth/HttpBasicAuth.ts +0 -7
- package/filters/auth/HttpBearerAuth.ts +0 -31
- package/filters/auth/HttpHeaderAuth.ts +0 -53
- package/filters/auth/JwtHttpBearerAuth.ts +0 -81
- package/filters/auth/index.ts +0 -3
- package/filters/index.ts +0 -2
- package/model/RouteDefinition.ts +0 -18
- package/requiments/Glob.ts +0 -9
- package/requiments/ReflectUtil.ts +0 -26
- package/requiments/Utils.ts +0 -57
- package/tsconfig.json +0 -18
- package/validators/BooleanValidator.ts +0 -0
- package/validators/CompareValidator.ts +0 -0
- package/validators/DateValidator.ts +0 -0
- package/validators/EmailValidator.ts +0 -0
- package/validators/Validator.ts +0 -27
- package/web/IdentityInterface.ts +0 -62
- package/web/User.ts +0 -96
package/decorator/controller.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
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
|
-
|
|
8
|
-
// @ts-ignore
|
|
9
|
-
import "reflect-metadata";
|
|
10
|
-
export const controller = (prefix: string = ''): ClassDecorator => {
|
|
11
|
-
return (target: any) => {
|
|
12
|
-
// @ts-ignore
|
|
13
|
-
Reflect.defineMetadata('prefix', prefix, target);
|
|
14
|
-
|
|
15
|
-
// Since routes are set by our methods this should almost never be true (except the controller has no methods)
|
|
16
|
-
// @ts-ignore
|
|
17
|
-
if (! Reflect.hasMetadata('routes', target)) {
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
Reflect.defineMetadata('routes', [], target);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
};
|
package/decorator/get.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
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
|
-
// @ts-ignore
|
|
8
|
-
import "reflect-metadata";
|
|
9
|
-
import {RouteDefinition} from '../model/RouteDefinition';
|
|
10
|
-
|
|
11
|
-
export const get = (path: string): MethodDecorator => {
|
|
12
|
-
// `target` equals our class, `propertyKey` equals our decorated method name
|
|
13
|
-
// @ts-ignore
|
|
14
|
-
return (target, propertyKey: string): void => {
|
|
15
|
-
// In case this is the first route to be registered the `routes` metadata is likely to be undefined at this point.
|
|
16
|
-
// To prevent any further validation simply set it to an empty array here.
|
|
17
|
-
// @ts-ignore
|
|
18
|
-
if (!Reflect.hasMetadata('routes', target.constructor)) {
|
|
19
|
-
// @ts-ignore
|
|
20
|
-
Reflect.defineMetadata('routes', [], target.constructor);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Get the routes stored so far, extend it by the new route and re-set the metadata.
|
|
24
|
-
// @ts-ignore
|
|
25
|
-
const routes = Reflect.getMetadata('routes', target.constructor) as Array<RouteDefinition>;
|
|
26
|
-
|
|
27
|
-
routes.push({
|
|
28
|
-
id:"",
|
|
29
|
-
requestMethod: 'get',
|
|
30
|
-
path,
|
|
31
|
-
methodName: propertyKey
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// @ts-ignore
|
|
35
|
-
Reflect.defineMetadata('routes', routes, target.constructor);
|
|
36
|
-
};
|
|
37
|
-
};
|
package/decorator/index.ts
DELETED
package/decorator/post.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
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
|
-
// @ts-ignore
|
|
8
|
-
import "reflect-metadata";
|
|
9
|
-
import {RouteDefinition} from '../model/RouteDefinition';
|
|
10
|
-
|
|
11
|
-
export const post = (path: string): MethodDecorator => {
|
|
12
|
-
// `target` equals our class, `propertyKey` equals our decorated method name
|
|
13
|
-
// @ts-ignore
|
|
14
|
-
return (target, propertyKey: string): void => {
|
|
15
|
-
// In case this is the first route to be registered the `routes` metadata is likely to be undefined at this point.
|
|
16
|
-
// To prevent any further validation simply set it to an empty array here.
|
|
17
|
-
// @ts-ignore
|
|
18
|
-
if (!Reflect.hasMetadata('routes', target.constructor)) {
|
|
19
|
-
// @ts-ignore
|
|
20
|
-
Reflect.defineMetadata('routes', [], target.constructor);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Get the routes stored so far, extend it by the new route and re-set the metadata.
|
|
24
|
-
// @ts-ignore
|
|
25
|
-
const routes = Reflect.getMetadata('routes', target.constructor) as Array<RouteDefinition>;
|
|
26
|
-
|
|
27
|
-
routes.push({
|
|
28
|
-
id:"",
|
|
29
|
-
requestMethod: 'post',
|
|
30
|
-
path,
|
|
31
|
-
methodName: propertyKey
|
|
32
|
-
});
|
|
33
|
-
// @ts-ignore
|
|
34
|
-
Reflect.defineMetadata('routes', routes, target.constructor);
|
|
35
|
-
};
|
|
36
|
-
};
|
package/dist/BaseChyz.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseChyz.js","sourceRoot":"","sources":["../BaseChyz.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ActionFilter.js","sourceRoot":"","sources":["../../base/ActionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,gEAAwC;AACxC,yCAAoC;AAEpC,MAAa,YAAa,SAAQ,mBAAQ;IAA1C;;QAII;;;WAGG;QACI,WAAM,GAAG,EAAE,CAAC;IAmDvB,CAAC;IAhDU,IAAI;IAEX,CAAC;IAEY,YAAY,CAAC,KAAU,EAAE,GAAY,EAAE,GAAa;;YAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBAC1B,OAAO;aACV;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC5C,CAAC;KAAA;IAES,QAAQ,CAAC,MAAW;QAC1B,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACnB,IAAI,SAAS,GAAY,KAAK,CAAC;QAC/B,IAAI,WAAW,GAAY,KAAK,CAAC;QACjC,IAAI,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,SAAS,GAAG,IAAI,CAAC;SACpB;aAAM;YACH,SAAS,GAAG,KAAK,CAAC;YAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC7B,IAAI,eAAK,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;oBACtC,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM;iBACT;aACJ;SACJ;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;YACjC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,WAAW,GAAG,IAAI,CAAC;aACtB;SACJ;QAED,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACU,YAAY,CAAC,KAAU,EAAE,GAAY,EAAE,GAAa;;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;CACJ;AA3DD,oCA2DC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../base/BaseError.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,MAAa,SAAU,SAAQ,KAAK;IAGhC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAC,OAAO,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA,CAAC,gBAAgB;QAClD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA,CAAC,sCAAsC;QAC5D,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,EAAE,CAAA;IAC7D,CAAC;IACD,MAAM;QACF,OAAO,EAAC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAA;IAC3E,CAAC;CACJ;AAjBD,8BAiBC"}
|
package/dist/base/Model.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Model.js","sourceRoot":"","sources":["../../base/Model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AccessControl.js","sourceRoot":"","sources":["../../filters/AccessControl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,2DAAmC;AACnC,2EAAsE;AACtE,uDAAkD;AAClD,6CAAwC;AACxC,sCAAiC;AACjC,gEAAwC;AAGxC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAG1B,MAAa,aAAc,SAAQ,2BAAY;IAA/C;;QAEW,SAAI,GAAQ,IAAI,CAAC;IA4C5B,CAAC;IAzCU,IAAI;;QACP,KAAK,CAAC,IAAI,EAAE,CAAA;QAEZ,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG,MAAA,eAAK,CAAC,SAAS,CAAC,kBAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,mCAAI,IAAI,WAAI,EAAE,CAAC;SAC5E;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAQ,EAAE,KAAY,EAAE,EAAE;YAC1C,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,YAAY,CAAC,IAAI,uBAAU,EAAE,EAAE,IAAI,CAAC,CAAC;aAClE;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAGY,YAAY,CAAC,MAAU,EAAE,OAAe;;;YACjD,IAAI,KAAK,CAAC;YACV,aAAa;YACb,IAAI,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,IAAI,CAAC,IAAI,CAAC;YACrC,aAAa;YACb,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC;YAEzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;oBAC9D,OAAO,IAAI,CAAC;iBACf;qBAAM,IAAI,KAAK,KAAK,KAAK,EAAE;oBACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAEtB,OAAO,KAAK,CAAC;iBAChB;aACJ;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;;KAChB;IAEM,UAAU,CAAC,IAAU;QACxB,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACxC,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;;YAAM,MAAM,IAAI,+CAAsB,CAAC,kBAAQ,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACvG,CAAC;CAEJ;AA9CD,sCA8CC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthMethod.js","sourceRoot":"","sources":["../../../filters/auth/AuthMethod.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;AAEH,0DAAqD;AAErD,oFAA+E;AAC/E,yCAAoC;AAGpC,MAAsB,UAAW,SAAQ,2BAAY;IAArD;;QAkBW,aAAQ,GAAG,EAAE,CAAC;IAwDzB,CAAC;IAtDgB,YAAY,CAAC,MAAW,EAAE,OAAgB,EAAE,QAAkB;;;YACvE,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAClC,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,WAAI,EAAE,EACvB,OAAO,EACP,QAAQ,CACX,CAAA;YAGD,aAAa;YACb,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAE5B,IAAI,QAAQ,KAAK,IAAI,EAAE;gBACnB,OAAO,IAAI,CAAC;aACf;YAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,KAAK,CAAC;;KAChB;IAED,YAAY,CAAC,IAAU,EAAE,OAAgB,EAAE,QAAkB;IAE7D,CAAC;IAED,aAAa;IACb,SAAS,CAAC,QAAkB;IAC5B,CAAC;IAED,aAAa;IACb,aAAa,CAAC,QAAkB;QAC5B,MAAM,IAAI,qDAAyB,CAAC,iDAAiD,CAAC,CAAC;IAC3F,CAAC;IAED,cAAc,CAAC,OAAY,EAAE,OAAY;QACrC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;QACvF,IAAI,GAAG,EAAE;YACL,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;SACvB;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAED,YAAY,CAAC,UAAc,EAAE,OAAc;QACvC,IAAI,OAAO,EAAE;YACT,IAAI,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,OAAO,OAAO,CAAC;aAClB;iBAAM;gBACH,OAAO,IAAI,CAAA;aACd;SACJ;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AA1ED,gCA0EC"}
|
|
@@ -1 +0,0 @@
|
|
|
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;IA2D3B,CAAC;IAzDG;;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;YAEjE,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;YAGD,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,KAAK,GAAG,IAAI,CAAC;YAGjB,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;AAjED,8CAiEC"}
|
package/dist/web/User.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../web/User.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,2DAAmC;AACnC,iDAA4C;AAC5C,2EAAsE;AACtE,2EAAsE;AAGtE,MAAa,IAAK,SAAQ,qBAAS;IAS/B,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK;QACd,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEM,IAAI;QACP,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,+CAAsB,CAAC,kCAAkC,CAAC,CAAC;SACxE;QAGD,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;IAElD,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAE;IACxC,CAAC;IAEM,WAAW,CAAC,SAAS,GAAG,IAAI;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,aAAa;QAEhB,MAAM,IAAI,+CAAsB,CAAC,kBAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACnE,CAAC;IAGD;;;;OAIG;IACO,mBAAmB;IAE7B,CAAC;IAED;;;;OAIG;IACU,kBAAkB,CAAC,KAAU,EAAE,OAAW,IAAI;;YAEvD,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACnE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC;aACxB;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEM,KAAK,CAAC,QAA2B,EAAE,QAAQ,GAAG,CAAC;QAElD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;SAEhD;QACD,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;IAC7B,CAAC;IAEM,WAAW,CAAC,QAAa,EAAE,WAAoB,EAAE,QAAgB;QAEpE,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU;IAEjB,CAAC;CACJ;AAnFD,oBAmFC"}
|
package/filters/AccessControl.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
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 {ForbiddenHttpException} from "../base/ForbiddenHttpException";
|
|
9
|
-
import {ActionFilter} from "../base/ActionFilter";
|
|
10
|
-
import {AccessRule} from "./AccessRule";
|
|
11
|
-
import {User} from "../web/User";
|
|
12
|
-
import Utils from "../requiments/Utils";
|
|
13
|
-
import {NextFunction, Request, Response} from "express";
|
|
14
|
-
|
|
15
|
-
var _ = require('lodash');
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export class AccessControl extends ActionFilter {
|
|
19
|
-
|
|
20
|
-
public user: any = null;
|
|
21
|
-
public rules: any;
|
|
22
|
-
|
|
23
|
-
public init() {
|
|
24
|
-
super.init()
|
|
25
|
-
|
|
26
|
-
if (this.user == undefined) {
|
|
27
|
-
this.user = Utils.cloneDeep(BaseChyz.getComponent("user")) ?? new User();
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
this.rules.forEach((rule:any, index:number) => {
|
|
31
|
-
if (rule === Object(rule)) {
|
|
32
|
-
this.rules[index] = Utils.createObject(new AccessRule(), rule);
|
|
33
|
-
}
|
|
34
|
-
})
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
public async beforeAction(action:any, request:Request) {
|
|
39
|
-
let allow;
|
|
40
|
-
// @ts-ignore
|
|
41
|
-
let user = request.user ?? this.user;
|
|
42
|
-
// @ts-ignore
|
|
43
|
-
user.identity = request.identity ?? null;
|
|
44
|
-
|
|
45
|
-
for (const rulesKey in this.rules) {
|
|
46
|
-
if ((allow = this.rules[rulesKey].allows(action, user, request))) {
|
|
47
|
-
return true;
|
|
48
|
-
} else if (allow === false) {
|
|
49
|
-
this.denyAccess(user);
|
|
50
|
-
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
this.denyAccess(user);
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
public denyAccess(user: User) {
|
|
59
|
-
if (user != undefined && user.getIsGuest()) {
|
|
60
|
-
user.loginRequired();
|
|
61
|
-
} else throw new ForbiddenHttpException(BaseChyz.t('You are not allowed to perform this action.'));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
}
|
package/filters/AccessRule.ts
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
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 {User} from "../web/User";
|
|
8
|
-
|
|
9
|
-
var _ = require('lodash');
|
|
10
|
-
import {Component} from "../base/Component";
|
|
11
|
-
import {InvalidConfigException} from "../base/InvalidConfigException";
|
|
12
|
-
import {Request, Response} from "express";
|
|
13
|
-
|
|
14
|
-
export class AccessRule extends Component {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* @var bool whether this is an 'allow' rule or 'deny' rule.
|
|
18
|
-
*/
|
|
19
|
-
public allow:any;
|
|
20
|
-
/**
|
|
21
|
-
* @var array list of action IDs that this rule applies to. The comparison is case-sensitive.
|
|
22
|
-
* If not set or empty, it means this rule applies to all actions.
|
|
23
|
-
*/
|
|
24
|
-
public actions:any;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @var array list of the controller IDs that this rule applies to.
|
|
28
|
-
*/
|
|
29
|
-
public controllers:any;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* - `?`: matches a guest user (not authenticated yet)
|
|
33
|
-
* - `@`: matches an authenticated user
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
public roles:any;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* @var array list of RBAC (Role-Based Access Control) permissions that this rules applies to.
|
|
40
|
-
*/
|
|
41
|
-
public permissions:any;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* @var array list of user IP addresses that this rule applies to. An IP address
|
|
45
|
-
* can contain the wildcard `*` at the end so that it matches IP addresses with the same prefix.
|
|
46
|
-
* For example, '192.168.*' matches all IP addresses in the segment '192.168.'.
|
|
47
|
-
* It may also contain a pattern/mask like '172.16.0.0/12' which would match all IPs from the
|
|
48
|
-
* 20-bit private network block in RFC1918.
|
|
49
|
-
* If not set or empty, it means this rule applies to all IP addresses.
|
|
50
|
-
*/
|
|
51
|
-
public ips:any;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
public allows(action:any, user:User, request:Request) {
|
|
55
|
-
if (
|
|
56
|
-
this.matchAction(action)
|
|
57
|
-
&& this.matchRole(user)
|
|
58
|
-
) {
|
|
59
|
-
return this.allow
|
|
60
|
-
}
|
|
61
|
-
// if (this.matchAction($action)
|
|
62
|
-
// && this.matchRole($user)
|
|
63
|
-
// && this.matchIP($request->getUserIP())
|
|
64
|
-
// && this.matchVerb($request->getMethod())
|
|
65
|
-
// && this.matchController($action->controller)
|
|
66
|
-
// && this.matchCustom($action)
|
|
67
|
-
// ) {
|
|
68
|
-
// return $this->allow ? true : false;
|
|
69
|
-
// }
|
|
70
|
-
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* @param Action $action the action
|
|
76
|
-
* @return bool whether the rule applies to the action
|
|
77
|
-
*/
|
|
78
|
-
protected matchAction(action:any) {
|
|
79
|
-
return _.isEmpty(this.actions) || this.actions.includes(action.id);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* @param Controller $controller the controller
|
|
84
|
-
* @return bool whether the rule applies to the controller
|
|
85
|
-
*/
|
|
86
|
-
protected matchController(controller:any) {
|
|
87
|
-
// if (empty($this->controllers)) {
|
|
88
|
-
// return true;
|
|
89
|
-
// }
|
|
90
|
-
//
|
|
91
|
-
// $id = $controller->getUniqueId();
|
|
92
|
-
// foreach ($this->controllers as $pattern) {
|
|
93
|
-
// if (StringHelper::matchWildcard($pattern, $id)) {
|
|
94
|
-
// return true;
|
|
95
|
-
// }
|
|
96
|
-
// }
|
|
97
|
-
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
protected matchRole(user:any) {
|
|
102
|
-
let items = _.isEmpty(this.roles) ? [] : this.roles;
|
|
103
|
-
|
|
104
|
-
if (!_.isEmpty(this.permissions)) {
|
|
105
|
-
items = _.merge(items, this.permissions);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
if (_.isEmpty(items)) {
|
|
109
|
-
return true;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
if (user === false) {
|
|
114
|
-
throw new InvalidConfigException('The user application component must be available to specify roles in AccessRule.');
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
for (const itemsKey in items) {
|
|
118
|
-
let item = items[itemsKey];
|
|
119
|
-
if (item === '?') {
|
|
120
|
-
if (user.getIsGuest()) {
|
|
121
|
-
return true;
|
|
122
|
-
}
|
|
123
|
-
} else if (item === '@') {
|
|
124
|
-
if (!user.getIsGuest()) {
|
|
125
|
-
return true;
|
|
126
|
-
}
|
|
127
|
-
} else {
|
|
128
|
-
//roleparams
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
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 {Request, Response} from "express";
|
|
8
|
-
|
|
9
|
-
export interface AuthInterface{
|
|
10
|
-
/**
|
|
11
|
-
* Authenticates the current user.
|
|
12
|
-
* @param User $user
|
|
13
|
-
* @param Request $request
|
|
14
|
-
* @param Response $response
|
|
15
|
-
* @return IdentityInterface the authenticated user identity. If authentication information is not provided, null will be returned.
|
|
16
|
-
* @throws UnauthorizedHttpException if authentication information is provided but is invalid.
|
|
17
|
-
*/
|
|
18
|
-
authenticate(user:any, request:Request, response:Response):any;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Generates challenges upon authentication failure.
|
|
22
|
-
* For example, some appropriate HTTP headers may be generated.
|
|
23
|
-
* @param Response $response
|
|
24
|
-
*/
|
|
25
|
-
challenge(response:Response):Response;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Handles authentication failure.
|
|
29
|
-
* The implementation should normally throw UnauthorizedHttpException to indicate authentication failure.
|
|
30
|
-
* @param Response $response
|
|
31
|
-
* @throws UnauthorizedHttpException
|
|
32
|
-
*/
|
|
33
|
-
handleFailure(response:Response):Response;
|
|
34
|
-
}
|
|
@@ -1,88 +0,0 @@
|
|
|
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
|
-
|
|
8
|
-
import {ActionFilter} from "../../base/ActionFilter";
|
|
9
|
-
import {AuthInterface} from "./AuthInterface";
|
|
10
|
-
import {UnauthorizedHttpException} from "../../base/UnauthorizedHttpException";
|
|
11
|
-
import {User} from "../../web/User";
|
|
12
|
-
import {Request, Response} from "express";
|
|
13
|
-
|
|
14
|
-
export abstract class AuthMethod extends ActionFilter implements AuthInterface {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* @var User the user object representing the user authentication status. If not set, the `user` application component will be used.
|
|
18
|
-
*/
|
|
19
|
-
public user: User | undefined;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* @var Request the current request. If not set, the `request` application component will be used.
|
|
23
|
-
*/
|
|
24
|
-
public request: Request | undefined;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @var Response the response to be sent. If not set, the `response` application component will be used.
|
|
28
|
-
*/
|
|
29
|
-
public response: Response | undefined;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
public optional = [];
|
|
33
|
-
|
|
34
|
-
public async beforeAction(action: any, request: Request, response: Response) {
|
|
35
|
-
let identity = await this.authenticate(
|
|
36
|
-
this.user ?? new User(),
|
|
37
|
-
request,
|
|
38
|
-
response
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// @ts-ignore
|
|
43
|
-
request.identity = identity;
|
|
44
|
-
|
|
45
|
-
if (identity !== null) {
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
this.challenge(response);
|
|
50
|
-
this.handleFailure(response);
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
authenticate(user: User, request: Request, response: Response) {
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// @ts-ignore
|
|
59
|
-
challenge(response: Response): void {
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// @ts-ignore
|
|
63
|
-
handleFailure(response: Response) {
|
|
64
|
-
throw new UnauthorizedHttpException('Your request was made with invalid credentials.');
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
getHeaderByKey(headers: any, findKey: any) {
|
|
68
|
-
let key = Object.keys(headers).find(key => key.toLowerCase() === findKey.toLowerCase())
|
|
69
|
-
if (key) {
|
|
70
|
-
return headers[key];
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return null
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
patternCheck(headerText:any, pattern:RegExp) {
|
|
77
|
-
if (pattern) {
|
|
78
|
-
let matches = headerText.match(pattern)
|
|
79
|
-
if (matches && matches.length > 0) {
|
|
80
|
-
return matches;
|
|
81
|
-
} else {
|
|
82
|
-
return null
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return null
|
|
87
|
-
}
|
|
88
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
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
|
-
|
|
8
|
-
import {HttpHeaderAuth} from "./HttpHeaderAuth";
|
|
9
|
-
import {Request, Response} from "express";
|
|
10
|
-
|
|
11
|
-
export class HttpBearerAuth extends HttpHeaderAuth {
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* {@inheritdoc}
|
|
15
|
-
*/
|
|
16
|
-
public header = 'Authorization';
|
|
17
|
-
// @ts-ignore
|
|
18
|
-
public pattern = /^Bearer\s+(.*?)$/;
|
|
19
|
-
/**
|
|
20
|
-
* @var string the HTTP authentication realm
|
|
21
|
-
*/
|
|
22
|
-
public realm = 'api';
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* {@inheritdoc}
|
|
27
|
-
*/
|
|
28
|
-
public challenge(response:Response) {
|
|
29
|
-
response.set('WWW-Authenticate', `Bearer realm="${this.realm}"`);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
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
|
-
|
|
8
|
-
import {AuthMethod} from "./AuthMethod";
|
|
9
|
-
import {User} from "../../web/User";
|
|
10
|
-
import Utils from "../../requiments/Utils";
|
|
11
|
-
import {Request, Response} from "express";
|
|
12
|
-
|
|
13
|
-
export class HttpHeaderAuth extends AuthMethod {
|
|
14
|
-
/**
|
|
15
|
-
* @var string the HTTP header name
|
|
16
|
-
*/
|
|
17
|
-
public header = 'X-Api-Key';
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @var string a pattern to use to extract the HTTP authentication value
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
public pattern!: string;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
async authenticate(user: User, request:Request, response:Response) {
|
|
28
|
-
let key = Object.keys(request.headers).find(key => key.toLowerCase() === this.header.toLowerCase())
|
|
29
|
-
if (key) {
|
|
30
|
-
let authHeader:any = request.headers[key];
|
|
31
|
-
if (!Utils.isEmpty(authHeader)) {
|
|
32
|
-
if (this.pattern) {
|
|
33
|
-
//preg_match
|
|
34
|
-
let matches = authHeader.match(this.pattern)
|
|
35
|
-
if (matches && matches.length > 0) {
|
|
36
|
-
authHeader = matches[1];
|
|
37
|
-
} else {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
let identity = await user.loginByAccessToken(authHeader, "HttpHeaderAuth");
|
|
43
|
-
if (identity === null) {
|
|
44
|
-
this.challenge(response);
|
|
45
|
-
this.handleFailure(response);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return identity;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
}
|