@xemahq/authorization-nest 0.6.0 → 0.7.0
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/authzen.transport.d.ts +11 -8
- package/dist/authzen.transport.d.ts.map +1 -1
- package/dist/authzen.transport.js +20 -12
- package/dist/authzen.transport.js.map +1 -1
- package/dist/durable-delegation/carrier-mint.d.ts +20 -0
- package/dist/durable-delegation/carrier-mint.d.ts.map +1 -0
- package/dist/durable-delegation/carrier-mint.js +19 -0
- package/dist/durable-delegation/carrier-mint.js.map +1 -0
- package/dist/durable-delegation/carrier-shape.d.ts +8 -0
- package/dist/durable-delegation/carrier-shape.d.ts.map +1 -0
- package/dist/durable-delegation/carrier-shape.js +32 -0
- package/dist/durable-delegation/carrier-shape.js.map +1 -0
- package/dist/durable-delegation/carrier-window.d.ts +21 -0
- package/dist/durable-delegation/carrier-window.d.ts.map +1 -0
- package/dist/durable-delegation/carrier-window.js +28 -0
- package/dist/durable-delegation/carrier-window.js.map +1 -0
- package/dist/durable-delegation/holder-client.d.ts +69 -13
- package/dist/durable-delegation/holder-client.d.ts.map +1 -1
- package/dist/durable-delegation/holder-client.js +178 -17
- package/dist/durable-delegation/holder-client.js.map +1 -1
- package/dist/durable-delegation/holder-errors.d.ts +6 -0
- package/dist/durable-delegation/holder-errors.d.ts.map +1 -1
- package/dist/durable-delegation/holder-errors.js +14 -1
- package/dist/durable-delegation/holder-errors.js.map +1 -1
- package/dist/durable-delegation/holder-lifecycle.d.ts +11 -4
- package/dist/durable-delegation/holder-lifecycle.d.ts.map +1 -1
- package/dist/durable-delegation/holder-lifecycle.js +41 -27
- package/dist/durable-delegation/holder-lifecycle.js.map +1 -1
- package/dist/ephemeral-delegation/ephemeral-delegation.d.ts +71 -0
- package/dist/ephemeral-delegation/ephemeral-delegation.d.ts.map +1 -0
- package/dist/ephemeral-delegation/ephemeral-delegation.js +147 -0
- package/dist/ephemeral-delegation/ephemeral-delegation.js.map +1 -0
- package/dist/grant-version.reader.d.ts +3 -2
- package/dist/grant-version.reader.d.ts.map +1 -1
- package/dist/grant-version.reader.js +6 -3
- package/dist/grant-version.reader.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/route-action-evaluator.js +3 -3
- package/dist/route-action-evaluator.js.map +1 -1
- package/dist/subject-from-context.d.ts.map +1 -1
- package/dist/subject-from-context.js.map +1 -1
- package/dist/xema-authz.service.d.ts.map +1 -1
- package/dist/xema-authz.service.js +14 -6
- package/dist/xema-authz.service.js.map +1 -1
- package/package.json +19 -14
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { CreateDelegationRequest, DelegationRecordResponse, ScopedAccessToken } from '@xemahq/identity-client';
|
|
2
|
+
export declare const EPHEMERAL_DELEGATION_MAX_LIFETIME_MS: number;
|
|
3
|
+
export interface EphemeralDelegationRef {
|
|
4
|
+
readonly delegationId: string;
|
|
5
|
+
readonly organizationId: string;
|
|
6
|
+
readonly realm?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface EphemeralDelegationClient {
|
|
9
|
+
createDelegation(request: CreateDelegationRequest): Promise<Pick<DelegationRecordResponse, 'id' | 'organizationId'>>;
|
|
10
|
+
mintDelegatedContext(params: {
|
|
11
|
+
delegationId: string;
|
|
12
|
+
audience?: string;
|
|
13
|
+
realm?: string;
|
|
14
|
+
}): Promise<ScopedAccessToken>;
|
|
15
|
+
revokeDelegation(delegationId: string, options?: {
|
|
16
|
+
realm?: string;
|
|
17
|
+
}): Promise<{
|
|
18
|
+
revoked: number;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
export declare enum EphemeralDelegationOperation {
|
|
22
|
+
Create = "create",
|
|
23
|
+
Mint = "mint",
|
|
24
|
+
Revoke = "revoke"
|
|
25
|
+
}
|
|
26
|
+
export declare enum EphemeralDelegationRefusal {
|
|
27
|
+
Incomplete = "incomplete",
|
|
28
|
+
LendsNothing = "lends-nothing",
|
|
29
|
+
RedelegableNotSubset = "redelegable-not-subset",
|
|
30
|
+
ScopeRequired = "scope-required",
|
|
31
|
+
Renewable = "renewable",
|
|
32
|
+
LifetimeExceeded = "lifetime-exceeded"
|
|
33
|
+
}
|
|
34
|
+
export declare class EphemeralDelegationError extends Error {
|
|
35
|
+
readonly operation: EphemeralDelegationOperation;
|
|
36
|
+
readonly organizationId: string;
|
|
37
|
+
readonly refusal?: EphemeralDelegationRefusal | undefined;
|
|
38
|
+
readonly permanent: boolean;
|
|
39
|
+
constructor(operation: EphemeralDelegationOperation, organizationId: string, message: string, refusal?: EphemeralDelegationRefusal | undefined, options?: {
|
|
40
|
+
cause?: unknown;
|
|
41
|
+
});
|
|
42
|
+
get identityCode(): string | undefined;
|
|
43
|
+
}
|
|
44
|
+
export interface CreateEphemeralDelegationInput {
|
|
45
|
+
readonly memberContext: string;
|
|
46
|
+
readonly organizationId: string;
|
|
47
|
+
readonly capabilities: readonly string[];
|
|
48
|
+
readonly redelegableCapabilities?: readonly string[];
|
|
49
|
+
readonly delegateWorkload?: string;
|
|
50
|
+
readonly resourceScope?: readonly string[];
|
|
51
|
+
readonly authorizingAction?: string;
|
|
52
|
+
readonly expiresAt: Date;
|
|
53
|
+
readonly renewable?: false;
|
|
54
|
+
readonly realm?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface CreateEphemeralSubDelegationInput {
|
|
57
|
+
readonly parent: EphemeralDelegationRef;
|
|
58
|
+
readonly capabilities: readonly string[];
|
|
59
|
+
readonly redelegableCapabilities?: readonly string[];
|
|
60
|
+
readonly delegateWorkload: string;
|
|
61
|
+
readonly resourceScope: readonly string[];
|
|
62
|
+
readonly expiresAt: Date;
|
|
63
|
+
readonly renewable?: false;
|
|
64
|
+
}
|
|
65
|
+
export declare function createEphemeralDelegation(client: EphemeralDelegationClient, input: CreateEphemeralDelegationInput, now?: Date): Promise<EphemeralDelegationRef>;
|
|
66
|
+
export declare function createEphemeralSubDelegation(client: EphemeralDelegationClient, input: CreateEphemeralSubDelegationInput, now?: Date): Promise<EphemeralDelegationRef>;
|
|
67
|
+
export declare function mintEphemeralDelegatedToken(client: Pick<EphemeralDelegationClient, 'mintDelegatedContext'>, ref: EphemeralDelegationRef, options?: {
|
|
68
|
+
readonly audience?: string;
|
|
69
|
+
}): Promise<ScopedAccessToken>;
|
|
70
|
+
export declare function revokeEphemeralDelegation(client: Pick<EphemeralDelegationClient, 'revokeDelegation'>, ref: EphemeralDelegationRef): Promise<void>;
|
|
71
|
+
//# sourceMappingURL=ephemeral-delegation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ephemeral-delegation.d.ts","sourceRoot":"","sources":["../../src/ephemeral-delegation/ephemeral-delegation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EphemeralDelegationError = exports.EphemeralDelegationRefusal = exports.EphemeralDelegationOperation = exports.EPHEMERAL_DELEGATION_MAX_LIFETIME_MS = void 0;
|
|
4
|
+
exports.createEphemeralDelegation = createEphemeralDelegation;
|
|
5
|
+
exports.createEphemeralSubDelegation = createEphemeralSubDelegation;
|
|
6
|
+
exports.mintEphemeralDelegatedToken = mintEphemeralDelegatedToken;
|
|
7
|
+
exports.revokeEphemeralDelegation = revokeEphemeralDelegation;
|
|
8
|
+
const identity_client_1 = require("@xemahq/identity-client");
|
|
9
|
+
exports.EPHEMERAL_DELEGATION_MAX_LIFETIME_MS = 10 * 60 * 1000;
|
|
10
|
+
var EphemeralDelegationOperation;
|
|
11
|
+
(function (EphemeralDelegationOperation) {
|
|
12
|
+
EphemeralDelegationOperation["Create"] = "create";
|
|
13
|
+
EphemeralDelegationOperation["Mint"] = "mint";
|
|
14
|
+
EphemeralDelegationOperation["Revoke"] = "revoke";
|
|
15
|
+
})(EphemeralDelegationOperation || (exports.EphemeralDelegationOperation = EphemeralDelegationOperation = {}));
|
|
16
|
+
var EphemeralDelegationRefusal;
|
|
17
|
+
(function (EphemeralDelegationRefusal) {
|
|
18
|
+
EphemeralDelegationRefusal["Incomplete"] = "incomplete";
|
|
19
|
+
EphemeralDelegationRefusal["LendsNothing"] = "lends-nothing";
|
|
20
|
+
EphemeralDelegationRefusal["RedelegableNotSubset"] = "redelegable-not-subset";
|
|
21
|
+
EphemeralDelegationRefusal["ScopeRequired"] = "scope-required";
|
|
22
|
+
EphemeralDelegationRefusal["Renewable"] = "renewable";
|
|
23
|
+
EphemeralDelegationRefusal["LifetimeExceeded"] = "lifetime-exceeded";
|
|
24
|
+
})(EphemeralDelegationRefusal || (exports.EphemeralDelegationRefusal = EphemeralDelegationRefusal = {}));
|
|
25
|
+
class EphemeralDelegationError extends Error {
|
|
26
|
+
operation;
|
|
27
|
+
organizationId;
|
|
28
|
+
refusal;
|
|
29
|
+
permanent;
|
|
30
|
+
constructor(operation, organizationId, message, refusal, options) {
|
|
31
|
+
super(message, options);
|
|
32
|
+
this.operation = operation;
|
|
33
|
+
this.organizationId = organizationId;
|
|
34
|
+
this.refusal = refusal;
|
|
35
|
+
this.name = 'EphemeralDelegationError';
|
|
36
|
+
const cause = options?.cause;
|
|
37
|
+
this.permanent =
|
|
38
|
+
cause === undefined ? true : cause instanceof identity_client_1.IdentityApiError ? cause.isPermanent : false;
|
|
39
|
+
}
|
|
40
|
+
get identityCode() {
|
|
41
|
+
const cause = this.cause;
|
|
42
|
+
return cause instanceof identity_client_1.IdentityApiError && typeof cause.code === 'string' ? cause.code : undefined;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.EphemeralDelegationError = EphemeralDelegationError;
|
|
46
|
+
async function createEphemeralDelegation(client, input, now = new Date()) {
|
|
47
|
+
const organizationId = input.organizationId.trim();
|
|
48
|
+
if (organizationId === '' || input.memberContext === '') {
|
|
49
|
+
throw refused(organizationId, EphemeralDelegationRefusal.Incomplete, 'An ephemeral delegation needs the organization and the present member’s own context.');
|
|
50
|
+
}
|
|
51
|
+
assertLendable(organizationId, input);
|
|
52
|
+
return created(client, organizationId, input.realm, {
|
|
53
|
+
subjectContext: input.memberContext,
|
|
54
|
+
delegator: identity_client_1.DelegatorKind.Organization,
|
|
55
|
+
organizationId,
|
|
56
|
+
capabilities: [...input.capabilities],
|
|
57
|
+
...(input.redelegableCapabilities === undefined
|
|
58
|
+
? {}
|
|
59
|
+
: { redelegableCapabilities: [...input.redelegableCapabilities] }),
|
|
60
|
+
...(input.delegateWorkload === undefined ? {} : { delegateWorkload: input.delegateWorkload }),
|
|
61
|
+
...(input.resourceScope === undefined ? {} : { resourceScope: [...input.resourceScope] }),
|
|
62
|
+
...(input.authorizingAction === undefined ? {} : { authorizingAction: input.authorizingAction }),
|
|
63
|
+
expiresAt: withinCeiling(organizationId, input.expiresAt, now),
|
|
64
|
+
renewable: false,
|
|
65
|
+
...(input.realm === undefined ? {} : { realm: input.realm }),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
async function createEphemeralSubDelegation(client, input, now = new Date()) {
|
|
69
|
+
const { parent } = input;
|
|
70
|
+
const organizationId = parent.organizationId.trim();
|
|
71
|
+
if (organizationId === '' || parent.delegationId.trim() === '' || input.delegateWorkload.trim() === '') {
|
|
72
|
+
throw refused(organizationId, EphemeralDelegationRefusal.Incomplete, 'An ephemeral sub-delegation needs the organization, the held parent and the delegate workload.');
|
|
73
|
+
}
|
|
74
|
+
if (input.resourceScope.length === 0) {
|
|
75
|
+
throw refused(organizationId, EphemeralDelegationRefusal.ScopeRequired, 'An ephemeral sub-delegation must restate its resource scope; an empty scope would read as unconfined.');
|
|
76
|
+
}
|
|
77
|
+
assertLendable(organizationId, input);
|
|
78
|
+
return created(client, organizationId, parent.realm, {
|
|
79
|
+
parentId: parent.delegationId,
|
|
80
|
+
organizationId,
|
|
81
|
+
capabilities: [...input.capabilities],
|
|
82
|
+
...(input.redelegableCapabilities === undefined
|
|
83
|
+
? {}
|
|
84
|
+
: { redelegableCapabilities: [...input.redelegableCapabilities] }),
|
|
85
|
+
delegateWorkload: input.delegateWorkload,
|
|
86
|
+
resourceScope: [...input.resourceScope],
|
|
87
|
+
expiresAt: withinCeiling(organizationId, input.expiresAt, now),
|
|
88
|
+
renewable: false,
|
|
89
|
+
...(parent.realm === undefined ? {} : { realm: parent.realm }),
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
async function mintEphemeralDelegatedToken(client, ref, options = {}) {
|
|
93
|
+
try {
|
|
94
|
+
return await client.mintDelegatedContext({
|
|
95
|
+
delegationId: ref.delegationId,
|
|
96
|
+
...(options.audience === undefined ? {} : { audience: options.audience }),
|
|
97
|
+
...(ref.realm === undefined ? {} : { realm: ref.realm }),
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
catch (cause) {
|
|
101
|
+
throw new EphemeralDelegationError(EphemeralDelegationOperation.Mint, ref.organizationId, `No delegated context could be minted from ephemeral delegation '${ref.delegationId}'.`, undefined, { cause });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async function revokeEphemeralDelegation(client, ref) {
|
|
105
|
+
try {
|
|
106
|
+
await client.revokeDelegation(ref.delegationId, ref.realm === undefined ? {} : { realm: ref.realm });
|
|
107
|
+
}
|
|
108
|
+
catch (cause) {
|
|
109
|
+
throw new EphemeralDelegationError(EphemeralDelegationOperation.Revoke, ref.organizationId, `Ephemeral delegation '${ref.delegationId}' could not be revoked.`, undefined, { cause });
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function assertLendable(organizationId, input) {
|
|
113
|
+
if (input.renewable === true) {
|
|
114
|
+
throw refused(organizationId, EphemeralDelegationRefusal.Renewable, 'An ephemeral delegation is never renewable; work that outlives the flow holds a durable delegation.');
|
|
115
|
+
}
|
|
116
|
+
if (input.capabilities.length === 0) {
|
|
117
|
+
throw refused(organizationId, EphemeralDelegationRefusal.LendsNothing, 'An ephemeral delegation must lend at least one capability.');
|
|
118
|
+
}
|
|
119
|
+
const stray = (input.redelegableCapabilities ?? []).filter((c) => !input.capabilities.includes(c));
|
|
120
|
+
if (stray.length > 0) {
|
|
121
|
+
throw refused(organizationId, EphemeralDelegationRefusal.RedelegableNotSubset, `Only a lent capability can be re-lent; not lent: ${stray.join(', ')}.`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function withinCeiling(organizationId, expiresAt, now) {
|
|
125
|
+
const at = expiresAt.getTime();
|
|
126
|
+
if (Number.isNaN(at) || at <= now.getTime() || at > now.getTime() + exports.EPHEMERAL_DELEGATION_MAX_LIFETIME_MS) {
|
|
127
|
+
throw refused(organizationId, EphemeralDelegationRefusal.LifetimeExceeded, `An ephemeral delegation expires in the future and within ${exports.EPHEMERAL_DELEGATION_MAX_LIFETIME_MS / 60_000} minutes (the interactive flow's state TTL).`);
|
|
128
|
+
}
|
|
129
|
+
return expiresAt.toISOString();
|
|
130
|
+
}
|
|
131
|
+
async function created(client, organizationId, realm, request) {
|
|
132
|
+
let record;
|
|
133
|
+
try {
|
|
134
|
+
record = await client.createDelegation(request);
|
|
135
|
+
}
|
|
136
|
+
catch (cause) {
|
|
137
|
+
throw new EphemeralDelegationError(EphemeralDelegationOperation.Create, organizationId, `The identity boundary refused an ephemeral delegation for '${organizationId}'.`, undefined, { cause });
|
|
138
|
+
}
|
|
139
|
+
if (record.organizationId !== organizationId) {
|
|
140
|
+
throw new EphemeralDelegationError(EphemeralDelegationOperation.Create, organizationId, `The boundary returned a delegation for '${String(record.organizationId)}', not '${organizationId}'.`);
|
|
141
|
+
}
|
|
142
|
+
return { delegationId: record.id, organizationId, ...(realm === undefined ? {} : { realm }) };
|
|
143
|
+
}
|
|
144
|
+
function refused(organizationId, refusal, message) {
|
|
145
|
+
return new EphemeralDelegationError(EphemeralDelegationOperation.Create, organizationId, message, refusal);
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=ephemeral-delegation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ephemeral-delegation.js","sourceRoot":"","sources":["../../src/ephemeral-delegation/ephemeral-delegation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type ServiceRegistry } from '@xemahq/contracts/service-registry';
|
|
2
2
|
import { IdentityBootstrapService } from '@xemahq/identity-client';
|
|
3
|
+
import { type ForwardedCallerContext } from '@xemahq/platform-common';
|
|
3
4
|
import { type XemaAuthorizationOptions } from './authorization.options';
|
|
4
5
|
export interface AuthorizationGrantVersionReader {
|
|
5
|
-
read(orgId: string): Promise<number>;
|
|
6
|
+
read(orgId: string, forwardedCaller?: ForwardedCallerContext): Promise<number>;
|
|
6
7
|
}
|
|
7
8
|
export declare const AUTHORIZATION_GRANT_VERSION_READER: unique symbol;
|
|
8
9
|
export declare class HttpAuthorizationGrantVersionReader implements AuthorizationGrantVersionReader {
|
|
@@ -10,7 +11,7 @@ export declare class HttpAuthorizationGrantVersionReader implements Authorizatio
|
|
|
10
11
|
private readonly identityBootstrap;
|
|
11
12
|
private readonly options;
|
|
12
13
|
constructor(registry: ServiceRegistry, identityBootstrap: IdentityBootstrapService, options: XemaAuthorizationOptions);
|
|
13
|
-
read(orgId: string): Promise<number>;
|
|
14
|
+
read(orgId: string, forwardedCaller?: ForwardedCallerContext): Promise<number>;
|
|
14
15
|
}
|
|
15
16
|
export declare function assertGrantVersion(orgId: string, body: {
|
|
16
17
|
readonly orgId?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant-version.reader.d.ts","sourceRoot":"","sources":["../src/grant-version.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"grant-version.reader.d.ts","sourceRoot":"","sources":["../src/grant-version.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AAajC,MAAM,WAAW,+BAA+B;IAC9C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChF;AAED,eAAO,MAAM,kCAAkC,eAE9C,CAAC;AAKF,qBACa,mCACX,YAAW,+BAA+B;IAIxC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,QAAQ,EAAE,eAAe,EACzB,iBAAiB,EAAE,wBAAwB,EAE3C,OAAO,EAAE,wBAAwB;IAGvC,IAAI,CACf,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,sBAAsB,GACvC,OAAO,CAAC,MAAM,CAAC;CA+BnB;AAGD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAClE,MAAM,CAaR"}
|
|
@@ -32,13 +32,16 @@ let HttpAuthorizationGrantVersionReader = class HttpAuthorizationGrantVersionRea
|
|
|
32
32
|
this.identityBootstrap = identityBootstrap;
|
|
33
33
|
this.options = options;
|
|
34
34
|
}
|
|
35
|
-
async read(orgId) {
|
|
36
|
-
const baseUrl = await (0, service_registry_nest_1.resolveHttpUrl)(this.registry, service_registry_1.ServiceName.AUTHORIZATION_API);
|
|
35
|
+
async read(orgId, forwardedCaller) {
|
|
37
36
|
const path = `${GRANT_VERSION_PATH}${encodeURIComponent(orgId)}`;
|
|
37
|
+
if (forwardedCaller === undefined) {
|
|
38
|
+
throw new authzen_transport_1.AuthzenCallerContextRequiredError(path);
|
|
39
|
+
}
|
|
40
|
+
const baseUrl = await (0, service_registry_nest_1.resolveHttpUrl)(this.registry, service_registry_1.ServiceName.AUTHORIZATION_API);
|
|
38
41
|
const response = await fetch(`${baseUrl.replace(/\/+$/, '')}${path}`, {
|
|
39
42
|
method: 'GET',
|
|
40
43
|
headers: {
|
|
41
|
-
|
|
44
|
+
...(await (0, platform_common_1.forwardedCallerHeaders)(forwardedCaller, this.identityBootstrap)),
|
|
42
45
|
'X-Xema-Org-Id': orgId,
|
|
43
46
|
},
|
|
44
47
|
signal: AbortSignal.timeout(this.options.requestTimeoutMs),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant-version.reader.js","sourceRoot":"","sources":["../src/grant-version.reader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"grant-version.reader.js","sourceRoot":"","sources":["../src/grant-version.reader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AA4FA,gDAgBC;AA5GD,2CAAoD;AACpD,yEAG4C;AAC5C,6DAAmE;AACnE,6DAIiC;AACjC,yEAGuC;AAEvC,mEAGiC;AACjC,2DAG6B;AAahB,QAAA,kCAAkC,GAAG,MAAM,CACtD,oCAAoC,CACrC,CAAC;AAGF,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;AAGpD,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAK3B;IACA;IAEA;IALnB,YAEmB,QAAyB,EACzB,iBAA2C,EAE3C,OAAiC;QAHjC,aAAQ,GAAR,QAAQ,CAAiB;QACzB,sBAAiB,GAAjB,iBAAiB,CAA0B;QAE3C,YAAO,GAAP,OAAO,CAA0B;IACjD,CAAC;IAEG,KAAK,CAAC,IAAI,CACf,KAAa,EACb,eAAwC;QAExC,MAAM,IAAI,GAAG,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,qDAAiC,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAA,sCAAc,EAClC,IAAI,CAAC,QAAQ,EACb,8BAAW,CAAC,iBAAiB,CAC9B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,GAAG,CAAC,MAAM,IAAA,wCAAsB,EAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC1E,eAAe,EAAE,KAAK;aACvB;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,mCAAe,CACvB,yBAAyB,IAAI,qBAAqB,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAC3F,QAAQ,CAAC,MAAM,EACf,SAAS,CACV,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,gDAA8B,EAGxC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AA7CY,kFAAmC;8CAAnC,mCAAmC;IAD/C,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,8CAAsB,CAAC,CAAA;IAG9B,WAAA,IAAA,eAAM,EAAC,kDAA0B,CAAC,CAAA;6CADC,0CAAwB;GANnD,mCAAmC,CA6C/C;AAGD,SAAgB,kBAAkB,CAChC,KAAa,EACb,IAAmE;IAEnE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;IAClC,IACE,IAAI,CAAC,KAAK,KAAK,KAAK;QACpB,OAAO,OAAO,KAAK,QAAQ;QAC3B,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QAC9B,OAAO,GAAG,CAAC,EACX,CAAC;QACD,MAAM,IAAI,KAAK,CACb,mEAAmE,KAAK,IAAI,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,8 +11,12 @@ export * from './route-action-evaluator';
|
|
|
11
11
|
export * from './internal-caller-or-member-context.guard';
|
|
12
12
|
export * from './organization-delegation-admission';
|
|
13
13
|
export * from './relayable-caller';
|
|
14
|
+
export * from './durable-delegation/carrier-mint';
|
|
15
|
+
export * from './durable-delegation/carrier-shape';
|
|
16
|
+
export * from './durable-delegation/carrier-window';
|
|
14
17
|
export * from './durable-delegation/decision-codes';
|
|
15
18
|
export * from './durable-delegation/holder-client';
|
|
16
19
|
export * from './durable-delegation/holder-errors';
|
|
17
20
|
export * from './durable-delegation/holder-lifecycle';
|
|
21
|
+
export * from './ephemeral-delegation/ephemeral-delegation';
|
|
18
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -27,8 +27,12 @@ __exportStar(require("./route-action-evaluator"), exports);
|
|
|
27
27
|
__exportStar(require("./internal-caller-or-member-context.guard"), exports);
|
|
28
28
|
__exportStar(require("./organization-delegation-admission"), exports);
|
|
29
29
|
__exportStar(require("./relayable-caller"), exports);
|
|
30
|
+
__exportStar(require("./durable-delegation/carrier-mint"), exports);
|
|
31
|
+
__exportStar(require("./durable-delegation/carrier-shape"), exports);
|
|
32
|
+
__exportStar(require("./durable-delegation/carrier-window"), exports);
|
|
30
33
|
__exportStar(require("./durable-delegation/decision-codes"), exports);
|
|
31
34
|
__exportStar(require("./durable-delegation/holder-client"), exports);
|
|
32
35
|
__exportStar(require("./durable-delegation/holder-errors"), exports);
|
|
33
36
|
__exportStar(require("./durable-delegation/holder-lifecycle"), exports);
|
|
37
|
+
__exportStar(require("./ephemeral-delegation/ephemeral-delegation"), exports);
|
|
34
38
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,yDAAuC;AACvC,0DAAwC;AACxC,wDAAsC;AACtC,sDAAoC;AACpC,yDAAuC;AACvC,uDAAqC;AACrC,qDAAmC;AACnC,yDAAuC;AACvC,2DAAyC;AACzC,4EAA0D;AAC1D,sEAAoD;AACpD,qDAAmC;AACnC,sEAAoD;AACpD,qEAAmD;AACnD,qEAAmD;AACnD,wEAAsD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,yDAAuC;AACvC,0DAAwC;AACxC,wDAAsC;AACtC,sDAAoC;AACpC,yDAAuC;AACvC,uDAAqC;AACrC,qDAAmC;AACnC,yDAAuC;AACvC,2DAAyC;AACzC,4EAA0D;AAC1D,sEAAoD;AACpD,qDAAmC;AACnC,oEAAkD;AAClD,qEAAmD;AACnD,sEAAoD;AACpD,sEAAoD;AACpD,qEAAmD;AACnD,qEAAmD;AACnD,wEAAsD;AACtD,8EAA4D"}
|
|
@@ -48,13 +48,13 @@ let XemaRouteActionEvaluator = class XemaRouteActionEvaluator {
|
|
|
48
48
|
assertScope(context, scope);
|
|
49
49
|
assertUniqueKeys(candidates);
|
|
50
50
|
try {
|
|
51
|
-
const
|
|
51
|
+
const forwardedCaller = (0, relayable_caller_1.relayableCallerContext)(context, scope.orgId);
|
|
52
|
+
const revisionBefore = await this.grantVersions.read(scope.orgId, forwardedCaller);
|
|
52
53
|
if (candidates.length === 0) {
|
|
53
54
|
return { allowed: new Map(), policyRevision: revisionBefore };
|
|
54
55
|
}
|
|
55
|
-
const forwardedCaller = (0, relayable_caller_1.relayableCallerContext)(context, scope.orgId);
|
|
56
56
|
const decisions = await this.decisions.decideAll(candidates.map((candidate) => toPolicyRequest(context, scope, candidate)), forwardedCaller === undefined ? undefined : { forwardedCaller });
|
|
57
|
-
const revisionAfter = await this.grantVersions.read(scope.orgId);
|
|
57
|
+
const revisionAfter = await this.grantVersions.read(scope.orgId, forwardedCaller);
|
|
58
58
|
if (revisionAfter !== revisionBefore) {
|
|
59
59
|
throw new PolicyRevisionChangedError(revisionBefore, revisionAfter);
|
|
60
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-action-evaluator.js","sourceRoot":"","sources":["../src/route-action-evaluator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAyC;AAEzC,2CAMwB;AAExB,2EAAiE;AACjE,mFAGiD;AACjD,qDAAkF;AAClF,mDAAoD;AAEpD,2DAAsD;AACtD,iEAGgC;AAChC,yDAAqF;AACrF,yDAA4D;AA0B5D,IAAY,0BAMX;AAND,WAAY,0BAA0B;IACpC,wEAA0C,CAAA;IAC1C,gFAAkD,CAAA;IAClD,iEAAmC,CAAA;IACnC,sFAAwD,CAAA;IACxD,6EAA+C,CAAA;AACjD,CAAC,EANW,0BAA0B,0CAA1B,0BAA0B,QAMrC;AAED,MAAM,0BAA2B,SAAQ,KAAK;IAC5C,YAAmB,MAAc,EAAE,KAAa;QAC9C,KAAK,CAAC,8CAA8C,MAAM,OAAO,KAAK,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC;IAC9C,CAAC;CACF;AAuBM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEhB;IAEA;IAHnB,YACmB,SAA8B,EAE9B,aAA8C;QAF9C,cAAS,GAAT,SAAS,CAAqB;QAE9B,kBAAa,GAAb,aAAa,CAAiC;IAC9D,CAAC;IAEG,KAAK,CAAC,QAAQ,CACnB,OAAuB,EACvB,KAAuB,EACvB,UAAmD;QAEnD,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5B,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"route-action-evaluator.js","sourceRoot":"","sources":["../src/route-action-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subject-from-context.d.ts","sourceRoot":"","sources":["../src/subject-from-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AASjC,qBAAa,uBAAwB,SAAQ,KAAK;gBAC7B,IAAI,EAAE,MAAM;CAOhC;AAMD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAE/D;
|
|
1
|
+
{"version":3,"file":"subject-from-context.d.ts","sourceRoot":"","sources":["../src/subject-from-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AASjC,qBAAa,uBAAwB,SAAQ,KAAK;gBAC7B,IAAI,EAAE,MAAM;CAOhC;AAMD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAE/D;AAmBD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,cAAc,GAClB,kBAAkB,CAgBpB;AAGD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,cAAc,EACnB,KAAK,GAAE;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1E,kBAAkB,CAYpB;AAWD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;CACxD;AAGD,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,cAAc,CAE9E;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,kBAAkB,CAQxE;AAGD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,KAAK,GAAE;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1E,kBAAkB,CAapB;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAMtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subject-from-context.js","sourceRoot":"","sources":["../src/subject-from-context.ts"],"names":[],"mappings":";;;AAkCA,gDAEC;
|
|
1
|
+
{"version":3,"file":"subject-from-context.js","sourceRoot":"","sources":["../src/subject-from-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xema-authz.service.d.ts","sourceRoot":"","sources":["../src/xema-authz.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAYL,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAGnF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"xema-authz.service.d.ts","sourceRoot":"","sources":["../src/xema-authz.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,12 +19,20 @@ const execution_environment_1 = require("@xemahq/contracts/execution-environment
|
|
|
19
19
|
const subject_1 = require("@xemahq/contracts/subject");
|
|
20
20
|
const anchor_predicate_1 = require("./anchor-predicate");
|
|
21
21
|
const authzen_transport_1 = require("./authzen.transport");
|
|
22
|
+
const relayable_caller_1 = require("./relayable-caller");
|
|
22
23
|
const subject_from_context_1 = require("./subject-from-context");
|
|
23
24
|
const SUBJECT_NOT_EVALUABLE = {
|
|
24
25
|
allowed: false,
|
|
25
26
|
reasonCode: authzen_1.XemaAuthzenReasonCode.SubjectNotEvaluable,
|
|
26
27
|
context: undefined,
|
|
27
28
|
};
|
|
29
|
+
function relayOptionsOf(ctx) {
|
|
30
|
+
if ((0, subject_from_context_1.isAuthzPrincipal)(ctx)) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
const forwardedCaller = (0, relayable_caller_1.relayableCallerContext)(ctx, (0, subject_from_context_1.authzOrgOf)(ctx));
|
|
34
|
+
return forwardedCaller === undefined ? undefined : { forwardedCaller };
|
|
35
|
+
}
|
|
28
36
|
let XemaAuthz = class XemaAuthz {
|
|
29
37
|
transport;
|
|
30
38
|
constructor(transport) {
|
|
@@ -39,7 +47,7 @@ let XemaAuthz = class XemaAuthz {
|
|
|
39
47
|
action: { name: action },
|
|
40
48
|
resource: this.resource(ctx, resource),
|
|
41
49
|
context: (0, subject_from_context_1.authzenContextOf)(ctx, options),
|
|
42
|
-
});
|
|
50
|
+
}, relayOptionsOf(ctx));
|
|
43
51
|
return toDecision(response);
|
|
44
52
|
}
|
|
45
53
|
async evaluateCapability(ctx, capabilityRef, environment) {
|
|
@@ -55,7 +63,7 @@ let XemaAuthz = class XemaAuthz {
|
|
|
55
63
|
id: (0, authzen_1.capabilityResourceId)(orgId, capabilityRef, environment),
|
|
56
64
|
},
|
|
57
65
|
context: (0, subject_from_context_1.authzenContextOf)(ctx),
|
|
58
|
-
});
|
|
66
|
+
}, relayOptionsOf(ctx));
|
|
59
67
|
return toDecision(response);
|
|
60
68
|
}
|
|
61
69
|
async evaluateSystemCapability(serviceSubjectId, capabilityRef) {
|
|
@@ -106,7 +114,7 @@ let XemaAuthz = class XemaAuthz {
|
|
|
106
114
|
context,
|
|
107
115
|
evaluations,
|
|
108
116
|
options: { evaluations_semantic: authzen_1.AuthzenEvaluationsSemantic.ExecuteAll },
|
|
109
|
-
});
|
|
117
|
+
}, relayOptionsOf(ctx));
|
|
110
118
|
const decisions = response.evaluations;
|
|
111
119
|
if (decisions === undefined || decisions.length !== evaluations.length) {
|
|
112
120
|
throw new Error(`authorization-api answered ${decisions?.length ?? 0} of ${evaluations.length} evaluations under execute_all.`);
|
|
@@ -125,7 +133,7 @@ let XemaAuthz = class XemaAuthz {
|
|
|
125
133
|
...(page.token === undefined && page.limit === undefined
|
|
126
134
|
? {}
|
|
127
135
|
: { page: { ...page } }),
|
|
128
|
-
});
|
|
136
|
+
}, relayOptionsOf(ctx));
|
|
129
137
|
const anchor = response.context?.['anchor'] === undefined
|
|
130
138
|
? undefined
|
|
131
139
|
: anchor_predicate_1.XemaAnchorSearchContextSchema.parse(response.context['anchor']);
|
|
@@ -165,7 +173,7 @@ let XemaAuthz = class XemaAuthz {
|
|
|
165
173
|
resource: this.resource(ctx, resource),
|
|
166
174
|
context: (0, subject_from_context_1.authzenContextOf)(ctx),
|
|
167
175
|
...(token === undefined ? {} : { page: { token } }),
|
|
168
|
-
});
|
|
176
|
+
}, relayOptionsOf(ctx));
|
|
169
177
|
subjects.push(...response.results);
|
|
170
178
|
const next = response.page?.next_token ?? authzen_1.AUTHZEN_LAST_PAGE_TOKEN;
|
|
171
179
|
token = next === authzen_1.AUTHZEN_LAST_PAGE_TOKEN ? undefined : next;
|
|
@@ -180,7 +188,7 @@ let XemaAuthz = class XemaAuthz {
|
|
|
180
188
|
subject: this.subject(ctx),
|
|
181
189
|
resource: this.resource(ctx, resource),
|
|
182
190
|
context: (0, subject_from_context_1.authzenContextOf)(ctx),
|
|
183
|
-
});
|
|
191
|
+
}, relayOptionsOf(ctx));
|
|
184
192
|
return response.results.map((action) => action.name);
|
|
185
193
|
}
|
|
186
194
|
subject(ctx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xema-authz.service.js","sourceRoot":"","sources":["../src/xema-authz.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAKwB;AACxB,uDAamC;AACnC,mFAAmF;AACnF,uDAAwD;AAExD,yDAG4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"xema-authz.service.js","sourceRoot":"","sources":["../src/xema-authz.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/authorization-nest",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "AuthZEN 1.0 PEP for Xema services: one Nest module, an AuthZEN client against authorization-api, and the @Authorize route guard.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/",
|
|
@@ -12,23 +12,25 @@
|
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@nestjs/common": "
|
|
16
|
-
"@nestjs/core": "
|
|
17
|
-
"@xemahq/contracts": "
|
|
18
|
-
"@xemahq/identity-client": "
|
|
19
|
-
"@xemahq/platform-common": "
|
|
20
|
-
"@xemahq/service-registry-nest": "
|
|
21
|
-
"
|
|
15
|
+
"@nestjs/common": "^11.1.18",
|
|
16
|
+
"@nestjs/core": "^11.1.18",
|
|
17
|
+
"@xemahq/contracts": "^0.80.0",
|
|
18
|
+
"@xemahq/identity-client": "^0.28.0",
|
|
19
|
+
"@xemahq/platform-common": "^0.80.0",
|
|
20
|
+
"@xemahq/service-registry-nest": "^1.0.0",
|
|
21
|
+
"@xemahq/xema-service-nest": "^10.1.0",
|
|
22
|
+
"zod": "^4.6.1"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
25
|
"@nestjs/common": "11.1.18",
|
|
25
26
|
"@nestjs/core": "11.1.18",
|
|
26
27
|
"@nestjs/testing": "11.1.18",
|
|
27
|
-
"@xemahq/contracts": "
|
|
28
|
-
"@xemahq/eslint-config": "^0.
|
|
29
|
-
"@xemahq/identity-client": "^0.
|
|
30
|
-
"@xemahq/platform-common": "^0.
|
|
31
|
-
"@xemahq/service-registry-nest": "^0.
|
|
28
|
+
"@xemahq/contracts": "^0.80.0",
|
|
29
|
+
"@xemahq/eslint-config": "^0.14.0",
|
|
30
|
+
"@xemahq/identity-client": "^0.28.0",
|
|
31
|
+
"@xemahq/platform-common": "^0.80.0",
|
|
32
|
+
"@xemahq/service-registry-nest": "^1.0.0",
|
|
33
|
+
"@xemahq/xema-service-nest": "^10.2.1",
|
|
32
34
|
"@types/jest": "^30.0.0",
|
|
33
35
|
"@types/node": "25.2.3",
|
|
34
36
|
"eslint": "^9.39.4",
|
|
@@ -60,5 +62,8 @@
|
|
|
60
62
|
"lint": "eslint .",
|
|
61
63
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
62
64
|
"test": "jest --config jest.config.ts"
|
|
65
|
+
},
|
|
66
|
+
"xemaRelease": {
|
|
67
|
+
"sourceDigest": "sha256:8b1dd9ae5bf94ebe53952492a51e7866b0684e5a50130e7776b6956e6bc6b284"
|
|
63
68
|
}
|
|
64
|
-
}
|
|
69
|
+
}
|