@venizia/ignis 0.2.0-0 → 0.2.0-2
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/README.md +0 -1
- package/dist/base/controllers/grpc/abstract.d.ts +1 -1
- package/dist/base/controllers/grpc/abstract.d.ts.map +1 -1
- package/dist/base/controllers/grpc/abstract.js +12 -10
- package/dist/base/controllers/grpc/abstract.js.map +1 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts +11 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.js +13 -5
- package/dist/base/middlewares/request-spy/request-spy.middleware.js.map +1 -1
- package/dist/components/api-reference/common/keys.d.ts +0 -5
- package/dist/components/api-reference/common/keys.d.ts.map +1 -1
- package/dist/components/api-reference/common/keys.js +1 -7
- package/dist/components/api-reference/common/keys.js.map +1 -1
- package/dist/components/api-reference/common/types.d.ts +1 -2
- package/dist/components/api-reference/common/types.d.ts.map +1 -1
- package/dist/components/api-reference/component.d.ts +0 -4
- package/dist/components/api-reference/component.d.ts.map +1 -1
- package/dist/components/api-reference/component.js +9 -9
- package/dist/components/api-reference/component.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts +25 -4
- package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/abstract.service.js +53 -14
- package/dist/components/auth/authenticate/services/bearer/abstract.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts +2 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js +11 -10
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js +4 -5
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts +2 -1
- package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jws.service.js +7 -6
- package/dist/components/auth/authenticate/services/bearer/jws.service.js.map +1 -1
- package/dist/components/request-tracker/component.d.ts +1 -1
- package/dist/components/request-tracker/component.d.ts.map +1 -1
- package/dist/components/request-tracker/component.js +1 -1
- package/dist/components/request-tracker/component.js.map +1 -1
- package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
- package/dist/components/static-asset/controller/factory.js +5 -1
- package/dist/components/static-asset/controller/factory.js.map +1 -1
- package/dist/utilities/network.utility.d.ts +9 -0
- package/dist/utilities/network.utility.d.ts.map +1 -1
- package/dist/utilities/network.utility.js +2 -4
- package/dist/utilities/network.utility.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -166,7 +166,6 @@ Register with `this.component(X)` in `preConfigure()`.
|
|
|
166
166
|
| `WebSocketComponent` | `@venizia/ignis/websocket` | Native WebSocket transport |
|
|
167
167
|
| `StaticAssetComponent` | `@venizia/ignis/static-asset` | Static file serving and asset controllers |
|
|
168
168
|
|
|
169
|
-
`SwaggerComponent` is a deprecated alias for `ApiReferenceComponent`.
|
|
170
169
|
|
|
171
170
|
Full configuration for each: [Components](https://ignis.venizia.ai/extensions/components/).
|
|
172
171
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { IRpcMetadata } from '@venizia/ignis-kernel';
|
|
2
1
|
import type { ConnectRouter } from '@connectrpc/connect';
|
|
3
2
|
import type { ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
4
3
|
import { BaseHelper } from '@venizia/ignis-helpers/core';
|
|
4
|
+
import type { IRpcMetadata } from '@venizia/ignis-kernel';
|
|
5
5
|
import type { Env, Schema } from 'hono';
|
|
6
6
|
import { Hono } from 'hono';
|
|
7
7
|
import type { IConnectRpcModule, IGrpcBindRouteOptions, IGrpcController, IGrpcControllerOptions, IGrpcDefineRouteOptions, IRpcRegistration, TRpcHandler, TRpcMiddleware } from './common/types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/abstract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/abstract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAsB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAS9E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACf,MAAM,gBAAgB,CAAC;AAExB,uGAAuG;AACvG,8BAAsB,sBAAsB,CAC1C,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,mBAAmB,SAAS,MAAM,GAAG,EAAE,CAEvC,SAAQ,UACR,YAAW,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,CAAC;IAE7F,YAAY,UAAS;IAErB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAM;IAE7D,+DAA+D;IAC/D,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAM;IACtB,yHAAyH;IACzH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,8IAA8I;IAC9I,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;IACzB,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAElC,IAAI,EAAE,sBAAsB;IA4BxC,6CAA6C;IAC7C,SAAS;IAIT,sGAAsG;IACtG,mBAAmB,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,EAAE;IAqChF,2FAA2F;IAC3F,eAAe,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GAAG,YAAY;IAI9D,8GAA8G;IAC9G,wBAAwB,IAAI,IAAI;IAkChC,6HAA6H;IACvH,SAAS,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B1D,gEAAgE;IAChE,QAAQ,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;IAExC,sFAAsF;IACtF,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC;IAEpF,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE;QACzB,OAAO,EAAE,YAAY,CAAC;QACtB,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;KAClD,GAAG,uBAAuB;CAC5B"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractGrpcController = void 0;
|
|
4
|
-
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
5
|
-
const ignis_kernel_2 = require("@venizia/ignis-kernel");
|
|
6
|
-
const ignis_kernel_3 = require("@venizia/ignis-kernel");
|
|
7
|
-
const ignis_kernel_4 = require("@venizia/ignis-kernel");
|
|
8
|
-
const ignis_kernel_5 = require("@venizia/ignis-kernel");
|
|
9
4
|
const core_1 = require("@venizia/ignis-helpers/core");
|
|
5
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
10
6
|
const hono_1 = require("hono");
|
|
11
7
|
const adapter_1 = require("./adapter");
|
|
12
8
|
/** Abstract base class for gRPC controllers, providing RPC registration and ConnectRPC integration. */
|
|
@@ -16,7 +12,7 @@ class AbstractGrpcController extends core_1.BaseHelper {
|
|
|
16
12
|
this.isConfigured = false;
|
|
17
13
|
this.definitions = {};
|
|
18
14
|
this.basePath = '';
|
|
19
|
-
const decoratorMetadata =
|
|
15
|
+
const decoratorMetadata = ignis_kernel_1.MetadataRegistry.getInstance().getControllerMetadata({
|
|
20
16
|
target: new.target,
|
|
21
17
|
});
|
|
22
18
|
const resolvedPath = decoratorMetadata?.path ?? opts.path;
|
|
@@ -45,9 +41,15 @@ class AbstractGrpcController extends core_1.BaseHelper {
|
|
|
45
41
|
const { configs } = opts;
|
|
46
42
|
const mws = [];
|
|
47
43
|
if (configs.authenticate) {
|
|
48
|
-
const { strategies = [], mode =
|
|
44
|
+
const { strategies = [], mode = ignis_kernel_1.AuthenticationModes.ANY } = configs.authenticate;
|
|
45
|
+
// Same boot-time guard the REST controller applies. Fixing only REST would leave every RPC
|
|
46
|
+
// with a misspelled strategy name silently unreachable.
|
|
47
|
+
ignis_kernel_1.AuthenticationStrategyRegistry.getInstance().reportUnregistered({
|
|
48
|
+
names: strategies,
|
|
49
|
+
scope: this.constructor.name,
|
|
50
|
+
});
|
|
49
51
|
if (strategies.length > 0) {
|
|
50
|
-
const authMw = (0,
|
|
52
|
+
const authMw = (0, ignis_kernel_1.authenticate)({ strategies, mode });
|
|
51
53
|
// authMw is a Hono MiddlewareHandler built for raw Context<Env>; TRouteContext is a lightweight custom shape (different `json`/`req.valid` signatures), not a subtype - genuinely different context types bridged here.
|
|
52
54
|
mws.push((context, next) => authMw(context, next));
|
|
53
55
|
}
|
|
@@ -58,7 +60,7 @@ class AbstractGrpcController extends core_1.BaseHelper {
|
|
|
58
60
|
? configs.authorize
|
|
59
61
|
: [configs.authorize];
|
|
60
62
|
for (const spec of specs) {
|
|
61
|
-
const authzMw = (0,
|
|
63
|
+
const authzMw = (0, ignis_kernel_1.authorize)({ spec });
|
|
62
64
|
// Same TRouteContext-vs-Context<Env> bridge as authMw above.
|
|
63
65
|
mws.push((context, next) => authzMw(context, next));
|
|
64
66
|
}
|
|
@@ -71,7 +73,7 @@ class AbstractGrpcController extends core_1.BaseHelper {
|
|
|
71
73
|
}
|
|
72
74
|
/** Registers RPC methods defined via @rpc/@unary/@serverStream/etc. decorators from the metadata registry. */
|
|
73
75
|
registerRpcsFromRegistry() {
|
|
74
|
-
const rpcs =
|
|
76
|
+
const rpcs = ignis_kernel_1.MetadataRegistry.getInstance().getRpcs({
|
|
75
77
|
target: Object.getPrototypeOf(this),
|
|
76
78
|
});
|
|
77
79
|
if (!rpcs?.size) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/abstract.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,20 @@ import { BaseHelper } from '@venizia/ignis-helpers/core';
|
|
|
2
2
|
import type { IProvider } from '@venizia/ignis-inversion';
|
|
3
3
|
import type { MiddlewareHandler } from 'hono/types';
|
|
4
4
|
import { type TContext } from '@venizia/ignis-kernel';
|
|
5
|
-
/** Logs incoming/outgoing request details.
|
|
5
|
+
/** Logs incoming/outgoing request details. The BODY is logged only in a recognised development environment - see the constructor for why that test is fail-closed. */
|
|
6
6
|
export declare class RequestSpyMiddleware extends BaseHelper implements IProvider<MiddlewareHandler> {
|
|
7
7
|
static readonly REQUEST_ID_KEY = "requestId";
|
|
8
8
|
private isDebugMode;
|
|
9
|
+
/**
|
|
10
|
+
* Fail-CLOSED, matching {@link BaseAppErrorMiddleware.isProduction}: only an environment this
|
|
11
|
+
* framework recognises as a development one enables body logging.
|
|
12
|
+
*
|
|
13
|
+
* The previous test was `env !== 'production'`, which enabled it for an unset `NODE_ENV` and for
|
|
14
|
+
* every pre-production name that carries real user data - `staging`, `uat`, `alpha`, `beta`, and
|
|
15
|
+
* the abbreviation `prod`. `development-envs.test.ts` pins those as NOT development for exactly
|
|
16
|
+
* that reason. Redaction is no defence here: it masks secret-SHAPED keys, so `nationalId`,
|
|
17
|
+
* `cardNumber` and `ssn` were written verbatim.
|
|
18
|
+
*/
|
|
9
19
|
constructor();
|
|
10
20
|
/** Parses request body based on Content-Type header. */
|
|
11
21
|
parseBody(opts: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-spy.middleware.d.ts","sourceRoot":"","sources":["../../../../src/base/middlewares/request-spy/request-spy.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"request-spy.middleware.d.ts","sourceRoot":"","sources":["../../../../src/base/middlewares/request-spy/request-spy.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAA8B,MAAM,6BAA6B,CAAC;AAErF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAiC,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAErF,sKAAsK;AACtK,qBAAa,oBAAqB,SAAQ,UAAW,YAAW,SAAS,CAAC,iBAAiB,CAAC;IAC1F,MAAM,CAAC,QAAQ,CAAC,cAAc,eAAkB;IAEhD,OAAO,CAAC,WAAW,CAAU;IAE7B;;;;;;;;;OASG;;IAOH,wDAAwD;IAClD,SAAS,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAyCjE,wEAAwE;IACxE,KAAK;CAmDN"}
|
|
@@ -4,17 +4,25 @@ exports.RequestSpyMiddleware = void 0;
|
|
|
4
4
|
const network_utility_1 = require("../../../utilities/network.utility");
|
|
5
5
|
const core_1 = require("@venizia/ignis-helpers/core");
|
|
6
6
|
const common_1 = require("@venizia/ignis-helpers/common");
|
|
7
|
-
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
8
7
|
const factory_1 = require("hono/factory");
|
|
9
8
|
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
10
|
-
/** Logs incoming/outgoing request details.
|
|
9
|
+
/** Logs incoming/outgoing request details. The BODY is logged only in a recognised development environment - see the constructor for why that test is fail-closed. */
|
|
11
10
|
class RequestSpyMiddleware extends core_1.BaseHelper {
|
|
12
11
|
static { this.REQUEST_ID_KEY = ignis_kernel_1.REQUEST_ID_KEY; }
|
|
12
|
+
/**
|
|
13
|
+
* Fail-CLOSED, matching {@link BaseAppErrorMiddleware.isProduction}: only an environment this
|
|
14
|
+
* framework recognises as a development one enables body logging.
|
|
15
|
+
*
|
|
16
|
+
* The previous test was `env !== 'production'`, which enabled it for an unset `NODE_ENV` and for
|
|
17
|
+
* every pre-production name that carries real user data - `staging`, `uat`, `alpha`, `beta`, and
|
|
18
|
+
* the abbreviation `prod`. `development-envs.test.ts` pins those as NOT development for exactly
|
|
19
|
+
* that reason. Redaction is no defence here: it masks secret-SHAPED keys, so `nationalId`,
|
|
20
|
+
* `cardNumber` and `ssn` were written verbatim.
|
|
21
|
+
*/
|
|
13
22
|
constructor() {
|
|
14
23
|
super({ scope: 'SpyMW' });
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
this.isDebugMode = env !== ignis_helpers_1.Environment.PRODUCTION;
|
|
24
|
+
const env = process.env.NODE_ENV?.toLowerCase();
|
|
25
|
+
this.isDebugMode = !!env && core_1.EnvironmentNames.DEVELOPMENT_ENVS.has(env);
|
|
18
26
|
}
|
|
19
27
|
/** Parses request body based on Content-Type header. */
|
|
20
28
|
async parseBody(opts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-spy.middleware.js","sourceRoot":"","sources":["../../../../src/base/middlewares/request-spy/request-spy.middleware.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"request-spy.middleware.js","sourceRoot":"","sources":["../../../../src/base/middlewares/request-spy/request-spy.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
export declare class ApiReferenceBindingKeys {
|
|
2
2
|
static readonly API_REFERENCE_OPTIONS = "@app/api-reference/options";
|
|
3
3
|
}
|
|
4
|
-
/** @deprecated Use `ApiReferenceBindingKeys.API_REFERENCE_OPTIONS`. */
|
|
5
|
-
export declare class SwaggerBindingKeys {
|
|
6
|
-
/** @deprecated Use `ApiReferenceBindingKeys.API_REFERENCE_OPTIONS`. */
|
|
7
|
-
static readonly SWAGGER_OPTIONS = "@app/api-reference/options";
|
|
8
|
-
}
|
|
9
4
|
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../../src/components/api-reference/common/keys.ts"],"names":[],"mappings":"AAAA,qBAAa,uBAAuB;IAClC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,gCAAgC;CACtE
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../../src/components/api-reference/common/keys.ts"],"names":[],"mappings":"AAAA,qBAAa,uBAAuB;IAClC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,gCAAgC;CACtE"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ApiReferenceBindingKeys = void 0;
|
|
4
4
|
class ApiReferenceBindingKeys {
|
|
5
5
|
static { this.API_REFERENCE_OPTIONS = '@app/api-reference/options'; }
|
|
6
6
|
}
|
|
7
7
|
exports.ApiReferenceBindingKeys = ApiReferenceBindingKeys;
|
|
8
|
-
/** @deprecated Use `ApiReferenceBindingKeys.API_REFERENCE_OPTIONS`. */
|
|
9
|
-
class SwaggerBindingKeys {
|
|
10
|
-
/** @deprecated Use `ApiReferenceBindingKeys.API_REFERENCE_OPTIONS`. */
|
|
11
|
-
static { this.SWAGGER_OPTIONS = ApiReferenceBindingKeys.API_REFERENCE_OPTIONS; }
|
|
12
|
-
}
|
|
13
|
-
exports.SwaggerBindingKeys = SwaggerBindingKeys;
|
|
14
8
|
//# sourceMappingURL=keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/components/api-reference/common/keys.ts"],"names":[],"mappings":";;;AAAA,MAAa,uBAAuB;aAClB,0BAAqB,GAAG,4BAA4B,CAAC;;AADvE,0DAEC
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/components/api-reference/common/keys.ts"],"names":[],"mappings":";;;AAAA,MAAa,uBAAuB;aAClB,0BAAqB,GAAG,4BAA4B,CAAC;;AADvE,0DAEC"}
|
|
@@ -33,6 +33,7 @@ export interface IApiReferenceOptions {
|
|
|
33
33
|
}>;
|
|
34
34
|
};
|
|
35
35
|
uiConfig?: Record<string, any>;
|
|
36
|
+
securitySchemes?: Record<string, Record<string, any>>;
|
|
36
37
|
}
|
|
37
38
|
export interface IUIProvider {
|
|
38
39
|
render(context: Context, config: IUIConfig, next: Next): Promise<Response | void>;
|
|
@@ -45,6 +46,4 @@ export interface IUIConfig {
|
|
|
45
46
|
export interface IGetProviderParams {
|
|
46
47
|
type: string;
|
|
47
48
|
}
|
|
48
|
-
/** @deprecated Use `IApiReferenceOptions`. */
|
|
49
|
-
export type ISwaggerOptions = IApiReferenceOptions;
|
|
50
49
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/api-reference/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,gGAAgG;AAChG,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACzB,GAAG,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACxB,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,eAAe,CAAA;SAAE,CAAC;KAChD,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE;YACL,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,CAAC,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAA;aAAE,CAAC;SAC3C,CAAC;QACF,OAAO,CAAC,EAAE,KAAK,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;YACZ,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;KACJ,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/api-reference/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,gGAAgG;AAChG,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACzB,GAAG,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACxB,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,eAAe,CAAA;SAAE,CAAC;KAChD,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE;YACL,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,CAAC,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAA;aAAE,CAAC;SAC3C,CAAC;QACF,OAAO,CAAC,EAAE,KAAK,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;YACZ,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;KACJ,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -5,8 +5,4 @@ export declare class ApiReferenceComponent extends BaseComponent {
|
|
|
5
5
|
constructor(application: BaseApplication);
|
|
6
6
|
binding(): Promise<void>;
|
|
7
7
|
}
|
|
8
|
-
/** @deprecated Use `ApiReferenceComponent`. */
|
|
9
|
-
export declare const SwaggerComponent: typeof ApiReferenceComponent;
|
|
10
|
-
/** @deprecated Use `ApiReferenceComponent`. */
|
|
11
|
-
export type SwaggerComponent = ApiReferenceComponent;
|
|
12
8
|
//# sourceMappingURL=component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/api-reference/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/api-reference/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,OAAO,EAAE,aAAa,EAAyB,MAAM,uBAAuB,CAAC;AAiC7E,qBAAa,qBAAsB,SAAQ,aAAa;IAEA,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,eAAe;IAa3E,OAAO;CAyFvB"}
|
|
@@ -13,16 +13,14 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
var ApiReferenceComponent_1;
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.
|
|
16
|
+
exports.ApiReferenceComponent = void 0;
|
|
17
17
|
const applications_1 = require("../../base/applications");
|
|
18
|
-
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
19
18
|
const metadata_1 = require("../../base/metadata");
|
|
20
|
-
const
|
|
19
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
20
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
21
21
|
const auth_1 = require("../auth");
|
|
22
22
|
const common_1 = require("./common");
|
|
23
23
|
const ui_factory_1 = require("./ui-factory");
|
|
24
|
-
const core_1 = require("@venizia/ignis-helpers/core");
|
|
25
|
-
const ignis_kernel_3 = require("@venizia/ignis-kernel");
|
|
26
24
|
const DEFAULT_API_REFERENCE_OPTIONS = {
|
|
27
25
|
restOptions: {
|
|
28
26
|
base: { path: '/doc' },
|
|
@@ -53,7 +51,7 @@ let ApiReferenceComponent = ApiReferenceComponent_1 = class ApiReferenceComponen
|
|
|
53
51
|
scope: ApiReferenceComponent_1.name,
|
|
54
52
|
initDefault: { enable: true, container: application },
|
|
55
53
|
bindings: {
|
|
56
|
-
[common_1.ApiReferenceBindingKeys.API_REFERENCE_OPTIONS]:
|
|
54
|
+
[common_1.ApiReferenceBindingKeys.API_REFERENCE_OPTIONS]: ignis_kernel_1.Binding.bind({
|
|
57
55
|
key: common_1.ApiReferenceBindingKeys.API_REFERENCE_OPTIONS,
|
|
58
56
|
}).toValue(DEFAULT_API_REFERENCE_OPTIONS),
|
|
59
57
|
},
|
|
@@ -125,13 +123,15 @@ let ApiReferenceComponent = ApiReferenceComponent_1 = class ApiReferenceComponen
|
|
|
125
123
|
type: 'http',
|
|
126
124
|
scheme: 'basic',
|
|
127
125
|
});
|
|
126
|
+
const securitySchemes = boundOptions?.securitySchemes ?? {};
|
|
127
|
+
for (const [name, scheme] of Object.entries(securitySchemes)) {
|
|
128
|
+
rootRouter.openAPIRegistry.registerComponent('securitySchemes', name, scheme);
|
|
129
|
+
}
|
|
128
130
|
}
|
|
129
131
|
};
|
|
130
132
|
exports.ApiReferenceComponent = ApiReferenceComponent;
|
|
131
133
|
exports.ApiReferenceComponent = ApiReferenceComponent = ApiReferenceComponent_1 = __decorate([
|
|
132
|
-
__param(0, (0, metadata_1.inject)({ key:
|
|
134
|
+
__param(0, (0, metadata_1.inject)({ key: ignis_kernel_1.CoreBindings.APPLICATION_INSTANCE })),
|
|
133
135
|
__metadata("design:paramtypes", [applications_1.BaseApplication])
|
|
134
136
|
], ApiReferenceComponent);
|
|
135
|
-
/** @deprecated Use `ApiReferenceComponent`. */
|
|
136
|
-
exports.SwaggerComponent = ApiReferenceComponent;
|
|
137
137
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/api-reference/component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/api-reference/component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { TContext } from '@venizia/ignis-kernel';
|
|
2
|
-
import { BaseService } from '@venizia/ignis-kernel';
|
|
3
|
-
import type { ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
4
1
|
import type { AESAlgorithmType, IPayloadCipher } from '@venizia/ignis-helpers';
|
|
2
|
+
import type { ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
3
|
+
import type { IJWTIssueClaims, IJWTSignOptions, IJWTTokenPayload, IPayloadFieldCodec, TContext, TGetTokenExpiresFn } from '@venizia/ignis-kernel';
|
|
4
|
+
import { BaseService } from '@venizia/ignis-kernel';
|
|
5
5
|
import type { Env } from 'hono';
|
|
6
6
|
import type { JWTPayload, JWTVerifyResult, SignJWT } from 'jose';
|
|
7
|
-
import type { IJWTTokenPayload, IPayloadFieldCodec, TGetTokenExpiresFn } from '@venizia/ignis-kernel';
|
|
8
7
|
/** Abstract base for Bearer-token services (JWS, JWKS) with optional AES payload encryption. */
|
|
9
8
|
export declare abstract class AbstractBearerTokenService<E extends Env = Env> extends BaseService {
|
|
10
9
|
/** Standard JWT fields that are never encrypted. */
|
|
@@ -12,6 +11,8 @@ export declare abstract class AbstractBearerTokenService<E extends Env = Env> ex
|
|
|
12
11
|
protected aes: IPayloadCipher | null;
|
|
13
12
|
protected applicationSecret: string | null;
|
|
14
13
|
protected fieldCodecs: Map<string, IPayloadFieldCodec>;
|
|
14
|
+
/** Configured `iss` / `aud`. Authoritative over anything the payload carries. */
|
|
15
|
+
protected signOptions: IJWTSignOptions | null;
|
|
15
16
|
/** Configures AES payload encryption and field codecs. Both aesAlgorithm and applicationSecret required to activate encryption. */
|
|
16
17
|
protected configurePayloadEncryption(opts: {
|
|
17
18
|
aesAlgorithm?: AESAlgorithmType;
|
|
@@ -19,6 +20,7 @@ export declare abstract class AbstractBearerTokenService<E extends Env = Env> ex
|
|
|
19
20
|
fieldCodecs?: IPayloadFieldCodec[];
|
|
20
21
|
/** Overrides the cipher. Pass `LegacyAES` to keep reading tokens issued before the PBKDF2 envelope; `aesAlgorithm` is then the cipher's own concern and is ignored here. */
|
|
21
22
|
cipher?: IPayloadCipher;
|
|
23
|
+
sign?: IJWTSignOptions;
|
|
22
24
|
}): void;
|
|
23
25
|
extractCredentials(context: TContext<E, string>): {
|
|
24
26
|
type: string;
|
|
@@ -31,6 +33,8 @@ export declare abstract class AbstractBearerTokenService<E extends Env = Env> ex
|
|
|
31
33
|
generate(opts: {
|
|
32
34
|
payload: IJWTTokenPayload;
|
|
33
35
|
getTokenExpiresFn?: TGetTokenExpiresFn;
|
|
36
|
+
/** Per-token registered claims. The supported way to vary `aud` / `sub`; the payload is not. */
|
|
37
|
+
claims?: IJWTIssueClaims;
|
|
34
38
|
}): Promise<string>;
|
|
35
39
|
protected serializeField(opts: {
|
|
36
40
|
key: string;
|
|
@@ -41,6 +45,22 @@ export declare abstract class AbstractBearerTokenService<E extends Env = Env> ex
|
|
|
41
45
|
key: string;
|
|
42
46
|
value: string;
|
|
43
47
|
}): any;
|
|
48
|
+
/**
|
|
49
|
+
* Stamps the configured `iss` / `aud` onto a signer, plus any per-token claims the caller passed.
|
|
50
|
+
*
|
|
51
|
+
* The configured value is AUTHORITATIVE. `iss` and `aud` are in `JWT_COMMON_FIELDS`, so they ride
|
|
52
|
+
* through the AES envelope in the clear and an application-shaped payload can carry them - an
|
|
53
|
+
* issuer identity any payload could overwrite would not be an identity. A conflicting payload
|
|
54
|
+
* claim is overwritten and reported.
|
|
55
|
+
*
|
|
56
|
+
* Per-token audience is an explicit argument rather than a smuggled payload key, so the caller
|
|
57
|
+
* that legitimately needs one says so.
|
|
58
|
+
*/
|
|
59
|
+
protected applySignClaims(opts: {
|
|
60
|
+
signer: SignJWT;
|
|
61
|
+
payload: Record<string, any>;
|
|
62
|
+
claims?: IJWTIssueClaims;
|
|
63
|
+
}): SignJWT;
|
|
44
64
|
decryptPayload(opts: {
|
|
45
65
|
result: JWTVerifyResult<IJWTTokenPayload>;
|
|
46
66
|
}): IJWTTokenPayload;
|
|
@@ -48,6 +68,7 @@ export declare abstract class AbstractBearerTokenService<E extends Env = Env> ex
|
|
|
48
68
|
abstract getSigner(opts: {
|
|
49
69
|
payload: IJWTTokenPayload;
|
|
50
70
|
getTokenExpiresFn: TGetTokenExpiresFn;
|
|
71
|
+
claims?: IJWTIssueClaims;
|
|
51
72
|
}): Promise<SignJWT>;
|
|
52
73
|
protected abstract getSigningKey(): ValueOrPromise<Uint8Array | CryptoKey>;
|
|
53
74
|
protected abstract getDefaultTokenExpiresFn(): TGetTokenExpiresFn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.service.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/services/bearer/abstract.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"abstract.service.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/services/bearer/abstract.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,EACR,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAwC,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEjE,gGAAgG;AAChG,8BAAsB,0BAA0B,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,CAAE,SAAQ,WAAW;IACvF,oDAAoD;IACpD,MAAM,CAAC,QAAQ,CAAC,iBAAiB,wBAQ9B;IAEH,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC5C,SAAS,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClD,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAa;IAEnE,iFAAiF;IACjF,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,CAAQ;IAErD,mIAAmI;IACnI,SAAS,CAAC,0BAA0B,CAAC,IAAI,EAAE;QACzC,YAAY,CAAC,EAAE,gBAAgB,CAAC;QAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;QACnC,4KAA4K;QAC5K,MAAM,CAAC,EAAE,cAAc,CAAC;QACxB,IAAI,CAAC,EAAE,eAAe,CAAC;KACxB,GAAG,IAAI;IAmBR,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IA8B3E,MAAM,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBxE,QAAQ,CAAC,IAAI,EAAE;QACnB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;QACvC,gGAAgG;QAChG,MAAM,CAAC,EAAE,eAAe,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBnB,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,MAAM;IAWnE,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAqC9D,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAW/D;;;;;;;;;;OAUG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE;QAC9B,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,eAAe,CAAC;KAC1B,GAAG,OAAO;IAwCX,cAAc,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAA;KAAE,GAAG,gBAAgB;IAiCrF,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAErE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE;QACvB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,iBAAiB,EAAE,kBAAkB,CAAC;QACtC,MAAM,CAAC,EAAE,eAAe,CAAC;KAC1B,GAAG,OAAO,CAAC,OAAO,CAAC;IAEpB,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,cAAc,CAAC,UAAU,GAAG,SAAS,CAAC;IAE1E,SAAS,CAAC,QAAQ,CAAC,wBAAwB,IAAI,kBAAkB;CAClE"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractBearerTokenService = void 0;
|
|
4
|
-
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
5
|
-
const core_1 = require("@venizia/ignis-helpers/core");
|
|
6
|
-
const common_1 = require("@venizia/ignis-helpers/common");
|
|
7
4
|
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
8
|
-
const
|
|
5
|
+
const common_1 = require("@venizia/ignis-helpers/common");
|
|
6
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
7
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
9
8
|
/** Abstract base for Bearer-token services (JWS, JWKS) with optional AES payload encryption. */
|
|
10
9
|
class AbstractBearerTokenService extends ignis_kernel_1.BaseService {
|
|
11
10
|
constructor() {
|
|
@@ -13,6 +12,8 @@ class AbstractBearerTokenService extends ignis_kernel_1.BaseService {
|
|
|
13
12
|
this.aes = null;
|
|
14
13
|
this.applicationSecret = null;
|
|
15
14
|
this.fieldCodecs = new Map();
|
|
15
|
+
/** Configured `iss` / `aud`. Authoritative over anything the payload carries. */
|
|
16
|
+
this.signOptions = null;
|
|
16
17
|
}
|
|
17
18
|
/** Standard JWT fields that are never encrypted. */
|
|
18
19
|
static { this.JWT_COMMON_FIELDS = new Set([
|
|
@@ -26,7 +27,8 @@ class AbstractBearerTokenService extends ignis_kernel_1.BaseService {
|
|
|
26
27
|
]); }
|
|
27
28
|
/** Configures AES payload encryption and field codecs. Both aesAlgorithm and applicationSecret required to activate encryption. */
|
|
28
29
|
configurePayloadEncryption(opts) {
|
|
29
|
-
const { aesAlgorithm = 'aes-256-cbc', applicationSecret, fieldCodecs, cipher } = opts;
|
|
30
|
+
const { aesAlgorithm = 'aes-256-cbc', applicationSecret, fieldCodecs, cipher, sign } = opts;
|
|
31
|
+
this.signOptions = sign ?? null;
|
|
30
32
|
if (fieldCodecs) {
|
|
31
33
|
for (const codec of fieldCodecs) {
|
|
32
34
|
this.fieldCodecs.set(codec.key, codec);
|
|
@@ -43,20 +45,20 @@ class AbstractBearerTokenService extends ignis_kernel_1.BaseService {
|
|
|
43
45
|
const authHeaderValue = request.header('Authorization');
|
|
44
46
|
if (!authHeaderValue) {
|
|
45
47
|
throw (0, core_1.getError)({
|
|
46
|
-
error:
|
|
48
|
+
error: ignis_kernel_1.AuthenticationErrors.HEADER_MISSING,
|
|
47
49
|
message: 'Unauthorized user! Missing authorization header',
|
|
48
50
|
});
|
|
49
51
|
}
|
|
50
|
-
if (!authHeaderValue.startsWith(
|
|
52
|
+
if (!authHeaderValue.startsWith(ignis_kernel_1.Authentication.TYPE_BEARER)) {
|
|
51
53
|
throw (0, core_1.getError)({
|
|
52
|
-
error:
|
|
54
|
+
error: ignis_kernel_1.AuthenticationErrors.SCHEME_INVALID,
|
|
53
55
|
message: 'Unauthorized user! Invalid schema of request token!',
|
|
54
56
|
});
|
|
55
57
|
}
|
|
56
58
|
const parts = authHeaderValue.split(' ');
|
|
57
59
|
if (parts.length !== 2) {
|
|
58
60
|
throw (0, core_1.getError)({
|
|
59
|
-
error:
|
|
61
|
+
error: ignis_kernel_1.AuthenticationErrors.HEADER_MALFORMED,
|
|
60
62
|
message: `Authorization header value is invalid format. It must follow the pattern: 'Bearer xx.yy.zz' where xx.yy.zz is a valid JWT token.`,
|
|
61
63
|
});
|
|
62
64
|
}
|
|
@@ -68,7 +70,7 @@ class AbstractBearerTokenService extends ignis_kernel_1.BaseService {
|
|
|
68
70
|
if (!token) {
|
|
69
71
|
this.logger.for(this.verify.name).error('Missing token for validating request!');
|
|
70
72
|
throw (0, core_1.getError)({
|
|
71
|
-
error:
|
|
73
|
+
error: ignis_kernel_1.AuthenticationErrors.TOKEN_MISSING,
|
|
72
74
|
message: '[verify] Invalid request token!',
|
|
73
75
|
});
|
|
74
76
|
}
|
|
@@ -78,7 +80,7 @@ class AbstractBearerTokenService extends ignis_kernel_1.BaseService {
|
|
|
78
80
|
catch (error) {
|
|
79
81
|
// No log here - `cause` carries the reason (JWTExpired, signature mismatch) to the error handler, which logs the request once. An expired token is the caller's problem, hence `warn`.
|
|
80
82
|
throw (0, core_1.getError)({
|
|
81
|
-
error:
|
|
83
|
+
error: ignis_kernel_1.AuthenticationErrors.TOKEN_INVALID,
|
|
82
84
|
message: '[verify] Invalid or expired token',
|
|
83
85
|
logLevel: 'warn',
|
|
84
86
|
cause: error,
|
|
@@ -86,14 +88,14 @@ class AbstractBearerTokenService extends ignis_kernel_1.BaseService {
|
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
90
|
async generate(opts) {
|
|
89
|
-
const { payload, getTokenExpiresFn = this.getDefaultTokenExpiresFn() } = opts;
|
|
91
|
+
const { payload, claims, getTokenExpiresFn = this.getDefaultTokenExpiresFn() } = opts;
|
|
90
92
|
if (!payload) {
|
|
91
93
|
throw (0, core_1.getError)({
|
|
92
|
-
error:
|
|
94
|
+
error: ignis_kernel_1.AuthenticationErrors.TOKEN_PAYLOAD_INVALID,
|
|
93
95
|
message: '[generate] Invalid token payload!',
|
|
94
96
|
});
|
|
95
97
|
}
|
|
96
|
-
const signer = await this.getSigner({ payload, getTokenExpiresFn });
|
|
98
|
+
const signer = await this.getSigner({ payload, getTokenExpiresFn, claims });
|
|
97
99
|
try {
|
|
98
100
|
const rs = await signer.sign(await this.getSigningKey());
|
|
99
101
|
return rs;
|
|
@@ -150,6 +152,43 @@ class AbstractBearerTokenService extends ignis_kernel_1.BaseService {
|
|
|
150
152
|
}
|
|
151
153
|
return JSON.parse(value);
|
|
152
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Stamps the configured `iss` / `aud` onto a signer, plus any per-token claims the caller passed.
|
|
157
|
+
*
|
|
158
|
+
* The configured value is AUTHORITATIVE. `iss` and `aud` are in `JWT_COMMON_FIELDS`, so they ride
|
|
159
|
+
* through the AES envelope in the clear and an application-shaped payload can carry them - an
|
|
160
|
+
* issuer identity any payload could overwrite would not be an identity. A conflicting payload
|
|
161
|
+
* claim is overwritten and reported.
|
|
162
|
+
*
|
|
163
|
+
* Per-token audience is an explicit argument rather than a smuggled payload key, so the caller
|
|
164
|
+
* that legitimately needs one says so.
|
|
165
|
+
*/
|
|
166
|
+
applySignClaims(opts) {
|
|
167
|
+
const { signer, payload, claims } = opts;
|
|
168
|
+
const configured = this.signOptions;
|
|
169
|
+
const issuer = claims?.issuer ?? configured?.issuer;
|
|
170
|
+
const audience = claims?.audience ?? configured?.audience;
|
|
171
|
+
const logger = this.logger.for(this.applySignClaims.name);
|
|
172
|
+
if (issuer !== undefined) {
|
|
173
|
+
if (payload.iss !== undefined && payload.iss !== issuer) {
|
|
174
|
+
logger.warn('Payload iss overridden by the configured issuer | payload: %s | configured: %s', payload.iss, issuer);
|
|
175
|
+
}
|
|
176
|
+
signer.setIssuer(issuer);
|
|
177
|
+
}
|
|
178
|
+
if (audience !== undefined) {
|
|
179
|
+
if (payload.aud !== undefined) {
|
|
180
|
+
logger.warn('Payload aud overridden | payload: %j | applied: %j', payload.aud, audience);
|
|
181
|
+
}
|
|
182
|
+
signer.setAudience(audience);
|
|
183
|
+
}
|
|
184
|
+
if (claims?.subject !== undefined) {
|
|
185
|
+
signer.setSubject(claims.subject);
|
|
186
|
+
}
|
|
187
|
+
if (claims?.jwtId !== undefined) {
|
|
188
|
+
signer.setJti(claims.jwtId);
|
|
189
|
+
}
|
|
190
|
+
return signer;
|
|
191
|
+
}
|
|
153
192
|
decryptPayload(opts) {
|
|
154
193
|
const { payload, protectedHeader } = opts.result;
|
|
155
194
|
if (!this.aes || !this.applicationSecret) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.service.js","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/services/bearer/abstract.service.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"abstract.service.js","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/services/bearer/abstract.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TNullable, ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
2
|
+
import { IJWKSIssuerOptions, IJWTIssueClaims, IJWTTokenPayload, TGetTokenExpiresFn } from '@venizia/ignis-kernel';
|
|
2
3
|
import { Env } from 'hono';
|
|
3
4
|
import { CryptoKey, JWK, SignJWT } from 'jose';
|
|
4
|
-
import { IJWKSIssuerOptions, IJWTTokenPayload, TGetTokenExpiresFn } from '@venizia/ignis-kernel';
|
|
5
5
|
import { AbstractJWKSTokenService } from './abstract.service';
|
|
6
6
|
export declare class JWKSIssuerTokenService<E extends Env = Env> extends AbstractJWKSTokenService<E> {
|
|
7
7
|
protected options: IJWKSIssuerOptions;
|
|
@@ -33,6 +33,7 @@ export declare class JWKSIssuerTokenService<E extends Env = Env> extends Abstrac
|
|
|
33
33
|
getSigner(opts: {
|
|
34
34
|
payload: IJWTTokenPayload;
|
|
35
35
|
getTokenExpiresFn: TGetTokenExpiresFn;
|
|
36
|
+
claims?: IJWTIssueClaims;
|
|
36
37
|
}): Promise<SignJWT>;
|
|
37
38
|
protected getSigningKey(): ValueOrPromise<Uint8Array | CryptoKey>;
|
|
38
39
|
protected getDefaultTokenExpiresFn(): TGetTokenExpiresFn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issuer.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/auth/authenticate/services/bearer/jwks/issuer.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"issuer.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/auth/authenticate/services/bearer/jwks/issuer.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAEL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAIhB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EACL,SAAS,EAKT,GAAG,EAEH,OAAO,EACR,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,qBAAa,sBAAsB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,CAAE,SAAQ,wBAAwB,CAAC,CAAC,CAAC;IAOxF,SAAS,CAAC,OAAO,EAAE,kBAAkB;IANvC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,CAAQ;IAC/D,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,CAAQ;IAC9D,SAAS,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,IAAI,CAAQ;gBAIlC,OAAO,EAAE,kBAAkB;cAad,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cA4BpC,iBAAiB,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;KAAE;;;;cA0B5D,gBAAgB,CAAC,IAAI,EAAE;QACrC,GAAG,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACnC,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;KAClC;;;;cAoDwB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAM5D,SAAS,CAAC,IAAI,EAAE;QAC7B,OAAO,EAAE,gBAAgB,CAAC;QAC1B,iBAAiB,EAAE,kBAAkB,CAAC;QACtC,MAAM,CAAC,EAAE,eAAe,CAAC;KAC1B;cAiBkB,aAAa,IAAI,cAAc,CAAC,UAAU,GAAG,SAAS,CAAC;cAQvD,wBAAwB,IAAI,kBAAkB;IAIjE,OAAO,IAAI;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE;IAWpB,YAAY,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;CAI/C"}
|
|
@@ -14,12 +14,11 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
var JWKSIssuerTokenService_1;
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.JWKSIssuerTokenService = void 0;
|
|
17
|
-
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
18
|
-
const core_1 = require("@venizia/ignis-helpers/core");
|
|
19
17
|
const common_1 = require("@venizia/ignis-helpers/common");
|
|
18
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
19
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
20
20
|
const jose_1 = require("jose");
|
|
21
21
|
const promises_1 = require("node:fs/promises");
|
|
22
|
-
const ignis_kernel_2 = require("@venizia/ignis-kernel");
|
|
23
22
|
const abstract_service_1 = require("./abstract.service");
|
|
24
23
|
let JWKSIssuerTokenService = JWKSIssuerTokenService_1 = class JWKSIssuerTokenService extends abstract_service_1.AbstractJWKSTokenService {
|
|
25
24
|
constructor(options) {
|
|
@@ -33,6 +32,7 @@ let JWKSIssuerTokenService = JWKSIssuerTokenService_1 = class JWKSIssuerTokenSer
|
|
|
33
32
|
applicationSecret: this.options.applicationSecret,
|
|
34
33
|
fieldCodecs: this.options.fieldCodecs,
|
|
35
34
|
cipher: this.options.cipher,
|
|
35
|
+
sign: this.options.sign,
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
async initialize() {
|
|
@@ -54,14 +54,14 @@ let JWKSIssuerTokenService = JWKSIssuerTokenService_1 = class JWKSIssuerTokenSer
|
|
|
54
54
|
async resolveKeyContent(opts) {
|
|
55
55
|
const { keys } = opts;
|
|
56
56
|
switch (keys.driver) {
|
|
57
|
-
case
|
|
57
|
+
case ignis_kernel_1.JWKSKeyDrivers.FILE: {
|
|
58
58
|
const [priv, pub] = await Promise.all([
|
|
59
59
|
(0, promises_1.readFile)(keys.private, 'utf-8'),
|
|
60
60
|
(0, promises_1.readFile)(keys.public, 'utf-8'),
|
|
61
61
|
]);
|
|
62
62
|
return { priv, pub };
|
|
63
63
|
}
|
|
64
|
-
case
|
|
64
|
+
case ignis_kernel_1.JWKSKeyDrivers.TEXT: {
|
|
65
65
|
return {
|
|
66
66
|
priv: keys.private,
|
|
67
67
|
pub: keys.public,
|
|
@@ -90,12 +90,12 @@ let JWKSIssuerTokenService = JWKSIssuerTokenService_1 = class JWKSIssuerTokenSer
|
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
switch (keys.format) {
|
|
93
|
-
case
|
|
93
|
+
case ignis_kernel_1.JWKSKeyFormats.PEM: {
|
|
94
94
|
const priv = await (0, jose_1.importPKCS8)(raw.priv, algorithm);
|
|
95
95
|
const pub = await (0, jose_1.importSPKI)(raw.pub, algorithm);
|
|
96
96
|
return { priv, pub };
|
|
97
97
|
}
|
|
98
|
-
case
|
|
98
|
+
case ignis_kernel_1.JWKSKeyFormats.JWK: {
|
|
99
99
|
try {
|
|
100
100
|
const parsed = {
|
|
101
101
|
priv: JSON.parse(raw.priv),
|
|
@@ -125,7 +125,7 @@ let JWKSIssuerTokenService = JWKSIssuerTokenService_1 = class JWKSIssuerTokenSer
|
|
|
125
125
|
}
|
|
126
126
|
async doVerify(token) {
|
|
127
127
|
await this.ensureInitialized();
|
|
128
|
-
const result = await (0, jose_1.jwtVerify)(token, this.publicKey);
|
|
128
|
+
const result = await (0, jose_1.jwtVerify)(token, this.publicKey, this.options.verify);
|
|
129
129
|
return this.decryptPayload({ result });
|
|
130
130
|
}
|
|
131
131
|
async getSigner(opts) {
|
|
@@ -133,11 +133,12 @@ let JWKSIssuerTokenService = JWKSIssuerTokenService_1 = class JWKSIssuerTokenSer
|
|
|
133
133
|
const now = Math.floor(Date.now() / 1000);
|
|
134
134
|
const expiresIn = await opts.getTokenExpiresFn();
|
|
135
135
|
const encryptedPayload = this.encryptPayload(opts.payload);
|
|
136
|
-
|
|
136
|
+
const signer = new jose_1.SignJWT({ ...encryptedPayload })
|
|
137
137
|
.setProtectedHeader({ alg: this.options.algorithm, kid: this.options.kid })
|
|
138
138
|
.setIssuedAt()
|
|
139
139
|
.setExpirationTime(now + expiresIn)
|
|
140
140
|
.setNotBefore(now);
|
|
141
|
+
return this.applySignClaims({ signer, payload: encryptedPayload, claims: opts.claims });
|
|
141
142
|
}
|
|
142
143
|
getSigningKey() {
|
|
143
144
|
if (!this.privateKey) {
|
|
@@ -164,7 +165,7 @@ let JWKSIssuerTokenService = JWKSIssuerTokenService_1 = class JWKSIssuerTokenSer
|
|
|
164
165
|
};
|
|
165
166
|
exports.JWKSIssuerTokenService = JWKSIssuerTokenService;
|
|
166
167
|
exports.JWKSIssuerTokenService = JWKSIssuerTokenService = JWKSIssuerTokenService_1 = __decorate([
|
|
167
|
-
__param(0, (0, ignis_kernel_1.inject)({ key:
|
|
168
|
+
__param(0, (0, ignis_kernel_1.inject)({ key: ignis_kernel_1.AuthenticateBindingKeys.JWKS_OPTIONS })),
|
|
168
169
|
__metadata("design:paramtypes", [Object])
|
|
169
170
|
], JWKSIssuerTokenService);
|
|
170
171
|
//# sourceMappingURL=issuer.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issuer.service.js","sourceRoot":"","sources":["../../../../../../../src/components/auth/authenticate/services/bearer/jwks/issuer.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"issuer.service.js","sourceRoot":"","sources":["../../../../../../../src/components/auth/authenticate/services/bearer/jwks/issuer.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAgF;AAChF,sDAAuD;AACvD,wDAS+B;AAE/B,+BASc;AACd,+CAA4C;AAC5C,yDAA8D;AAE9D,IAAa,sBAAsB,8BAAnC,MAAa,sBAA4C,SAAQ,2CAA2B;IAK1F,YAEE,OAAqC;QAErC,KAAK,CAAC,EAAE,KAAK,EAAE,wBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC;QAFpC,YAAO,GAAP,OAAO,CAAoB;QAN7B,eAAU,GAAsC,IAAI,CAAC;QACrD,cAAS,GAAsC,IAAI,CAAC;QACpD,SAAI,GAA2B,IAAI,CAAC;QAQ5C,IAAI,CAAC,0BAA0B,CAAC;YAC9B,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACvC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;YACjD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;IAEkB,KAAK,CAAC,UAAU;QACjC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC;QAE3B,MAAM,SAAS,GAAG,MAAM,IAAA,gBAAS,EAAC,IAAI,CAAC,SAAU,CAAC,CAAC;QACnD,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QACjC,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC;QAC1B,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QAElC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;aACzB,IAAI,CACH,6DAA6D,EAC7D,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,GAAG,CACjB,CAAC;IACN,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,IAA0C;QAC1E,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAEtB,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,6BAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzB,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACpC,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;oBAC/B,IAAA,mBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;iBAC/B,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACvB,CAAC;YACD,KAAK,6BAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzB,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,OAAO;oBAClB,GAAG,EAAE,IAAI,CAAC,MAAM;iBACjB,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAA,eAAQ,EAAC;oBACb,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;oBACrD,OAAO,EAAE,gDAAgD,IAAI,CAAC,MAAM,EAAE;iBACvE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,IAIhC;QACC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAEtC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAA,eAAQ,EAAC;gBACb,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;gBACrD,OAAO,EAAE,gDAAgD;aAC1D,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,IAAA,eAAQ,EAAC;gBACb,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;gBACrD,OAAO,EAAE,+CAA+C;aACzD,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,6BAAc,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACpD,MAAM,GAAG,GAAG,MAAM,IAAA,iBAAU,EAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACjD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACvB,CAAC;YACD,KAAK,6BAAc,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG;wBACb,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAQ;wBACjC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAQ;qBAChC,CAAC;oBAEF,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACrD,MAAM,GAAG,GAAG,MAAM,IAAA,gBAAS,EAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBACnD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM;yBACR,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;yBAC/B,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;oBACxD,MAAM,IAAA,eAAQ,EAAC;wBACb,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;wBACrD,OAAO,EAAE,mDAAmD;qBAC7D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAA,eAAQ,EAAC;oBACb,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;oBACrD,OAAO,EAAE,gDAAgD,IAAI,CAAC,MAAM,EAAE;iBACvE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAEkB,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC7C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAS,EAAmB,KAAK,EAAE,IAAI,CAAC,SAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,IAIxB;QACC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,IAAI,cAAO,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;aAChD,kBAAkB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;aAC1E,WAAW,EAAE;aACb,iBAAiB,CAAC,GAAG,GAAG,SAAS,CAAC;aAClC,YAAY,CAAC,GAAG,CAAC,CAAC;QAErB,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEkB,aAAa;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEkB,wBAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACxC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAA,eAAQ,EAAC;gBACb,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;gBACrD,OAAO,EAAE,iFAAiF;aAC3F,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAK,CAAC;IACpB,CAAC;CACF,CAAA;AAxLY,wDAAsB;iCAAtB,sBAAsB;IAM9B,WAAA,IAAA,qBAAM,EAAC,EAAE,GAAG,EAAE,sCAAuB,CAAC,YAAY,EAAE,CAAC,CAAA;;GAN7C,sBAAsB,CAwLlC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { IJWKSVerifierOptions, IJWTTokenPayload, TGetTokenExpiresFn } from '@venizia/ignis-kernel';
|
|
1
2
|
import { Env } from 'hono';
|
|
2
3
|
import { createRemoteJWKSet, SignJWT } from 'jose';
|
|
3
|
-
import { IJWKSVerifierOptions, IJWTTokenPayload, TGetTokenExpiresFn } from '@venizia/ignis-kernel';
|
|
4
4
|
import { AbstractJWKSTokenService } from './abstract.service';
|
|
5
5
|
export declare class JWKSVerifierTokenService<E extends Env = Env> extends AbstractJWKSTokenService<E> {
|
|
6
6
|
protected options: IJWKSVerifierOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/auth/authenticate/services/bearer/jwks/verifier.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verifier.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/auth/authenticate/services/bearer/jwks/verifier.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,oBAAoB,EACpB,gBAAgB,EAEhB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAa,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,qBAAa,wBAAwB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,CAAE,SAAQ,wBAAwB,CAAC,CAAC,CAAC;IAK1F,SAAS,CAAC,OAAO,EAAE,oBAAoB;IAJzC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,GAAG,IAAI,CAAQ;gBAIhE,OAAO,EAAE,oBAAoB;cAWhB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cAc3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU5D,SAAS,CAAC,KAAK,EAAE;QAC9B,OAAO,EAAE,gBAAgB,CAAC;QAC1B,iBAAiB,EAAE,kBAAkB,CAAC;KACvC,GAAG,OAAO,CAAC,OAAO,CAAC;cAOD,aAAa,IAAI,KAAK;cAOtB,wBAAwB,IAAI,KAAK;CAMrD"}
|
|
@@ -14,11 +14,10 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
var JWKSVerifierTokenService_1;
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.JWKSVerifierTokenService = void 0;
|
|
17
|
-
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
18
|
-
const core_1 = require("@venizia/ignis-helpers/core");
|
|
19
17
|
const common_1 = require("@venizia/ignis-helpers/common");
|
|
18
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
19
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
20
20
|
const jose_1 = require("jose");
|
|
21
|
-
const ignis_kernel_2 = require("@venizia/ignis-kernel");
|
|
22
21
|
const abstract_service_1 = require("./abstract.service");
|
|
23
22
|
let JWKSVerifierTokenService = JWKSVerifierTokenService_1 = class JWKSVerifierTokenService extends abstract_service_1.AbstractJWKSTokenService {
|
|
24
23
|
constructor(options) {
|
|
@@ -45,7 +44,7 @@ let JWKSVerifierTokenService = JWKSVerifierTokenService_1 = class JWKSVerifierTo
|
|
|
45
44
|
}
|
|
46
45
|
async doVerify(token) {
|
|
47
46
|
await this.ensureInitialized();
|
|
48
|
-
const result = await (0, jose_1.jwtVerify)(token, this.jwksVerifier);
|
|
47
|
+
const result = await (0, jose_1.jwtVerify)(token, this.jwksVerifier, this.options.verify);
|
|
49
48
|
return this.decryptPayload({ result });
|
|
50
49
|
}
|
|
51
50
|
async getSigner(_opts) {
|
|
@@ -69,7 +68,7 @@ let JWKSVerifierTokenService = JWKSVerifierTokenService_1 = class JWKSVerifierTo
|
|
|
69
68
|
};
|
|
70
69
|
exports.JWKSVerifierTokenService = JWKSVerifierTokenService;
|
|
71
70
|
exports.JWKSVerifierTokenService = JWKSVerifierTokenService = JWKSVerifierTokenService_1 = __decorate([
|
|
72
|
-
__param(0, (0, ignis_kernel_1.inject)({ key:
|
|
71
|
+
__param(0, (0, ignis_kernel_1.inject)({ key: ignis_kernel_1.AuthenticateBindingKeys.JWKS_OPTIONS })),
|
|
73
72
|
__metadata("design:paramtypes", [Object])
|
|
74
73
|
], JWKSVerifierTokenService);
|
|
75
74
|
//# sourceMappingURL=verifier.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.service.js","sourceRoot":"","sources":["../../../../../../../src/components/auth/authenticate/services/bearer/jwks/verifier.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"verifier.service.js","sourceRoot":"","sources":["../../../../../../../src/components/auth/authenticate/services/bearer/jwks/verifier.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAqD;AACrD,sDAAuD;AACvD,wDAM+B;AAE/B,+BAA8D;AAC9D,yDAA8D;AAE9D,IAAa,wBAAwB,gCAArC,MAAa,wBAA8C,SAAQ,2CAA2B;IAG5F,YAEE,OAAuC;QAEvC,KAAK,CAAC,EAAE,KAAK,EAAE,0BAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;QAFtC,YAAO,GAAP,OAAO,CAAsB;QAJ/B,iBAAY,GAAiD,IAAI,CAAC;QAO1E,IAAI,CAAC,0BAA0B,CAAC;YAC9B,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACvC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;YACjD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;IAEkB,KAAK,CAAC,UAAU;QACjC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAA,yBAAkB,EAAC,OAAO,EAAE;YAC9C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,UAAU;YAClD,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM;SACpD,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;aACzB,IAAI,CAAC,qCAAqC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IAEkB,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC7C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAS,EAC5B,KAAK,EACL,IAAI,CAAC,YAAa,EAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CACpB,CAAC;QACF,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,KAGxB;QACC,MAAM,IAAA,eAAQ,EAAC;YACb,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;YACrD,OAAO,EAAE,6DAA6D;SACvE,CAAC,CAAC;IACL,CAAC;IAEkB,aAAa;QAC9B,MAAM,IAAA,eAAQ,EAAC;YACb,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;YACrD,OAAO,EAAE,6DAA6D;SACvE,CAAC,CAAC;IACL,CAAC;IAEkB,wBAAwB;QACzC,MAAM,IAAA,eAAQ,EAAC;YACb,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;YACrD,OAAO,EAAE,8DAA8D;SACxE,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA/DY,4DAAwB;mCAAxB,wBAAwB;IAIhC,WAAA,IAAA,qBAAM,EAAC,EAAE,GAAG,EAAE,sCAAuB,CAAC,YAAY,EAAE,CAAC,CAAA;;GAJ7C,wBAAwB,CA+DpC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
2
|
+
import { IJWSTokenServiceOptions, IJWTIssueClaims, IJWTTokenPayload, TGetTokenExpiresFn } from '@venizia/ignis-kernel';
|
|
2
3
|
import { Env } from 'hono';
|
|
3
4
|
import { SignJWT } from 'jose';
|
|
4
|
-
import { IJWSTokenServiceOptions, IJWTTokenPayload, TGetTokenExpiresFn } from '@venizia/ignis-kernel';
|
|
5
5
|
import { AbstractBearerTokenService } from './abstract.service';
|
|
6
6
|
/** Symmetric JWT (JWS) token service with optional AES-encrypted payloads. */
|
|
7
7
|
export declare class JWSTokenService<E extends Env = Env> extends AbstractBearerTokenService<E> {
|
|
@@ -12,6 +12,7 @@ export declare class JWSTokenService<E extends Env = Env> extends AbstractBearer
|
|
|
12
12
|
getSigner(opts: {
|
|
13
13
|
payload: IJWTTokenPayload;
|
|
14
14
|
getTokenExpiresFn: TGetTokenExpiresFn;
|
|
15
|
+
claims?: IJWTIssueClaims;
|
|
15
16
|
}): Promise<SignJWT>;
|
|
16
17
|
protected getSigningKey(): ValueOrPromise<Uint8Array>;
|
|
17
18
|
protected getDefaultTokenExpiresFn(): TGetTokenExpiresFn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jws.service.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/services/bearer/jws.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jws.service.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/services/bearer/jws.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAEL,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAEhB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAa,OAAO,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,8EAA8E;AAC9E,qBAAa,eAAe,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IAKnF,SAAS,CAAC,OAAO,EAAE,uBAAuB;IAJ5C,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;gBAIpB,OAAO,EAAE,uBAAuB;cA8BnB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS5D,SAAS,CAAC,IAAI,EAAE;QAC7B,OAAO,EAAE,gBAAgB,CAAC;QAC1B,iBAAiB,EAAE,kBAAkB,CAAC;QACtC,MAAM,CAAC,EAAE,eAAe,CAAC;KAC1B;cAekB,aAAa,IAAI,cAAc,CAAC,UAAU,CAAC;cAQ3C,wBAAwB,IAAI,kBAAkB;CAGlE"}
|
|
@@ -14,11 +14,10 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
var JWSTokenService_1;
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.JWSTokenService = void 0;
|
|
17
|
-
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
18
|
-
const core_1 = require("@venizia/ignis-helpers/core");
|
|
19
17
|
const common_1 = require("@venizia/ignis-helpers/common");
|
|
18
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
19
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
20
20
|
const jose_1 = require("jose");
|
|
21
|
-
const ignis_kernel_2 = require("@venizia/ignis-kernel");
|
|
22
21
|
const abstract_service_1 = require("./abstract.service");
|
|
23
22
|
/** Symmetric JWT (JWS) token service with optional AES-encrypted payloads. */
|
|
24
23
|
let JWSTokenService = JWSTokenService_1 = class JWSTokenService extends abstract_service_1.AbstractBearerTokenService {
|
|
@@ -43,22 +42,24 @@ let JWSTokenService = JWSTokenService_1 = class JWSTokenService extends abstract
|
|
|
43
42
|
applicationSecret,
|
|
44
43
|
fieldCodecs: options.fieldCodecs,
|
|
45
44
|
cipher: options.cipher,
|
|
45
|
+
sign: options.sign,
|
|
46
46
|
});
|
|
47
47
|
this.jwtSecret = new TextEncoder().encode(this.options.jwtSecret);
|
|
48
48
|
}
|
|
49
49
|
async doVerify(token) {
|
|
50
|
-
const decodedToken = await (0, jose_1.jwtVerify)(token, this.jwtSecret,
|
|
50
|
+
const decodedToken = await (0, jose_1.jwtVerify)(token, this.jwtSecret, this.options.verify);
|
|
51
51
|
return this.decryptPayload({ result: decodedToken });
|
|
52
52
|
}
|
|
53
53
|
async getSigner(opts) {
|
|
54
54
|
const now = Math.floor(Date.now() / 1000);
|
|
55
55
|
const expiresIn = await opts.getTokenExpiresFn();
|
|
56
56
|
const encryptedPayload = this.encryptPayload(opts.payload);
|
|
57
|
-
|
|
57
|
+
const signer = new jose_1.SignJWT(Object.assign({}, encryptedPayload))
|
|
58
58
|
.setProtectedHeader({ alg: this.options.headerAlgorithm ?? 'HS256' })
|
|
59
59
|
.setIssuedAt()
|
|
60
60
|
.setExpirationTime(now + expiresIn)
|
|
61
61
|
.setNotBefore(now);
|
|
62
|
+
return this.applySignClaims({ signer, payload: encryptedPayload, claims: opts.claims });
|
|
62
63
|
}
|
|
63
64
|
getSigningKey() {
|
|
64
65
|
if (!this.jwtSecret) {
|
|
@@ -72,7 +73,7 @@ let JWSTokenService = JWSTokenService_1 = class JWSTokenService extends abstract
|
|
|
72
73
|
};
|
|
73
74
|
exports.JWSTokenService = JWSTokenService;
|
|
74
75
|
exports.JWSTokenService = JWSTokenService = JWSTokenService_1 = __decorate([
|
|
75
|
-
__param(0, (0, ignis_kernel_1.inject)({ key:
|
|
76
|
+
__param(0, (0, ignis_kernel_1.inject)({ key: ignis_kernel_1.AuthenticateBindingKeys.JWT_OPTIONS })),
|
|
76
77
|
__metadata("design:paramtypes", [Object])
|
|
77
78
|
], JWSTokenService);
|
|
78
79
|
//# sourceMappingURL=jws.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jws.service.js","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/services/bearer/jws.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"jws.service.js","sourceRoot":"","sources":["../../../../../../src/components/auth/authenticate/services/bearer/jws.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export declare class RequestTrackerComponent extends BaseComponent {
|
|
|
5
5
|
private application;
|
|
6
6
|
static readonly REQUEST_TRACKER_MW_BINDING_KEY: string;
|
|
7
7
|
constructor(application: BaseApplication);
|
|
8
|
-
/** No `requestId()` here: the id is installed by `RestApplication.registerDefaultMiddlewares()`, which runs first and uses `RequestIdGenerator
|
|
8
|
+
/** No `requestId()` here: the id is installed by `RestApplication.registerDefaultMiddlewares()`, which runs first and uses `RequestIdGenerator`. Same UUID v4 shape hono's own default produces, but hono calls `crypto.randomUUID` unguarded, and a browser leaves that one `undefined` outside a secure context. */
|
|
9
9
|
binding(): ValueOrPromise<void>;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/request-tracker/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,qBAAa,uBAAwB,SAAQ,aAAa;IAOF,OAAO,CAAC,WAAW;IANzE,MAAM,CAAC,QAAQ,CAAC,8BAA8B,SAGlC;gBAGkD,WAAW,EAAE,eAAe;IAe1F,
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/request-tracker/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,qBAAa,uBAAwB,SAAQ,aAAa;IAOF,OAAO,CAAC,WAAW;IANzE,MAAM,CAAC,QAAQ,CAAC,8BAA8B,SAGlC;gBAGkD,WAAW,EAAE,eAAe;IAe1F,sTAAsT;IAC7S,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;CAezC"}
|
|
@@ -41,7 +41,7 @@ let RequestTrackerComponent = class RequestTrackerComponent extends ignis_kernel
|
|
|
41
41
|
});
|
|
42
42
|
this.application = application;
|
|
43
43
|
}
|
|
44
|
-
/** No `requestId()` here: the id is installed by `RestApplication.registerDefaultMiddlewares()`, which runs first and uses `RequestIdGenerator
|
|
44
|
+
/** No `requestId()` here: the id is installed by `RestApplication.registerDefaultMiddlewares()`, which runs first and uses `RequestIdGenerator`. Same UUID v4 shape hono's own default produces, but hono calls `crypto.randomUUID` unguarded, and a browser leaves that one `undefined` outside a secure context. */
|
|
45
45
|
binding() {
|
|
46
46
|
const server = this.application.getServer();
|
|
47
47
|
const mw = this.application.get({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/request-tracker/component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,wDAAsD;AACtD,8CAAyC;AACzC,oDAA0D;AAC1D,wDAAwE;AACxE,wDAA+D;AAC/D,sDAAuD;AAIvD,IAAa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,4BAAa;;aACxC,mCAA8B,GAAG;QAC/C,gCAAiB,CAAC,UAAU;QAC5B,kCAAoB,CAAC,IAAI;KAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,AAHmC,CAGlC;IAEZ,YAC8D,WAA4B;QAExF,KAAK,CAAC;YACJ,KAAK,EAAE,yBAAuB,CAAC,IAAI;YACnC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;YACrD,QAAQ,EAAE;gBACR,CAAC,yBAAuB,CAAC,8BAA8B,CAAC,EAAE,sBAAO,CAAC,IAAI,CAAC;oBACrE,GAAG,EAAE,yBAAuB,CAAC,8BAA8B;iBAC5D,CAAC;qBACC,UAAU,CAAC,kCAAoB,CAAC;qBAChC,QAAQ,CAAC,4BAAa,CAAC,SAAS,CAAC;aACrC;SACF,CAAC,CAAC;QAZyD,gBAAW,GAAX,WAAW,CAAiB;IAa1F,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/request-tracker/component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,wDAAsD;AACtD,8CAAyC;AACzC,oDAA0D;AAC1D,wDAAwE;AACxE,wDAA+D;AAC/D,sDAAuD;AAIvD,IAAa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,4BAAa;;aACxC,mCAA8B,GAAG;QAC/C,gCAAiB,CAAC,UAAU;QAC5B,kCAAoB,CAAC,IAAI;KAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,AAHmC,CAGlC;IAEZ,YAC8D,WAA4B;QAExF,KAAK,CAAC;YACJ,KAAK,EAAE,yBAAuB,CAAC,IAAI;YACnC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;YACrD,QAAQ,EAAE;gBACR,CAAC,yBAAuB,CAAC,8BAA8B,CAAC,EAAE,sBAAO,CAAC,IAAI,CAAC;oBACrE,GAAG,EAAE,yBAAuB,CAAC,8BAA8B;iBAC5D,CAAC;qBACC,UAAU,CAAC,kCAAoB,CAAC;qBAChC,QAAQ,CAAC,4BAAa,CAAC,SAAS,CAAC;aACrC;SACF,CAAC,CAAC;QAZyD,gBAAW,GAAX,WAAW,CAAiB;IAa1F,CAAC;IAED,sTAAsT;IAC7S,OAAO;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAE5C,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAoB;YACjD,GAAG,EAAE,yBAAuB,CAAC,8BAA8B;SAC5D,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,2HAA2H,yBAAuB,CAAC,8BAA8B,EAAE;aAC7L,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;;AArCU,0DAAuB;kCAAvB,uBAAuB;IAO/B,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,2BAAY,CAAC,oBAAoB,EAAE,CAAC,CAAA;qCAAsB,8BAAe;GAP/E,uBAAuB,CAsCnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAQ,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAGL,cAAc,EAIf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3B,OAAO,EAIL,eAAe,EAEf,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EAGxB,MAAM,WAAW,CAAC;AAGnB,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,6BAA6B,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAChE,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAuBD,qBAAa,sBAAuB,SAAQ,UAAU;;IAKpD,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,uBAAuB;;YAkBtD,6FAA6F;2CAC9D;gBAAE,KAAK,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,IAAI;uBAYrC,cAAc,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAxDiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAQ,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAGL,cAAc,EAIf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3B,OAAO,EAIL,eAAe,EAEf,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EAGxB,MAAM,WAAW,CAAC;AAGnB,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,6BAA6B,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAChE,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAuBD,qBAAa,sBAAuB,SAAQ,UAAU;;IAKpD,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,uBAAuB;;YAkBtD,6FAA6F;2CAC9D;gBAAE,KAAK,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,IAAI;uBAYrC,cAAc,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAxDiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAif/E"}
|
|
@@ -270,7 +270,11 @@ class AssetControllerFactory extends core_1.BaseHelper {
|
|
|
270
270
|
results.push({
|
|
271
271
|
...uploadResult,
|
|
272
272
|
metaLink: null,
|
|
273
|
-
|
|
273
|
+
// A CODE, never the driver text. This handler returns 200, so it bypasses the
|
|
274
|
+
// error middleware and `database.handler` - the two places that strip
|
|
275
|
+
// `detail`/`table`/`constraint` - and shipped raw constraint names to the client.
|
|
276
|
+
// The real error is already logged in full immediately above.
|
|
277
|
+
metaLinkError: 'META_LINK_CREATE_FAILED',
|
|
274
278
|
});
|
|
275
279
|
}
|
|
276
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,15 @@ export declare class NetworkUtility {
|
|
|
3
3
|
private static readonly logger;
|
|
4
4
|
/** Latches the warning: an absent conninfo peer fails identically for every later request. */
|
|
5
5
|
private static hasReportedUnavailable;
|
|
6
|
+
/**
|
|
7
|
+
* Resolved once, on first use - not per request.
|
|
8
|
+
*
|
|
9
|
+
* `require()` re-walks module resolution on every call: measured at 1.35 us per request against
|
|
10
|
+
* 0.014 us once memoised, and `RequestSpyMiddleware` puts this on the DEFAULT request path. Still
|
|
11
|
+
* LAZY, though - `@hono/node-server` is an optional peer, so resolving it at module load would
|
|
12
|
+
* make an absent optional dependency a startup failure instead of a per-request fallback.
|
|
13
|
+
*/
|
|
14
|
+
private static connInfoReader?;
|
|
6
15
|
/** Reads the incoming IP from connection info across runtimes (Bun, Node.js) via runtime-specific methods. */
|
|
7
16
|
static getIncomingIp(context: Context): string | null;
|
|
8
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.utility.d.ts","sourceRoot":"","sources":["../../src/utilities/network.utility.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACxE,8FAA8F;IAC9F,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAS;IAE9C,8GAA8G;IAC9G,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;CAqBtD"}
|
|
1
|
+
{"version":3,"file":"network.utility.d.ts","sourceRoot":"","sources":["../../src/utilities/network.utility.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACxE,8FAA8F;IAC9F,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAS;IAE9C;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAA0D;IAExF,8GAA8G;IAC9G,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;CAqBtD"}
|
|
@@ -10,10 +10,8 @@ class NetworkUtility {
|
|
|
10
10
|
/** Reads the incoming IP from connection info across runtimes (Bun, Node.js) via runtime-specific methods. */
|
|
11
11
|
static getIncomingIp(context) {
|
|
12
12
|
try {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
: require('@hono/node-server/conninfo');
|
|
16
|
-
return getConnInfo(context)?.remote?.address ?? null;
|
|
13
|
+
NetworkUtility.connInfoReader ??= (common_1.RuntimeModules.isBun() ? require('hono/bun') : require('@hono/node-server/conninfo')).getConnInfo;
|
|
14
|
+
return NetworkUtility.connInfoReader?.(context)?.remote?.address ?? null;
|
|
17
15
|
}
|
|
18
16
|
catch (error) {
|
|
19
17
|
if (NetworkUtility.hasReportedUnavailable) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.utility.js","sourceRoot":"","sources":["../../src/utilities/network.utility.ts"],"names":[],"mappings":";;;AAAA,0DAA+D;AAC/D,0DAA0E;AAG1E,MAAa,cAAc;aACD,WAAM,GAAG,iCAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxE,8FAA8F;aAC/E,2BAAsB,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"network.utility.js","sourceRoot":"","sources":["../../src/utilities/network.utility.ts"],"names":[],"mappings":";;;AAAA,0DAA+D;AAC/D,0DAA0E;AAG1E,MAAa,cAAc;aACD,WAAM,GAAG,iCAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxE,8FAA8F;aAC/E,2BAAsB,GAAG,KAAK,CAAC;IAY9C,8GAA8G;IAC9G,MAAM,CAAC,aAAa,CAAC,OAAgB;QACnC,IAAI,CAAC;YACH,cAAc,CAAC,cAAc,KAAK,CAChC,uBAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CACrF,CAAC,WAAW,CAAC;YAEd,OAAO,cAAc,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,cAAc,CAAC,sBAAsB,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,cAAc,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAC7C,cAAc,CAAC,MAAM,CAAC,IAAI,CACxB,qFAAqF,EACrF,6BAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAChC,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;;AApCH,wCAqCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venizia/ignis",
|
|
3
|
-
"version": "0.2.0-
|
|
3
|
+
"version": "0.2.0-2",
|
|
4
4
|
"description": "High-performance TypeScript server infrastructure combining LoopBack 4 enterprise architecture (decorator-based DI, repository pattern, component system) with Hono speed (~140k req/s). Features auto-generated OpenAPI docs, Drizzle ORM type-safe SQL, JWT/Basic authentication, Casbin authorization, convention-based bootstrapping, and pluggable components for health checks, Swagger UI, mail, Socket.IO, and static assets. Built for Bun and Node.js.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"access-control",
|
|
@@ -198,12 +198,12 @@
|
|
|
198
198
|
"prepublishOnly": "bun run rebuild"
|
|
199
199
|
},
|
|
200
200
|
"dependencies": {
|
|
201
|
-
"@venizia/ignis-boot": "^0.2.0-
|
|
202
|
-
"@venizia/ignis-connectors": "^0.2.0-
|
|
203
|
-
"@venizia/ignis-filter": "^0.2.0-
|
|
204
|
-
"@venizia/ignis-helpers": "^0.2.0-
|
|
201
|
+
"@venizia/ignis-boot": "^0.2.0-1",
|
|
202
|
+
"@venizia/ignis-connectors": "^0.2.0-2",
|
|
203
|
+
"@venizia/ignis-filter": "^0.2.0-1",
|
|
204
|
+
"@venizia/ignis-helpers": "^0.2.0-2",
|
|
205
205
|
"@venizia/ignis-inversion": "^0.2.0-0",
|
|
206
|
-
"@venizia/ignis-kernel": "^0.2.0-
|
|
206
|
+
"@venizia/ignis-kernel": "^0.2.0-2",
|
|
207
207
|
"lodash": "^4.18.1",
|
|
208
208
|
"reflect-metadata": "^0.2.2",
|
|
209
209
|
"zod": "^4.4.3"
|