@axinom/mosaic-id-guard 0.25.0-rc.11 → 0.25.0-rc.12
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/message-bus/guarded-transactional-inbox-message-handler.d.ts +4 -2
- package/dist/message-bus/guarded-transactional-inbox-message-handler.d.ts.map +1 -1
- package/dist/message-bus/guarded-transactional-inbox-message-handler.js +4 -2
- package/dist/message-bus/guarded-transactional-inbox-message-handler.js.map +1 -1
- package/package.json +6 -6
- package/src/message-bus/guarded-transactional-inbox-message-handler.ts +4 -1
|
@@ -2,7 +2,7 @@ import { MessagingSettings } from '@axinom/mosaic-message-bus-abstractions';
|
|
|
2
2
|
import { Logger } from '@axinom/mosaic-service-common';
|
|
3
3
|
import { DbConfig, TransactionalInboxMessage, TransactionalInboxMessageHandler } from '@axinom/mosaic-transactional-inbox-outbox';
|
|
4
4
|
import { ClientBase } from 'pg';
|
|
5
|
-
import { AuthenticatedManagementSubject } from '../common';
|
|
5
|
+
import { AuthenticatedManagementSubject, AuthenticationConfig } from '../common';
|
|
6
6
|
export interface GuardedContext {
|
|
7
7
|
subject: AuthenticatedManagementSubject;
|
|
8
8
|
[key: string]: unknown;
|
|
@@ -12,6 +12,7 @@ export type GuardedConfig = DbConfig & {
|
|
|
12
12
|
};
|
|
13
13
|
export declare abstract class GuardedTransactionalInboxMessageHandler<TMessage, TConfig extends GuardedConfig> extends TransactionalInboxMessageHandler<TMessage, GuardedContext, TConfig> {
|
|
14
14
|
protected permissions: string[];
|
|
15
|
+
private authParams;
|
|
15
16
|
/**
|
|
16
17
|
* Create a new Message handler that provides both the functionality to store
|
|
17
18
|
* an incoming RabbitMQ message in the inbox and provides the actual logic to
|
|
@@ -19,8 +20,9 @@ export declare abstract class GuardedTransactionalInboxMessageHandler<TMessage,
|
|
|
19
20
|
* @param messagingSettings The definitions of the message that is handled.
|
|
20
21
|
* @param permissions The set of permissions that allow to execute the handler code
|
|
21
22
|
* @param config The configuration object
|
|
23
|
+
* @param authParams The authentication settings - AuthenticationConfig for customizable services and auth serice URL for managed services.
|
|
22
24
|
*/
|
|
23
|
-
constructor(messagingSettings: MessagingSettings, permissions: string[], logger: Logger, config: TConfig);
|
|
25
|
+
constructor(messagingSettings: MessagingSettings, permissions: string[], logger: Logger, config: TConfig, authParams: string | AuthenticationConfig);
|
|
24
26
|
protected authenticateAndAuthorize: <TMessage_1>(message: TransactionalInboxMessage<TMessage_1>, envOwnerClient: ClientBase) => Promise<GuardedContext>;
|
|
25
27
|
/**
|
|
26
28
|
* Add the PostgreSQL settings for the environment owner connection and subject
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guarded-transactional-inbox-message-handler.d.ts","sourceRoot":"","sources":["../../src/message-bus/guarded-transactional-inbox-message-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EACL,MAAM,EAGP,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EACL,8BAA8B,
|
|
1
|
+
{"version":3,"file":"guarded-transactional-inbox-message-handler.d.ts","sourceRoot":"","sources":["../../src/message-bus/guarded-transactional-inbox-message-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EACL,MAAM,EAGP,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EAGrB,MAAM,WAAW,CAAC;AAGnB,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,8BAA8B,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG;IAAE,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,8BAAsB,uCAAuC,CAC3D,QAAQ,EACR,OAAO,SAAS,aAAa,CAC7B,SAAQ,gCAAgC,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC;IAYzE,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE;IAG/B,OAAO,CAAC,UAAU;IAdpB;;;;;;;;OAQG;gBAED,iBAAiB,EAAE,iBAAiB,EAC1B,WAAW,EAAE,MAAM,EAAE,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACP,UAAU,EAAE,MAAM,GAAG,oBAAoB;IAWnD,SAAS,CAAC,wBAAwB,+EAEhB,UAAU,KACzB,QAAQ,cAAc,CAAC,CAYxB;IAEF;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAC9B,cAAc,EAAE,UAAU,EAC1B,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,IAAI,CAAC;IAEP,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;CAGvC"}
|
|
@@ -13,19 +13,21 @@ class GuardedTransactionalInboxMessageHandler extends mosaic_transactional_inbox
|
|
|
13
13
|
* @param messagingSettings The definitions of the message that is handled.
|
|
14
14
|
* @param permissions The set of permissions that allow to execute the handler code
|
|
15
15
|
* @param config The configuration object
|
|
16
|
+
* @param authParams The authentication settings - AuthenticationConfig for customizable services and auth serice URL for managed services.
|
|
16
17
|
*/
|
|
17
|
-
constructor(messagingSettings, permissions, logger, config) {
|
|
18
|
+
constructor(messagingSettings, permissions, logger, config, authParams) {
|
|
18
19
|
const wrapper = async (message, envOwnerClient) => {
|
|
19
20
|
return this.authenticateAndAuthorize(message, envOwnerClient);
|
|
20
21
|
};
|
|
21
22
|
super(messagingSettings, logger, config, wrapper);
|
|
22
23
|
this.permissions = permissions;
|
|
24
|
+
this.authParams = authParams;
|
|
23
25
|
this.authenticateAndAuthorize = async (message, envOwnerClient) => {
|
|
24
26
|
const token = message.metadata.authToken;
|
|
25
27
|
if (token === undefined) {
|
|
26
28
|
throw new mosaic_service_common_1.MosaicError(common_1.IdGuardErrors.AccessTokenRequired);
|
|
27
29
|
}
|
|
28
|
-
const subject = await (0, common_1.getAuthenticatedManagementSubject)(token, this.
|
|
30
|
+
const subject = await (0, common_1.getAuthenticatedManagementSubject)(token, this.authParams);
|
|
29
31
|
await (0, message_handler_permissions_1.permissionsCheck)(subject, this.permissions, this.config.serviceId);
|
|
30
32
|
this.setPgSettings(envOwnerClient, subject);
|
|
31
33
|
return { subject };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guarded-transactional-inbox-message-handler.js","sourceRoot":"","sources":["../../src/message-bus/guarded-transactional-inbox-message-handler.ts"],"names":[],"mappings":";;;AACA,yEAIuC;AACvC,iGAImD;AAEnD,
|
|
1
|
+
{"version":3,"file":"guarded-transactional-inbox-message-handler.js","sourceRoot":"","sources":["../../src/message-bus/guarded-transactional-inbox-message-handler.ts"],"names":[],"mappings":";;;AACA,yEAIuC;AACvC,iGAImD;AAEnD,sCAKmB;AACnB,+EAAiE;AASjE,MAAsB,uCAGpB,SAAQ,oEAAmE;IAC3E;;;;;;;;OAQG;IACH,YACE,iBAAoC,EAC1B,WAAqB,EAC/B,MAAc,EACd,MAAe,EACP,UAAyC;QAEjD,MAAM,OAAO,GAAG,KAAK,EACnB,OAA4C,EAC5C,cAA0B,EACD,EAAE;YAC3B,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,KAAK,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAXxC,gBAAW,GAAX,WAAW,CAAU;QAGvB,eAAU,GAAV,UAAU,CAA+B;QAWzC,6BAAwB,GAAG,KAAK,EACxC,OAA4C,EAC5C,cAA0B,EACD,EAAE;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,MAAM,IAAI,mCAAW,CAAC,sBAAa,CAAC,mBAAmB,CAAC,CAAC;aAC1D;YACD,MAAM,OAAO,GAAG,MAAM,IAAA,0CAAiC,EACrD,KAAK,EACL,IAAI,CAAC,UAAU,CAChB,CAAC;YACF,MAAM,IAAA,8CAAgB,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC;IAjBF,CAAC;IAkCQ,QAAQ,CAAC,KAAY;QAC5B,OAAO,IAAA,sCAAc,EAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF;AAhED,0FAgEC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axinom/mosaic-id-guard",
|
|
3
|
-
"version": "0.25.0-rc.
|
|
3
|
+
"version": "0.25.0-rc.12",
|
|
4
4
|
"description": "Authentication and authorization helpers for Axinom Mosaic services",
|
|
5
5
|
"author": "Axinom",
|
|
6
6
|
"license": "PROPRIETARY",
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
"lint": "eslint . --ext .ts,.tsx,.js --color --cache"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@axinom/mosaic-id-utils": "^0.15.10-rc.
|
|
32
|
-
"@axinom/mosaic-message-bus": "^0.20.0-rc.
|
|
33
|
-
"@axinom/mosaic-service-common": "^0.42.0-rc.
|
|
34
|
-
"@axinom/mosaic-transactional-inbox-outbox": "^0.2.0-rc.
|
|
31
|
+
"@axinom/mosaic-id-utils": "^0.15.10-rc.12",
|
|
32
|
+
"@axinom/mosaic-message-bus": "^0.20.0-rc.12",
|
|
33
|
+
"@axinom/mosaic-service-common": "^0.42.0-rc.12",
|
|
34
|
+
"@axinom/mosaic-transactional-inbox-outbox": "^0.2.0-rc.12",
|
|
35
35
|
"amqplib": "^0.10.3",
|
|
36
36
|
"express": "^4.17.1",
|
|
37
37
|
"express-bearer-token": "^2.4.0",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"publishConfig": {
|
|
64
64
|
"access": "public"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "0e1edd919cebd44b7a317f83c2b99602e07768d5"
|
|
67
67
|
}
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
import { ClientBase } from 'pg';
|
|
13
13
|
import {
|
|
14
14
|
AuthenticatedManagementSubject,
|
|
15
|
+
AuthenticationConfig,
|
|
15
16
|
IdGuardErrors,
|
|
16
17
|
getAuthenticatedManagementSubject,
|
|
17
18
|
} from '../common';
|
|
@@ -35,12 +36,14 @@ export abstract class GuardedTransactionalInboxMessageHandler<
|
|
|
35
36
|
* @param messagingSettings The definitions of the message that is handled.
|
|
36
37
|
* @param permissions The set of permissions that allow to execute the handler code
|
|
37
38
|
* @param config The configuration object
|
|
39
|
+
* @param authParams The authentication settings - AuthenticationConfig for customizable services and auth serice URL for managed services.
|
|
38
40
|
*/
|
|
39
41
|
constructor(
|
|
40
42
|
messagingSettings: MessagingSettings,
|
|
41
43
|
protected permissions: string[],
|
|
42
44
|
logger: Logger,
|
|
43
45
|
config: TConfig,
|
|
46
|
+
private authParams: string | AuthenticationConfig,
|
|
44
47
|
) {
|
|
45
48
|
const wrapper = async <TMessage>(
|
|
46
49
|
message: TransactionalInboxMessage<TMessage>,
|
|
@@ -61,7 +64,7 @@ export abstract class GuardedTransactionalInboxMessageHandler<
|
|
|
61
64
|
}
|
|
62
65
|
const subject = await getAuthenticatedManagementSubject(
|
|
63
66
|
token,
|
|
64
|
-
this.
|
|
67
|
+
this.authParams,
|
|
65
68
|
);
|
|
66
69
|
await permissionsCheck(subject, this.permissions, this.config.serviceId);
|
|
67
70
|
this.setPgSettings(envOwnerClient, subject);
|