@noodleseed/one 0.99.1 → 0.100.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/commands/auth-ops.d.ts.map +1 -1
- package/dist/commands/auth-ops.js +6 -1
- package/dist/commands/auth-ops.js.map +1 -1
- package/dist/commands/auth-service-principals.d.ts +3 -0
- package/dist/commands/auth-service-principals.d.ts.map +1 -0
- package/dist/commands/auth-service-principals.js +380 -0
- package/dist/commands/auth-service-principals.js.map +1 -0
- package/dist/commands/catalog-data-auth-discovery.d.ts.map +1 -1
- package/dist/commands/catalog-data-auth-discovery.js +187 -2
- package/dist/commands/catalog-data-auth-discovery.js.map +1 -1
- package/dist/commands/catalog.d.ts.map +1 -1
- package/dist/commands/catalog.js +1 -0
- package/dist/commands/catalog.js.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/index.d.ts +1 -1
- package/node_modules/@noodle-borg/auth/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts +5 -1
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js +6 -0
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/verify.d.ts +9 -2
- package/node_modules/@noodle-borg/auth/dist/verify.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/verify.js +25 -1
- package/node_modules/@noodle-borg/auth/dist/verify.js.map +1 -1
- package/node_modules/@noodle-borg/capabilities/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/capabilities/dist/index.js +7 -0
- package/node_modules/@noodle-borg/capabilities/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.d.ts +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/index.d.ts +1 -0
- package/node_modules/@noodle-borg/protocol/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/index.js +1 -0
- package/node_modules/@noodle-borg/protocol/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts +2 -0
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/tool-confirmation.d.ts +6 -0
- package/node_modules/@noodle-borg/protocol/dist/tool-confirmation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/tool-confirmation.js +6 -0
- package/node_modules/@noodle-borg/protocol/dist/tool-confirmation.js.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.d.ts +1 -1
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.js +2 -2
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/v2/confirmation.d.ts +1 -1
- package/node_modules/@noodle-borg/protocol/dist/v2/confirmation.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/v2/confirmation.js +2 -2
- package/node_modules/@noodle-borg/protocol/dist/v2/confirmation.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/v2/input-required.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/v2/input-required.js +5 -0
- package/node_modules/@noodle-borg/protocol/dist/v2/input-required.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/v2/server.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/v2/server.js +13 -9
- package/node_modules/@noodle-borg/protocol/dist/v2/server.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +1 -1
- package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/index.d.ts +4 -0
- package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/index.js +4 -0
- package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/app.js +29 -0
- package/node_modules/@noodle-borg/service/dist/oauth/app.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/metadata.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/metadata.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/metadata.js +19 -2
- package/node_modules/@noodle-borg/service/dist/oauth/metadata.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-guard.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-guard.js +3 -1
- package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-guard.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts +5 -0
- package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js +11 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.d.ts +8 -1
- package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.js +60 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-client-auth.d.ts +22 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-client-auth.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-client-auth.js +199 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-client-auth.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-credentials.d.ts +14 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-credentials.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-credentials.js +119 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-credentials.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-guard.d.ts +16 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-guard.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-guard.js +34 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-guard.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-resource.d.ts +14 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-resource.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-resource.js +53 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-resource.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store-postgres-schema.d.ts +4 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store-postgres-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store-postgres-schema.js +98 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store-postgres-schema.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store-postgres.d.ts +22 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store-postgres.js +359 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store.d.ts +165 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store.js +349 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-store.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-token-handler.d.ts +20 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-token-handler.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-token-handler.js +175 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-token-handler.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-token-issuer.d.ts +12 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-token-issuer.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-token-issuer.js +20 -0
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-token-issuer.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts +9 -3
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js +6 -0
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/options.d.ts +5 -0
- package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/service-principal-contracts.d.ts +24 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principal-contracts.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principal-contracts.js +55 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principal-contracts.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principal-paths.d.ts +29 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principal-paths.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principal-paths.js +63 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principal-paths.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principals-dispatch.d.ts +27 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principals-dispatch.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principals-dispatch.js +33 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principals-dispatch.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principals.d.ts +17 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principals.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principals.js +203 -0
- package/node_modules/@noodle-borg/service/dist/routes/service-principals.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.js +4 -1
- package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service-principal-data-plane.d.ts +12 -0
- package/node_modules/@noodle-borg/service/dist/service-principal-data-plane.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/service-principal-data-plane.js +71 -0
- package/node_modules/@noodle-borg/service/dist/service-principal-data-plane.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/service.d.ts +1 -3
- package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.js +8 -4
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- package/node_modules/@noodle-borg/service/package.json +1 -0
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts +5 -0
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.js +4 -0
- package/node_modules/@noodle-borg/transport-http/dist/handler.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/identity-authorization.d.ts +5 -0
- package/node_modules/@noodle-borg/transport-http/dist/identity-authorization.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/identity-authorization.js +16 -0
- package/node_modules/@noodle-borg/transport-http/dist/identity-authorization.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.d.ts +2 -0
- package/node_modules/@noodle-borg/transport-http/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.js +1 -0
- package/node_modules/@noodle-borg/transport-http/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/serve-request.d.ts +3 -0
- package/node_modules/@noodle-borg/transport-http/dist/serve-request.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/serve-request.js +56 -2
- package/node_modules/@noodle-borg/transport-http/dist/serve-request.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/service-principal-authorization.d.ts +31 -0
- package/node_modules/@noodle-borg/transport-http/dist/service-principal-authorization.d.ts.map +1 -0
- package/node_modules/@noodle-borg/transport-http/dist/service-principal-authorization.js +51 -0
- package/node_modules/@noodle-borg/transport-http/dist/service-principal-authorization.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { readJsonBody, sendJson } from '../http-util.js';
|
|
2
|
+
import { createClientSecret, digestClientSecret } from '../oauth/service-principal-credentials.js';
|
|
3
|
+
import { authorizeControlPlane } from './control-plane.js';
|
|
4
|
+
import { createServicePrincipalCredentialSchema, createServicePrincipalGrantSchema, createServicePrincipalSchema, } from './service-principal-contracts.js';
|
|
5
|
+
export async function handleServicePrincipalRequest(req, res, path, deps) {
|
|
6
|
+
const identity = await authorizeHumanOrgMember(req, res, path.org, deps);
|
|
7
|
+
if (identity === false)
|
|
8
|
+
return;
|
|
9
|
+
if (!deps.runtime.ready) {
|
|
10
|
+
return sendJson(res, 503, { error: 'service_principals_unavailable' });
|
|
11
|
+
}
|
|
12
|
+
const store = deps.runtime.store;
|
|
13
|
+
if (path.kind === 'collection' && req.method === 'GET') {
|
|
14
|
+
return sendJson(res, 200, { ok: true, data: await store.listPrincipals(path.org) });
|
|
15
|
+
}
|
|
16
|
+
if (path.kind === 'collection' && req.method === 'POST') {
|
|
17
|
+
const input = await parseBody(req, res, deps.maxBody, createServicePrincipalSchema);
|
|
18
|
+
if (input === undefined)
|
|
19
|
+
return;
|
|
20
|
+
const created = await store.createPrincipal({
|
|
21
|
+
org: path.org,
|
|
22
|
+
name: input.name,
|
|
23
|
+
actorSubject: identity.subject,
|
|
24
|
+
});
|
|
25
|
+
await emit(deps.audit, 'service_principal.created', identity, path.org, {
|
|
26
|
+
principalId: created.principalId,
|
|
27
|
+
});
|
|
28
|
+
return sendJson(res, 201, { ok: true, data: created });
|
|
29
|
+
}
|
|
30
|
+
if (path.kind === 'principal' && req.method === 'GET') {
|
|
31
|
+
const view = await store.getPrincipal(path);
|
|
32
|
+
return view === undefined
|
|
33
|
+
? sendJson(res, 404, { error: 'not found' })
|
|
34
|
+
: sendJson(res, 200, { ok: true, data: view });
|
|
35
|
+
}
|
|
36
|
+
if (path.kind === 'principal' && req.method === 'DELETE') {
|
|
37
|
+
if ((await store.getPrincipal(path)) === undefined) {
|
|
38
|
+
return sendJson(res, 404, { error: 'not found' });
|
|
39
|
+
}
|
|
40
|
+
await store.revokePrincipal({ ...path, actorSubject: identity.subject });
|
|
41
|
+
await emit(deps.audit, 'service_principal.revoked', identity, path.org, {
|
|
42
|
+
principalId: path.principalId,
|
|
43
|
+
});
|
|
44
|
+
return sendJson(res, 200, { ok: true });
|
|
45
|
+
}
|
|
46
|
+
if (path.kind === 'grants' && req.method === 'POST') {
|
|
47
|
+
if ((await store.getPrincipal(path)) === undefined) {
|
|
48
|
+
return sendJson(res, 404, { error: 'not found' });
|
|
49
|
+
}
|
|
50
|
+
const input = await parseBody(req, res, deps.maxBody, createServicePrincipalGrantSchema);
|
|
51
|
+
if (input === undefined)
|
|
52
|
+
return;
|
|
53
|
+
if ((await deps.registry.getEnvironment(path.org, input.app, input.environment)) === undefined) {
|
|
54
|
+
return sendJson(res, 404, { error: 'not found' });
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const grant = await store.createGrant({
|
|
58
|
+
principalId: path.principalId,
|
|
59
|
+
org: path.org,
|
|
60
|
+
app: input.app,
|
|
61
|
+
environment: input.environment,
|
|
62
|
+
scopes: input.scopes,
|
|
63
|
+
actorSubject: identity.subject,
|
|
64
|
+
});
|
|
65
|
+
await emit(deps.audit, 'service_principal.grant.created', identity, path.org, {
|
|
66
|
+
principalId: path.principalId,
|
|
67
|
+
grantId: grant.grantId,
|
|
68
|
+
app: grant.app,
|
|
69
|
+
environment: grant.environment,
|
|
70
|
+
});
|
|
71
|
+
return sendJson(res, 201, { ok: true, data: grant });
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return sendJson(res, 400, { error: safeMutationError(error) });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (path.kind === 'grant' && req.method === 'DELETE') {
|
|
78
|
+
if ((await store.getPrincipal(path)) === undefined) {
|
|
79
|
+
return sendJson(res, 404, { error: 'not found' });
|
|
80
|
+
}
|
|
81
|
+
const revoked = await store.revokeGrant({ ...path, actorSubject: identity.subject });
|
|
82
|
+
if (!revoked)
|
|
83
|
+
return sendJson(res, 404, { error: 'not found' });
|
|
84
|
+
await emit(deps.audit, 'service_principal.grant.revoked', identity, path.org, {
|
|
85
|
+
principalId: path.principalId,
|
|
86
|
+
grantId: path.grantId,
|
|
87
|
+
});
|
|
88
|
+
return sendJson(res, 200, { ok: true });
|
|
89
|
+
}
|
|
90
|
+
if (path.kind === 'credentials' && req.method === 'POST') {
|
|
91
|
+
if ((await store.getPrincipal(path)) === undefined) {
|
|
92
|
+
return sendJson(res, 404, { error: 'not found' });
|
|
93
|
+
}
|
|
94
|
+
const input = await parseBody(req, res, deps.maxBody, createServicePrincipalCredentialSchema);
|
|
95
|
+
if (input === undefined)
|
|
96
|
+
return;
|
|
97
|
+
try {
|
|
98
|
+
if (input.kind === 'client_secret') {
|
|
99
|
+
const secret = createClientSecret();
|
|
100
|
+
const credential = await store.createCredential({
|
|
101
|
+
principalId: path.principalId,
|
|
102
|
+
org: path.org,
|
|
103
|
+
actorSubject: identity.subject,
|
|
104
|
+
kind: input.kind,
|
|
105
|
+
label: input.label,
|
|
106
|
+
secretDigest: digestClientSecret(secret),
|
|
107
|
+
...(input.expiresAt === undefined ? {} : { expiresAt: input.expiresAt }),
|
|
108
|
+
});
|
|
109
|
+
await credentialAudit(deps.audit, identity, path.org, credential);
|
|
110
|
+
return sendJson(res, 201, { ok: true, data: { ...credential, secret } });
|
|
111
|
+
}
|
|
112
|
+
const credential = await store.createCredential({
|
|
113
|
+
principalId: path.principalId,
|
|
114
|
+
org: path.org,
|
|
115
|
+
actorSubject: identity.subject,
|
|
116
|
+
kind: input.kind,
|
|
117
|
+
label: input.label,
|
|
118
|
+
algorithm: input.algorithm,
|
|
119
|
+
publicJwk: input.publicJwk,
|
|
120
|
+
...(input.expiresAt === undefined ? {} : { expiresAt: input.expiresAt }),
|
|
121
|
+
});
|
|
122
|
+
await credentialAudit(deps.audit, identity, path.org, credential);
|
|
123
|
+
return sendJson(res, 201, { ok: true, data: credential });
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
return sendJson(res, 400, { error: safeMutationError(error) });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (path.kind === 'credential' && req.method === 'DELETE') {
|
|
130
|
+
if ((await store.getPrincipal(path)) === undefined) {
|
|
131
|
+
return sendJson(res, 404, { error: 'not found' });
|
|
132
|
+
}
|
|
133
|
+
const revoked = await store.revokeCredential({ ...path, actorSubject: identity.subject });
|
|
134
|
+
if (!revoked)
|
|
135
|
+
return sendJson(res, 404, { error: 'not found' });
|
|
136
|
+
await emit(deps.audit, 'service_principal.credential.revoked', identity, path.org, {
|
|
137
|
+
principalId: path.principalId,
|
|
138
|
+
credentialId: path.credentialId,
|
|
139
|
+
});
|
|
140
|
+
return sendJson(res, 200, { ok: true });
|
|
141
|
+
}
|
|
142
|
+
res.setHeader('allow', allowedMethods(path.kind).join(', '));
|
|
143
|
+
return sendJson(res, 405, { error: 'method not allowed' });
|
|
144
|
+
}
|
|
145
|
+
async function authorizeHumanOrgMember(req, res, org, deps) {
|
|
146
|
+
const identity = await authorizeControlPlane(req, res, deps.gate, { requireIdentity: true });
|
|
147
|
+
if (identity === false)
|
|
148
|
+
return false;
|
|
149
|
+
if (!identity.superAdmin &&
|
|
150
|
+
!(await deps.controlPlane.isOrgMember({ org, subject: identity.subject }))) {
|
|
151
|
+
sendJson(res, 404, { error: 'not found' });
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
return identity;
|
|
155
|
+
}
|
|
156
|
+
async function parseBody(req, res, maxBody, schema) {
|
|
157
|
+
const body = await readJsonBody(req, maxBody);
|
|
158
|
+
if (!body.ok) {
|
|
159
|
+
sendJson(res, body.status, { error: body.error });
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
const parsed = schema.safeParse(body.value);
|
|
163
|
+
if (!parsed.success) {
|
|
164
|
+
sendJson(res, 400, { error: 'invalid service-principal request' });
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
return parsed.data;
|
|
168
|
+
}
|
|
169
|
+
async function credentialAudit(audit, identity, org, credential) {
|
|
170
|
+
await emit(audit, 'service_principal.credential.created', identity, org, {
|
|
171
|
+
principalId: credential.principalId,
|
|
172
|
+
credentialId: credential.credentialId,
|
|
173
|
+
kind: credential.kind,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
function emit(audit, eventType, identity, org, details) {
|
|
177
|
+
return audit.emit({
|
|
178
|
+
eventType,
|
|
179
|
+
org,
|
|
180
|
+
actorSubject: identity.subject,
|
|
181
|
+
actorEmail: identity.email,
|
|
182
|
+
decision: 'allow',
|
|
183
|
+
status: 200,
|
|
184
|
+
details,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
function allowedMethods(kind) {
|
|
188
|
+
if (kind === 'collection')
|
|
189
|
+
return ['GET', 'POST'];
|
|
190
|
+
if (kind === 'principal')
|
|
191
|
+
return ['GET', 'DELETE'];
|
|
192
|
+
if (kind === 'grants' || kind === 'credentials')
|
|
193
|
+
return ['POST'];
|
|
194
|
+
return ['DELETE'];
|
|
195
|
+
}
|
|
196
|
+
function safeMutationError(error) {
|
|
197
|
+
if (!(error instanceof Error))
|
|
198
|
+
return 'invalid service-principal request';
|
|
199
|
+
return /^(service principal|service-principal|public JWK)/.test(error.message)
|
|
200
|
+
? error.message
|
|
201
|
+
: 'invalid service-principal request';
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=service-principals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-principals.js","sourceRoot":"","sources":["../../src/routes/service-principals.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAyCtD,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,2CAA2C,CAAC;AAkBnD,OAAO,EAAE,KAAK,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAyC9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,4FAA4F;IAC5F,QAAQ,CAAC,iCAAiC,CAAC,EAAE,oCAAoC,CAAC;IAClF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,iGAAiG;AACjG,wBAAsB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAyCtD,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,2CAA2C,CAAC;AAkBnD,OAAO,EAAE,KAAK,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAyC9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,4FAA4F;IAC5F,QAAQ,CAAC,iCAAiC,CAAC,EAAE,oCAAoC,CAAC;IAClF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,iGAAiG;AACjG,wBAAsB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC,CAiqB7F"}
|
|
@@ -377,8 +377,9 @@ export async function serveService(options = {}) {
|
|
|
377
377
|
...(platformIdentityStore === undefined ? {} : { platformIdentityStore }),
|
|
378
378
|
platformAuth,
|
|
379
379
|
registry: () => registry,
|
|
380
|
+
audit: moduleHost.audit,
|
|
380
381
|
});
|
|
381
|
-
const { authServerApp, verifyOwnerToken: resolvedVerifyOwnerToken, authServerIssuer: resolvedAuthServerIssuer, oauthStore, developerGrantStore, delegatedExchange, rawCustomerVerifierFactory, } = oauthBootstrap;
|
|
382
|
+
const { authServerApp, verifyOwnerToken: resolvedVerifyOwnerToken, authServerIssuer: resolvedAuthServerIssuer, oauthStore, developerGrantStore, servicePrincipalRuntime, oauthClientCredentialsReady, delegatedExchange, rawCustomerVerifierFactory, } = oauthBootstrap;
|
|
382
383
|
const localDevtoolsDelegatedCredentialSource = oauthStore === undefined &&
|
|
383
384
|
(options.localDevtoolsDirectFirebaseAuth === true ||
|
|
384
385
|
options.localDevtoolsDirectMicrosoftAuth === true)
|
|
@@ -535,6 +536,8 @@ export async function serveService(options = {}) {
|
|
|
535
536
|
readinessProbe,
|
|
536
537
|
controlPlaneStore,
|
|
537
538
|
...(developerGrantStore !== undefined ? { developerGrantStore } : {}),
|
|
539
|
+
...(servicePrincipalRuntime !== undefined ? { servicePrincipalRuntime } : {}),
|
|
540
|
+
...(oauthClientCredentialsReady ? { oauthClientCredentialsReady: true } : {}),
|
|
538
541
|
...(billingMigrationStore !== undefined ? { billingMigrationStore } : {}),
|
|
539
542
|
...(billingEnforcementProfileStore !== undefined ? { billingEnforcementProfileStore } : {}),
|
|
540
543
|
...(billingEnforcementActivationStore !== undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AuditSink } from '@noodle-borg/module';
|
|
2
|
+
import type { HostedToolAuthorizationObserver, HostedToolDispatchHook, Logger } from '@noodle-borg/transport-http';
|
|
3
|
+
/** Compose both machine-specific hooks without growing the service composition root. */
|
|
4
|
+
export declare function servicePrincipalDataPlaneHooks(next: HostedToolDispatchHook | undefined, audit: AuditSink, logger: Logger): {
|
|
5
|
+
readonly beforeToolDispatch: HostedToolDispatchHook;
|
|
6
|
+
readonly observeToolAuthorization: HostedToolAuthorizationObserver;
|
|
7
|
+
};
|
|
8
|
+
/** Emit one bounded authorization decision without making audit availability part of MCP admission. */
|
|
9
|
+
export declare function createServicePrincipalToolAuthorizationAudit(audit: AuditSink, logger: Logger): HostedToolAuthorizationObserver;
|
|
10
|
+
/** Preserve the existing usage decision exactly, adding one best-effort audit for an allowed machine call. */
|
|
11
|
+
export declare function withServicePrincipalToolCallAudit(next: HostedToolDispatchHook | undefined, audit: AuditSink, logger: Logger): HostedToolDispatchHook;
|
|
12
|
+
//# sourceMappingURL=service-principal-data-plane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-principal-data-plane.d.ts","sourceRoot":"","sources":["../src/service-principal-data-plane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EACV,+BAA+B,EAC/B,sBAAsB,EACtB,MAAM,EACP,MAAM,6BAA6B,CAAC;AAErC,wFAAwF;AACxF,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,sBAAsB,GAAG,SAAS,EACxC,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb;IACD,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IACpD,QAAQ,CAAC,wBAAwB,EAAE,+BAA+B,CAAC;CACpE,CAKA;AAED,uGAAuG;AACvG,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,+BAA+B,CA0BjC;AAED,8GAA8G;AAC9G,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,sBAAsB,GAAG,SAAS,EACxC,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,sBAAsB,CAsBxB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/** Compose both machine-specific hooks without growing the service composition root. */
|
|
2
|
+
export function servicePrincipalDataPlaneHooks(next, audit, logger) {
|
|
3
|
+
return {
|
|
4
|
+
beforeToolDispatch: withServicePrincipalToolCallAudit(next, audit, logger),
|
|
5
|
+
observeToolAuthorization: createServicePrincipalToolAuthorizationAudit(audit, logger),
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
/** Emit one bounded authorization decision without making audit availability part of MCP admission. */
|
|
9
|
+
export function createServicePrincipalToolAuthorizationAudit(audit, logger) {
|
|
10
|
+
return async (observation) => {
|
|
11
|
+
if (observation.org === undefined)
|
|
12
|
+
return;
|
|
13
|
+
try {
|
|
14
|
+
await audit.emit({
|
|
15
|
+
eventType: 'service_principal.tool.authorization',
|
|
16
|
+
org: observation.org,
|
|
17
|
+
...(observation.app === undefined ? {} : { app: observation.app }),
|
|
18
|
+
...(observation.environment === undefined ? {} : { env: observation.environment }),
|
|
19
|
+
...(observation.deploymentId === undefined
|
|
20
|
+
? {}
|
|
21
|
+
: { deploymentId: observation.deploymentId }),
|
|
22
|
+
actorSubject: observation.subject,
|
|
23
|
+
decision: observation.decision,
|
|
24
|
+
status: observation.decision === 'allow' ? 200 : 403,
|
|
25
|
+
reasonCode: observation.reason,
|
|
26
|
+
details: {
|
|
27
|
+
toolName: observation.toolName,
|
|
28
|
+
ruleClass: observation.ruleClass,
|
|
29
|
+
ruleFingerprint: observation.ruleFingerprint,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
warnAuditFailure(logger, observation.org, observation.toolName, 'authorization');
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** Preserve the existing usage decision exactly, adding one best-effort audit for an allowed machine call. */
|
|
39
|
+
export function withServicePrincipalToolCallAudit(next, audit, logger) {
|
|
40
|
+
return async (context) => {
|
|
41
|
+
const decision = next === undefined ? { allow: true } : await next(context);
|
|
42
|
+
if (decision.allow && context.caller?.identityKind === 'service') {
|
|
43
|
+
try {
|
|
44
|
+
await audit.emit({
|
|
45
|
+
eventType: 'service_principal.tool.called',
|
|
46
|
+
org: context.org,
|
|
47
|
+
app: context.app,
|
|
48
|
+
env: context.environment,
|
|
49
|
+
deploymentId: context.deploymentId,
|
|
50
|
+
actorSubject: context.caller.subject,
|
|
51
|
+
decision: 'allow',
|
|
52
|
+
status: 200,
|
|
53
|
+
details: { toolName: context.toolName },
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
warnAuditFailure(logger, context.org, context.toolName, 'call');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return decision;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function warnAuditFailure(logger, org, toolName, phase) {
|
|
64
|
+
try {
|
|
65
|
+
logger.warn('service_principal.tool.audit_failed', { org, toolName, phase });
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// Audit diagnostics never participate in authorization or connector dispatch.
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=service-principal-data-plane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-principal-data-plane.js","sourceRoot":"","sources":["../src/service-principal-data-plane.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
2
|
import type { ServiceOptions } from './options.js';
|
|
3
3
|
import type { ServerRegistry } from './registry.js';
|
|
4
|
-
/**
|
|
5
|
-
* The combined service listener: tenant-scoped deploy management plus the multi-tenant MCP router.
|
|
6
|
-
*/
|
|
4
|
+
/** The combined service listener: tenant-scoped deploy management plus the multi-tenant MCP router. */
|
|
7
5
|
export declare function createServiceHandler(registry: ServerRegistry, options?: ServiceOptions): (req: IncomingMessage, res: ServerResponse) => void;
|
|
8
6
|
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA2BjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA2BjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAsDpD,uGAAuG;AACvG,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,cAAmB,GAC3B,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,CAmsBrD"}
|
|
@@ -50,6 +50,8 @@ import { dispatchPrivatePlatformAuthRoutes } from './routes/private-platform-aut
|
|
|
50
50
|
import { dispatchProtectedResourceMetadata } from './routes/protected-resource-metadata.js';
|
|
51
51
|
import { dispatchResourceReads } from './routes/resource-read-dispatch.js';
|
|
52
52
|
import { handleRollback } from './routes/rollback.js';
|
|
53
|
+
import { createServicePrincipalDispatcher } from './routes/service-principals-dispatch.js';
|
|
54
|
+
import { servicePrincipalDataPlaneHooks } from './service-principal-data-plane.js';
|
|
53
55
|
import { BUILTIN_STATE_CATALOG_CONNECTOR } from './state-catalog.js';
|
|
54
56
|
import { InMemoryAlertRuleStore } from './store/alert-rules.js';
|
|
55
57
|
import { StdoutAuditSink } from './store/audit.js';
|
|
@@ -58,9 +60,7 @@ import { InMemoryGithubConnectionStore } from './store/github-connections.js';
|
|
|
58
60
|
import { InMemoryGithubDeployRunStore } from './store/github-runs.js';
|
|
59
61
|
const DEFAULT_MAX_BODY = 1 << 20;
|
|
60
62
|
const DEFAULT_MAX_DEPLOY_BODY = 32 * 1024 * 1024;
|
|
61
|
-
/**
|
|
62
|
-
* The combined service listener: tenant-scoped deploy management plus the multi-tenant MCP router.
|
|
63
|
-
*/
|
|
63
|
+
/** The combined service listener: tenant-scoped deploy management plus the multi-tenant MCP router. */
|
|
64
64
|
export function createServiceHandler(registry, options = {}) {
|
|
65
65
|
const logger = options.logger ?? noopLogger;
|
|
66
66
|
const tls = options.tls ?? {};
|
|
@@ -124,7 +124,8 @@ export function createServiceHandler(registry, options = {}) {
|
|
|
124
124
|
? {}
|
|
125
125
|
: { confirmationNonceLedger: options.mcpConfirmationNonceLedger }),
|
|
126
126
|
resolveInvocationContext: createMcpInvocationContextResolver(options.clock),
|
|
127
|
-
...(billingUsage.dispatch
|
|
127
|
+
...servicePrincipalDataPlaneHooks(billingUsage.dispatch, activeAudit, logger),
|
|
128
|
+
...(options.oauthClientCredentialsReady ? { oauthClientCredentialsReady: true } : {}),
|
|
128
129
|
...(options.captureRequestEvent !== undefined
|
|
129
130
|
? { captureRequestEvent: options.captureRequestEvent }
|
|
130
131
|
: {}),
|
|
@@ -148,6 +149,7 @@ export function createServiceHandler(registry, options = {}) {
|
|
|
148
149
|
const maxBody = options.maxBodyBytes ?? DEFAULT_MAX_BODY;
|
|
149
150
|
const maxDeployBody = options.maxDeployBodyBytes ?? DEFAULT_MAX_DEPLOY_BODY;
|
|
150
151
|
const gate = options.deployGate ?? allowAllGate();
|
|
152
|
+
const servicePrincipalDispatcher = createServicePrincipalDispatcher(registry, options.servicePrincipalRuntime, { gate, controlPlane, audit: activeAudit, maxBody, logger, tls });
|
|
151
153
|
const feedbackLimiter = new FeedbackRateLimiter(options.clock);
|
|
152
154
|
const commercialRouteDeps = createCommercialServiceDeps({
|
|
153
155
|
options,
|
|
@@ -266,6 +268,8 @@ export function createServiceHandler(registry, options = {}) {
|
|
|
266
268
|
...(advanced ? { modules: capabilityReport.modules } : {}),
|
|
267
269
|
});
|
|
268
270
|
}
|
|
271
|
+
if (servicePrincipalDispatcher?.(req, res, url))
|
|
272
|
+
return;
|
|
269
273
|
if (dispatchAssistantRoutes(req, res, url, {
|
|
270
274
|
registry,
|
|
271
275
|
store: assistantStore,
|