n8n 2.30.0 → 2.30.1

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.
Files changed (82) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/controllers/dynamic-node-parameters.controller.js +1 -1
  3. package/dist/controllers/dynamic-node-parameters.controller.js.map +1 -1
  4. package/dist/modules/agents/agent-chat.controller.js +2 -2
  5. package/dist/modules/agents/agent-chat.controller.js.map +1 -1
  6. package/dist/modules/agents/agent-execution-orchestrator.service.d.ts +4 -3
  7. package/dist/modules/agents/agent-execution-orchestrator.service.js +11 -8
  8. package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
  9. package/dist/modules/agents/agent-publish.service.d.ts +3 -1
  10. package/dist/modules/agents/agent-publish.service.js +6 -2
  11. package/dist/modules/agents/agent-publish.service.js.map +1 -1
  12. package/dist/modules/agents/agent-runtime-cache.service.d.ts +2 -0
  13. package/dist/modules/agents/agent-runtime-cache.service.js +5 -3
  14. package/dist/modules/agents/agent-runtime-cache.service.js.map +1 -1
  15. package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +11 -4
  16. package/dist/modules/agents/agent-runtime-reconstruction.service.js +72 -12
  17. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  18. package/dist/modules/agents/agent-task.service.d.ts +2 -1
  19. package/dist/modules/agents/agent-task.service.js +4 -4
  20. package/dist/modules/agents/agent-task.service.js.map +1 -1
  21. package/dist/modules/agents/agent-tasks.controller.js +1 -1
  22. package/dist/modules/agents/agent-tasks.controller.js.map +1 -1
  23. package/dist/modules/agents/agents.module.d.ts +1 -1
  24. package/dist/modules/agents/agents.service.d.ts +3 -1
  25. package/dist/modules/agents/agents.service.js +6 -2
  26. package/dist/modules/agents/agents.service.js.map +1 -1
  27. package/dist/modules/agents/sub-agents/sub-agent-cleanup.service.d.ts +10 -0
  28. package/dist/modules/agents/sub-agents/sub-agent-cleanup.service.js +57 -0
  29. package/dist/modules/agents/sub-agents/sub-agent-cleanup.service.js.map +1 -0
  30. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.d.ts +2 -0
  31. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +1 -0
  32. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -1
  33. package/dist/modules/agents/sub-agents/sub-agent-source-resolver.js +6 -7
  34. package/dist/modules/agents/sub-agents/sub-agent-source-resolver.js.map +1 -1
  35. package/dist/modules/mcp/mcp-protected-resource.d.ts +2 -0
  36. package/dist/modules/mcp/mcp-protected-resource.js +3 -0
  37. package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
  38. package/dist/modules/oauth-server/oauth-consent.controller.js +13 -3
  39. package/dist/modules/oauth-server/oauth-consent.controller.js.map +1 -1
  40. package/dist/modules/oauth-server/oauth-consent.service.d.ts +6 -2
  41. package/dist/modules/oauth-server/oauth-consent.service.js +26 -6
  42. package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
  43. package/dist/modules/oauth-server/oauth-token.service.d.ts +4 -1
  44. package/dist/modules/oauth-server/oauth-token.service.js +28 -4
  45. package/dist/modules/oauth-server/oauth-token.service.js.map +1 -1
  46. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.d.ts +6 -1
  47. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.js +13 -3
  48. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.js.map +1 -1
  49. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.d.ts +6 -2
  50. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.js +12 -2
  51. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.js.map +1 -1
  52. package/dist/modules/provisioning.ee/provisioning.service.ee.js +12 -4
  53. package/dist/modules/provisioning.ee/provisioning.service.ee.js.map +1 -1
  54. package/dist/modules/redaction/executions/execution-redaction.service.js +1 -1
  55. package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
  56. package/dist/modules/token-exchange/services/identity-resolution.service.d.ts +3 -1
  57. package/dist/modules/token-exchange/services/identity-resolution.service.js +19 -12
  58. package/dist/modules/token-exchange/services/identity-resolution.service.js.map +1 -1
  59. package/dist/modules/token-exchange/services/scoped-jwt.strategy.js +1 -1
  60. package/dist/modules/token-exchange/services/scoped-jwt.strategy.js.map +1 -1
  61. package/dist/node-execution/ephemeral-node-executor.d.ts +1 -0
  62. package/dist/node-execution/ephemeral-node-executor.js +14 -1
  63. package/dist/node-execution/ephemeral-node-executor.js.map +1 -1
  64. package/dist/node-execution/index.d.ts +1 -1
  65. package/dist/node-execution/index.js +2 -1
  66. package/dist/node-execution/index.js.map +1 -1
  67. package/dist/services/dynamic-node-parameters.service.d.ts +1 -0
  68. package/dist/services/dynamic-node-parameters.service.js +11 -0
  69. package/dist/services/dynamic-node-parameters.service.js.map +1 -1
  70. package/dist/services/oauth-token-verifier-proxy.service.d.ts +1 -1
  71. package/dist/services/oauth-token-verifier-proxy.service.js.map +1 -1
  72. package/dist/services/protected-resource.registry.d.ts +2 -0
  73. package/dist/services/protected-resource.registry.js.map +1 -1
  74. package/dist/services/role.service.d.ts +1 -0
  75. package/dist/services/role.service.js +4 -0
  76. package/dist/services/role.service.js.map +1 -1
  77. package/dist/webhooks/webhook-helpers.js +12 -7
  78. package/dist/webhooks/webhook-helpers.js.map +1 -1
  79. package/dist/webhooks/webhook-server.d.ts +1 -0
  80. package/dist/webhooks/webhook-server.js +4 -0
  81. package/dist/webhooks/webhook-server.js.map +1 -1
  82. package/package.json +30 -30
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-foreground-runner.js","sourceRoot":"","sources":["../../../../src/modules/agents/sub-agents/sub-agent-foreground-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sub-agent-foreground-runner.js","sourceRoot":"","sources":["../../../../src/modules/agents/sub-agents/sub-agent-foreground-runner.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,6 @@ const api_types_1 = require("@n8n/api-types");
14
14
  const di_1 = require("@n8n/di");
15
15
  const n8n_workflow_1 = require("n8n-workflow");
16
16
  const not_found_error_1 = require("../../../errors/response-errors/not-found.error");
17
- const agent_config_composition_1 = require("../json-config/agent-config-composition");
18
17
  const agent_history_repository_1 = require("../repositories/agent-history.repository");
19
18
  const agent_repository_1 = require("../repositories/agent.repository");
20
19
  let SubAgentSourceResolver = class SubAgentSourceResolver {
@@ -44,17 +43,17 @@ let SubAgentSourceResolver = class SubAgentSourceResolver {
44
43
  ...getAgentRuntimeAssets(version),
45
44
  };
46
45
  }
47
- const config = (0, agent_config_composition_1.composeJsonConfig)(agent);
48
- if (!config) {
49
- throw new n8n_workflow_1.UserError(`Agent "${source.agentId}" has no config`);
46
+ const publishedVersion = agent.activeVersion;
47
+ if (!agent.activeVersionId || !publishedVersion?.schema) {
48
+ throw new n8n_workflow_1.UserError(`Sub-agent "${source.agentId}" is not published`);
50
49
  }
51
50
  return {
52
51
  source: {
53
52
  sourceId: source.agentId,
54
- versionId: agent.versionId ?? undefined,
55
- config: this.toRunnableConfig(config),
53
+ versionId: agent.activeVersionId,
54
+ config: this.toRunnableConfig(publishedVersion.schema),
56
55
  },
57
- ...getAgentRuntimeAssets(agent),
56
+ ...getAgentRuntimeAssets(publishedVersion),
58
57
  };
59
58
  }
60
59
  toRunnableConfig(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-source-resolver.js","sourceRoot":"","sources":["../../../../src/modules/agents/sub-agents/sub-agent-source-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sub-agent-source-resolver.js","sourceRoot":"","sources":["../../../../src/modules/agents/sub-agents/sub-agent-source-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { McpSettingsService } from './mcp.settings.service';
2
2
  import type { ProtectedResource } from '../../services/protected-resource.registry';
3
3
  import { UrlService } from '../../services/url.service';
4
+ import type { User } from '@n8n/db';
4
5
  export declare const INSTANCE_MCP_RESOURCE_ID = "instance-mcp";
5
6
  export declare const SUPPORTED_SCOPES: string[];
6
7
  export declare class McpProtectedResource implements ProtectedResource {
@@ -13,4 +14,5 @@ export declare class McpProtectedResource implements ProtectedResource {
13
14
  getResourceUrl(): string;
14
15
  getAudiences(): string[];
15
16
  getAllowedRedirectUris(): Promise<string[]>;
17
+ authorize(_user: User): Promise<boolean>;
16
18
  }
@@ -35,6 +35,9 @@ let McpProtectedResource = class McpProtectedResource {
35
35
  async getAllowedRedirectUris() {
36
36
  return await this.mcpSettingsService.getAllowedRedirectUris();
37
37
  }
38
+ async authorize(_user) {
39
+ return await this.mcpSettingsService.getEnabled();
40
+ }
38
41
  };
39
42
  exports.McpProtectedResource = McpProtectedResource;
40
43
  exports.McpProtectedResource = McpProtectedResource = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-protected-resource.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-protected-resource.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAElC,iEAA4D;AAE5D,wDAAoD;AAEvC,QAAA,wBAAwB,GAAG,cAAc,CAAC;AAS1C,QAAA,gBAAgB,GAAa,EAAE,CAAC;AAE7C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAI7C,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAYtC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAYhC,YACkB,UAAsB,EACtB,kBAAsC;QADtC,eAAU,GAAV,UAAU,CAAY;QACtB,uBAAkB,GAAlB,kBAAkB,CAAoB;QAb/C,OAAE,GAAG,gCAAwB,CAAC;QAE9B,WAAM,GAAG,wBAAgB,CAAC;QAO1B,cAAS,GAAG,IAAI,CAAC;IAKvB,CAAC;IAEJ,cAAc;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxE,OAAO,GAAG,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACzC,CAAC;IAED,YAAY;QAGX,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC3B,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;IAC/D,CAAC;CACD,CAAA;AA/BY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,YAAO,GAAE;qCAcqB,wBAAU;QACF,yCAAkB;GAd5C,oBAAoB,CA+BhC"}
1
+ {"version":3,"file":"mcp-protected-resource.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-protected-resource.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAElC,iEAA4D;AAE5D,wDAAoD;AAGvC,QAAA,wBAAwB,GAAG,cAAc,CAAC;AAS1C,QAAA,gBAAgB,GAAa,EAAE,CAAC;AAE7C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAI7C,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAYtC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAYhC,YACkB,UAAsB,EACtB,kBAAsC;QADtC,eAAU,GAAV,UAAU,CAAY;QACtB,uBAAkB,GAAlB,kBAAkB,CAAoB;QAb/C,OAAE,GAAG,gCAAwB,CAAC;QAE9B,WAAM,GAAG,wBAAgB,CAAC;QAO1B,cAAS,GAAG,IAAI,CAAC;IAKvB,CAAC;IAEJ,cAAc;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxE,OAAO,GAAG,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACzC,CAAC;IAED,YAAY;QAGX,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC3B,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAW;QAI1B,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;IACnD,CAAC;CACD,CAAA;AAtCY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,YAAO,GAAE;qCAcqB,wBAAU;QACF,yCAAkB;GAd5C,oBAAoB,CAsChC"}
@@ -18,6 +18,7 @@ const decorators_1 = require("@n8n/decorators");
18
18
  const approve_consent_request_dto_1 = require("./dto/approve-consent-request.dto");
19
19
  const oauth_consent_service_1 = require("./oauth-consent.service");
20
20
  const oauth_session_service_1 = require("./oauth-session.service");
21
+ const forbidden_error_1 = require("../../errors/response-errors/forbidden.error");
21
22
  let OAuthConsentController = class OAuthConsentController {
22
23
  constructor(logger, consentService, oauthSessionService) {
23
24
  this.logger = logger;
@@ -29,14 +30,19 @@ let OAuthConsentController = class OAuthConsentController {
29
30
  const sessionToken = this.getAndValidateSessionToken(req, res);
30
31
  if (!sessionToken)
31
32
  return;
32
- const consentDetails = await this.consentService.getConsentDetails(sessionToken);
33
+ const consentDetails = await this.consentService.getConsentDetails(sessionToken, req.user);
33
34
  if (!consentDetails) {
34
35
  this.sendInvalidSessionError(res, true);
35
36
  return;
36
37
  }
37
38
  if (!consentDetails.ok) {
38
39
  this.oauthSessionService.clearSession(res);
39
- this.sendErrorResponse(res, 422, 'Authorization target is no longer available');
40
+ if (consentDetails.reason === 'forbidden') {
41
+ this.sendErrorResponse(res, 403, 'You do not have sufficient permissions to authorize this request');
42
+ }
43
+ else {
44
+ this.sendErrorResponse(res, 422, 'Authorization target is no longer available');
45
+ }
40
46
  return;
41
47
  }
42
48
  res.json({
@@ -59,7 +65,7 @@ let OAuthConsentController = class OAuthConsentController {
59
65
  const sessionToken = this.getAndValidateSessionToken(req, res);
60
66
  if (!sessionToken)
61
67
  return;
62
- const result = await this.consentService.handleConsentDecision(sessionToken, req.user.id, payload.approved);
68
+ const result = await this.consentService.handleConsentDecision(sessionToken, req.user, payload.approved);
63
69
  this.oauthSessionService.clearSession(res);
64
70
  res.json({
65
71
  data: {
@@ -71,6 +77,10 @@ let OAuthConsentController = class OAuthConsentController {
71
77
  catch (error) {
72
78
  this.logger.error('Failed to process consent', { error });
73
79
  this.oauthSessionService.clearSession(res);
80
+ if (error instanceof forbidden_error_1.ForbiddenError) {
81
+ this.sendErrorResponse(res, 403, 'You do not have sufficient permissions to authorize this request');
82
+ return;
83
+ }
74
84
  const message = error instanceof Error ? error.message : 'Failed to process authorization';
75
85
  this.sendErrorResponse(res, 500, message);
76
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-consent.controller.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-consent.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-consent.controller.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-consent.controller.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Logger } from '@n8n/backend-common';
2
+ import type { User } from '@n8n/db';
2
3
  import { OAuthClientRepository } from './database/repositories/oauth-client.repository';
3
4
  import { UserConsentRepository } from './database/repositories/oauth-user-consent.repository';
4
5
  import { OAuthAuthorizationCodeService } from './oauth-authorization-code.service';
@@ -14,6 +15,9 @@ type ConsentDetailsResult = {
14
15
  } | {
15
16
  ok: false;
16
17
  reason: 'resource_unavailable';
18
+ } | {
19
+ ok: false;
20
+ reason: 'forbidden';
17
21
  };
18
22
  export declare class OAuthConsentService {
19
23
  private readonly logger;
@@ -24,8 +28,8 @@ export declare class OAuthConsentService {
24
28
  private readonly protectedResourceRegistry;
25
29
  private readonly urlService;
26
30
  constructor(logger: Logger, oauthSessionService: OAuthSessionService, oauthClientRepository: OAuthClientRepository, userConsentRepository: UserConsentRepository, authorizationCodeService: OAuthAuthorizationCodeService, protectedResourceRegistry: ProtectedResourceRegistry, urlService: UrlService);
27
- getConsentDetails(sessionToken: string): Promise<ConsentDetailsResult | null>;
28
- handleConsentDecision(sessionToken: string, userId: string, approved: boolean): Promise<{
31
+ getConsentDetails(sessionToken: string, user: User): Promise<ConsentDetailsResult | null>;
32
+ handleConsentDecision(sessionToken: string, user: User, approved: boolean): Promise<{
29
33
  redirectUrl: string;
30
34
  }>;
31
35
  }
@@ -18,6 +18,7 @@ const oauth_user_consent_repository_1 = require("./database/repositories/oauth-u
18
18
  const oauth_authorization_code_service_1 = require("./oauth-authorization-code.service");
19
19
  const oauth_session_service_1 = require("./oauth-session.service");
20
20
  const oauth_helpers_1 = require("./oauth.helpers");
21
+ const forbidden_error_1 = require("../../errors/response-errors/forbidden.error");
21
22
  const protected_resource_registry_1 = require("../../services/protected-resource.registry");
22
23
  const url_service_1 = require("../../services/url.service");
23
24
  let OAuthConsentService = class OAuthConsentService {
@@ -30,7 +31,7 @@ let OAuthConsentService = class OAuthConsentService {
30
31
  this.protectedResourceRegistry = protectedResourceRegistry;
31
32
  this.urlService = urlService;
32
33
  }
33
- async getConsentDetails(sessionToken) {
34
+ async getConsentDetails(sessionToken, user) {
34
35
  try {
35
36
  const sessionPayload = this.oauthSessionService.verifySession(sessionToken);
36
37
  const client = await this.oauthClientRepository.findOne({
@@ -44,6 +45,11 @@ let OAuthConsentService = class OAuthConsentService {
44
45
  if (!resource) {
45
46
  return { ok: false, reason: 'resource_unavailable' };
46
47
  }
48
+ if (!(await resource.authorize(user)))
49
+ return {
50
+ ok: false,
51
+ reason: 'forbidden',
52
+ };
47
53
  return {
48
54
  ok: true,
49
55
  clientName: client.name,
@@ -64,7 +70,7 @@ let OAuthConsentService = class OAuthConsentService {
64
70
  return null;
65
71
  }
66
72
  }
67
- async handleConsentDecision(sessionToken, userId, approved) {
73
+ async handleConsentDecision(sessionToken, user, approved) {
68
74
  let sessionPayload;
69
75
  try {
70
76
  sessionPayload = this.oauthSessionService.verifySession(sessionToken);
@@ -77,20 +83,34 @@ let OAuthConsentService = class OAuthConsentService {
77
83
  const redirectUrl = oauth_helpers_1.OAuthHelpers.buildErrorRedirectUrl(sessionPayload.redirectUri, 'access_denied', 'User denied the authorization request', sessionPayload.state, issuer);
78
84
  this.logger.info('Consent denied', {
79
85
  clientId: sessionPayload.clientId,
80
- userId,
86
+ userId: user.id,
81
87
  });
82
88
  return { redirectUrl };
83
89
  }
90
+ if (sessionPayload.resource) {
91
+ const resource = await this.protectedResourceRegistry.getByResourceUrl(sessionPayload.resource);
92
+ if (!resource) {
93
+ throw new n8n_workflow_1.UserError('Resource is not available for the requested authorization');
94
+ }
95
+ if (!(await resource.authorize(user))) {
96
+ this.logger.warn('User is not authorized for the requested resource', {
97
+ clientId: sessionPayload.clientId,
98
+ userId: user.id,
99
+ resourceUrl: sessionPayload.resource,
100
+ });
101
+ throw new forbidden_error_1.ForbiddenError('User is not authorized for the requested resource');
102
+ }
103
+ }
84
104
  await this.userConsentRepository.upsert({
85
- userId,
105
+ userId: user.id,
86
106
  clientId: sessionPayload.clientId,
87
107
  grantedAt: Date.now(),
88
108
  }, ['userId', 'clientId']);
89
- const code = await this.authorizationCodeService.createAuthorizationCode(sessionPayload.clientId, userId, sessionPayload.redirectUri, sessionPayload.codeChallenge, sessionPayload.state, sessionPayload.resource);
109
+ const code = await this.authorizationCodeService.createAuthorizationCode(sessionPayload.clientId, user.id, sessionPayload.redirectUri, sessionPayload.codeChallenge, sessionPayload.state, sessionPayload.resource);
90
110
  const successRedirectUrl = oauth_helpers_1.OAuthHelpers.buildSuccessRedirectUrl(sessionPayload.redirectUri, code, sessionPayload.state, issuer);
91
111
  this.logger.info('Consent approved', {
92
112
  clientId: sessionPayload.clientId,
93
- userId,
113
+ userId: user.id,
94
114
  });
95
115
  return { redirectUrl: successRedirectUrl };
96
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-consent.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-consent.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-consent.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-consent.service.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@ import { Logger } from '@n8n/backend-common';
4
4
  import { UserRepository } from '@n8n/db';
5
5
  import { AccessTokenRepository } from './database/repositories/oauth-access-token.repository';
6
6
  import { RefreshTokenRepository } from './database/repositories/oauth-refresh-token.repository';
7
+ import { ProtectedResourceRegistry } from '../../services/protected-resource.registry';
7
8
  import { JwtService } from '../../services/jwt.service';
8
9
  import type { OAuthTokenVerifier, UserWithContext } from '../../services/oauth-token-verifier-proxy.service';
9
- import { ProtectedResourceRegistry } from '../../services/protected-resource.registry';
10
10
  export declare class OAuthTokenService implements OAuthTokenVerifier {
11
11
  private readonly logger;
12
12
  private readonly jwtService;
@@ -25,10 +25,13 @@ export declare class OAuthTokenService implements OAuthTokenVerifier {
25
25
  saveTokenPair(accessToken: string, refreshToken: string, clientId: string, userId: string): Promise<void>;
26
26
  validateAndRotateRefreshToken(refreshToken: string, clientId: string, resource?: string): Promise<OAuthTokens>;
27
27
  verifyAccessToken(token: string, expectedAudience?: string): Promise<AuthInfo>;
28
+ private verifyTokenWithAudiences;
28
29
  verifyOAuthAccessToken(token: string, expectedAudience?: string): Promise<UserWithContext>;
29
30
  revokeAccessToken(token: string, clientId: string): Promise<boolean>;
30
31
  revokeRefreshToken(token: string, clientId: string): Promise<boolean>;
31
32
  private getAllowedAudiences;
33
+ private audiencesForResource;
34
+ private getResourceByAudience;
32
35
  private verifyJwtWithAllowedAudiences;
33
36
  private getStringClaim;
34
37
  }
@@ -23,9 +23,9 @@ const oauth_access_token_entity_1 = require("./database/entities/oauth-access-to
23
23
  const oauth_refresh_token_entity_1 = require("./database/entities/oauth-refresh-token.entity");
24
24
  const oauth_access_token_repository_1 = require("./database/repositories/oauth-access-token.repository");
25
25
  const oauth_refresh_token_repository_1 = require("./database/repositories/oauth-refresh-token.repository");
26
+ const protected_resource_registry_1 = require("../../services/protected-resource.registry");
26
27
  const oauth_errors_1 = require("./oauth.errors");
27
28
  const jwt_service_1 = require("../../services/jwt.service");
28
- const protected_resource_registry_1 = require("../../services/protected-resource.registry");
29
29
  let OAuthTokenService = class OAuthTokenService {
30
30
  constructor(logger, jwtService, userRepository, accessTokenRepository, refreshTokenRepository, resourceRegistry) {
31
31
  this.logger = logger;
@@ -120,9 +120,11 @@ let OAuthTokenService = class OAuthTokenService {
120
120
  });
121
121
  }
122
122
  async verifyAccessToken(token, expectedAudience) {
123
+ return await this.verifyTokenWithAudiences(token, await this.getAllowedAudiences(expectedAudience));
124
+ }
125
+ async verifyTokenWithAudiences(token, allowedAudiences) {
123
126
  let decoded;
124
127
  try {
125
- const allowedAudiences = await this.getAllowedAudiences(expectedAudience);
126
128
  decoded = this.verifyJwtWithAllowedAudiences(token, allowedAudiences);
127
129
  }
128
130
  catch (error) {
@@ -150,7 +152,11 @@ let OAuthTokenService = class OAuthTokenService {
150
152
  }
151
153
  async verifyOAuthAccessToken(token, expectedAudience) {
152
154
  try {
153
- const authInfo = await this.verifyAccessToken(token, expectedAudience);
155
+ const resource = await this.getResourceByAudience(expectedAudience);
156
+ if (expectedAudience && !resource) {
157
+ return { user: null, context: { reason: 'insufficient_scope', auth_type: 'oauth' } };
158
+ }
159
+ const authInfo = await this.verifyTokenWithAudiences(token, this.audiencesForResource(resource, expectedAudience));
154
160
  const userId = authInfo.extra && typeof authInfo.extra === 'object'
155
161
  ? this.getStringClaim(authInfo.extra, 'userId')
156
162
  : null;
@@ -164,6 +170,13 @@ let OAuthTokenService = class OAuthTokenService {
164
170
  if (!user) {
165
171
  return { user: null, context: { reason: 'user_not_found', auth_type: 'oauth' } };
166
172
  }
173
+ if (resource && !(await resource.authorize(user))) {
174
+ this.logger.warn('OAuth token denied: user lacks execute access', {
175
+ userId: user.id,
176
+ expectedAudience,
177
+ });
178
+ return { user: null, context: { reason: 'insufficient_scope', auth_type: 'oauth' } };
179
+ }
167
180
  return { user, authType: 'oauth' };
168
181
  }
169
182
  catch (error) {
@@ -206,12 +219,23 @@ let OAuthTokenService = class OAuthTokenService {
206
219
  return revoked;
207
220
  }
208
221
  async getAllowedAudiences(expectedAudience) {
222
+ const resource = expectedAudience
223
+ ? await this.resourceRegistry.getByResourceUrl(expectedAudience)
224
+ : undefined;
225
+ return this.audiencesForResource(resource, expectedAudience);
226
+ }
227
+ audiencesForResource(resource, expectedAudience) {
209
228
  if (expectedAudience) {
210
- const resource = await this.resourceRegistry.getByResourceUrl(expectedAudience);
211
229
  return resource ? resource.getAudiences() : [expectedAudience];
212
230
  }
213
231
  return this.resourceRegistry.getAllAudiences();
214
232
  }
233
+ async getResourceByAudience(expectedAudience) {
234
+ if (!expectedAudience) {
235
+ return this.resourceRegistry.getDefaultResource();
236
+ }
237
+ return await this.resourceRegistry.getByResourceUrl(expectedAudience);
238
+ }
215
239
  verifyJwtWithAllowedAudiences(token, audiences) {
216
240
  try {
217
241
  return this.jwtService.verify(token, {
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-token.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-token.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-token.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-token.service.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,17 @@
1
1
  import type { ProtectedResourceResolver } from '../../../services/protected-resource.registry';
2
2
  import { UrlService } from '../../../services/url.service';
3
3
  import { TestWebhookRegistrationsService } from '../../../webhooks/test-webhook-registrations.service';
4
+ import { WorkflowFinderService } from '../../../workflows/workflow-finder.service';
4
5
  import { Logger } from '@n8n/backend-common';
5
6
  import { GlobalConfig } from '@n8n/config';
7
+ import { User } from '@n8n/db';
6
8
  export declare class WorkflowMcpTestTriggerResourceResolver implements ProtectedResourceResolver {
7
9
  private readonly config;
8
10
  private readonly registrations;
9
11
  private readonly urlService;
10
12
  private readonly logger;
11
- constructor(config: GlobalConfig, registrations: TestWebhookRegistrationsService, urlService: UrlService, logger: Logger);
13
+ private readonly workflowFinderService;
14
+ constructor(config: GlobalConfig, registrations: TestWebhookRegistrationsService, urlService: UrlService, logger: Logger, workflowFinderService: WorkflowFinderService);
12
15
  readonly id = "workflow-mcp-test-trigger";
13
16
  readonly scopes: string[];
14
17
  resolveByUrl(resourceUrl: string): Promise<{
@@ -17,6 +20,7 @@ export declare class WorkflowMcpTestTriggerResourceResolver implements Protected
17
20
  getAudiences: () => string[];
18
21
  scopes: string[];
19
22
  displayName: string;
23
+ authorize: (user: User) => Promise<boolean>;
20
24
  } | undefined>;
21
25
  resolveByPath(pathname: string): Promise<{
22
26
  id: string;
@@ -24,5 +28,6 @@ export declare class WorkflowMcpTestTriggerResourceResolver implements Protected
24
28
  getAudiences: () => string[];
25
29
  scopes: string[];
26
30
  displayName: string;
31
+ authorize: (user: User) => Promise<boolean>;
27
32
  } | undefined>;
28
33
  }
@@ -13,16 +13,18 @@ exports.WorkflowMcpTestTriggerResourceResolver = void 0;
13
13
  const constants_1 = require("../../../constants");
14
14
  const url_service_1 = require("../../../services/url.service");
15
15
  const test_webhook_registrations_service_1 = require("../../../webhooks/test-webhook-registrations.service");
16
+ const workflow_finder_service_1 = require("../../../workflows/workflow-finder.service");
16
17
  const backend_common_1 = require("@n8n/backend-common");
17
18
  const config_1 = require("@n8n/config");
18
19
  const di_1 = require("@n8n/di");
19
20
  const utils_1 = require("./utils");
20
21
  let WorkflowMcpTestTriggerResourceResolver = class WorkflowMcpTestTriggerResourceResolver {
21
- constructor(config, registrations, urlService, logger) {
22
+ constructor(config, registrations, urlService, logger, workflowFinderService) {
22
23
  this.config = config;
23
24
  this.registrations = registrations;
24
25
  this.urlService = urlService;
25
26
  this.logger = logger;
27
+ this.workflowFinderService = workflowFinderService;
26
28
  this.id = 'workflow-mcp-test-trigger';
27
29
  this.scopes = utils_1.WORKFLOW_MCP_TRIGGER_SCOPES;
28
30
  }
@@ -54,13 +56,20 @@ let WorkflowMcpTestTriggerResourceResolver = class WorkflowMcpTestTriggerResourc
54
56
  if (node.type === constants_1.MCP_TRIGGER_NODE_TYPE &&
55
57
  !node.disabled &&
56
58
  node.parameters.authentication === 'n8nOAuth2') {
57
- const resourceUrl = `${(0, utils_1.trimTrailingSlash)(this.urlService.getTestWebhookBaseUrl())}/${this.config.endpoints.mcpTest}/${path}`;
59
+ const resourceUrl = `${(0, utils_1.trimTrailingSlash)(this.urlService.getWebhookBaseUrl())}/${this.config.endpoints.mcpTest}/${path}`;
60
+ const requireExecute = node.parameters.requireExecuteAccess !== false;
58
61
  return {
59
62
  id: 'workflow-mcp-test:' + workflowEntity.id,
60
63
  getResourceUrl: () => resourceUrl,
61
64
  getAudiences: () => [resourceUrl],
62
65
  scopes: utils_1.WORKFLOW_MCP_TRIGGER_SCOPES,
63
66
  displayName: workflowEntity.name,
67
+ authorize: async (user) => {
68
+ if (requireExecute) {
69
+ return (await this.workflowFinderService.findWorkflowIdsWithScopeForUser([workflowEntity.id], user, ['workflow:execute'])).has(workflowEntity.id);
70
+ }
71
+ return true;
72
+ },
64
73
  };
65
74
  }
66
75
  this.logger.debug(`Node with name ${webhook.node} in test registration for workflow with ID: ${workflowEntity.id} is not an enabled MCP trigger with n8nOAuth2 authentication`);
@@ -73,6 +82,7 @@ exports.WorkflowMcpTestTriggerResourceResolver = WorkflowMcpTestTriggerResourceR
73
82
  __metadata("design:paramtypes", [config_1.GlobalConfig,
74
83
  test_webhook_registrations_service_1.TestWebhookRegistrationsService,
75
84
  url_service_1.UrlService,
76
- backend_common_1.Logger])
85
+ backend_common_1.Logger,
86
+ workflow_finder_service_1.WorkflowFinderService])
77
87
  ], WorkflowMcpTestTriggerResourceResolver);
78
88
  //# sourceMappingURL=workflow-mcp-test-trigger-resource.resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-mcp-test-trigger-resource.resolver.js","sourceRoot":"","sources":["../../../../src/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-mcp-test-trigger-resource.resolver.js","sourceRoot":"","sources":["../../../../src/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoD;AAEpD,wDAAoD;AACpD,sGAAgG;AAChG,iFAA4E;AAC5E,wDAA6C;AAC7C,wCAA2C;AAC3C,gCAAkC;AAElC,mCAKiB;AAIV,IAAM,sCAAsC,GAA5C,MAAM,sCAAsC;IAClD,YACkB,MAAoB,EACpB,aAA8C,EAC9C,UAAsB,EACtB,MAAc,EACd,qBAA4C;QAJ5C,WAAM,GAAN,MAAM,CAAc;QACpB,kBAAa,GAAb,aAAa,CAAiC;QAC9C,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAQ;QACd,0BAAqB,GAArB,qBAAqB,CAAuB;QAGrD,OAAE,GAAG,2BAA2B,CAAC;QACjC,WAAM,GAAG,mCAA2B,CAAC;IAH3C,CAAC;IAKJ,KAAK,CAAC,YAAY,CAAC,WAAmB;QACrC,MAAM,QAAQ,GAAG,IAAA,gCAAwB,EAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAChG,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,WAAW,EAAE,CAAC,CAAC;YACpF,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YAEhE,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,IAAI,EAAE,CAAC,CAAC;QAMpF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAChD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACtD,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;YAC1E,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QAEjD,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvE,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,2BAA2B,OAAO,CAAC,IAAI,+CAA+C,cAAc,CAAC,EAAE,EAAE,CACzG,CAAC;YACF,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,IACC,IAAI,CAAC,IAAI,KAAK,iCAAqB;YACnC,CAAC,IAAI,CAAC,QAAQ;YACd,IAAI,CAAC,UAAU,CAAC,cAAc,KAAK,WAAW,EAC7C,CAAC;YACF,MAAM,WAAW,GAAG,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzH,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,KAAK,KAAK,CAAC;YACtE,OAAO;gBACN,EAAE,EAAE,oBAAoB,GAAG,cAAc,CAAC,EAAE;gBAC5C,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;gBACjC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC;gBACjC,MAAM,EAAE,mCAA2B;gBACnC,WAAW,EAAE,cAAc,CAAC,IAAI;gBAChC,SAAS,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;oBAC/B,IAAI,cAAc,EAAE,CAAC;wBACpB,OAAO,CACN,MAAM,IAAI,CAAC,qBAAqB,CAAC,+BAA+B,CAC/D,CAAC,cAAc,CAAC,EAAE,CAAC,EACnB,IAAI,EACJ,CAAC,kBAAkB,CAAC,CACpB,CACD,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAC1B,CAAC;oBACD,OAAO,IAAI,CAAC;gBACb,CAAC;aACD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,kBAAkB,OAAO,CAAC,IAAI,+CAA+C,cAAc,CAAC,EAAE,8DAA8D,CAC5J,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;CACD,CAAA;AAxFY,wFAAsC;iDAAtC,sCAAsC;IADlD,IAAA,YAAO,GAAE;qCAGiB,qBAAY;QACL,oEAA+B;QAClC,wBAAU;QACd,uBAAM;QACS,+CAAqB;GANlD,sCAAsC,CAwFlD"}
@@ -1,16 +1,18 @@
1
1
  import type { ProtectedResourceResolver } from '../../../services/protected-resource.registry';
2
2
  import { UrlService } from '../../../services/url.service';
3
3
  import { WebhookService } from '../../../webhooks/webhook.service';
4
+ import { WorkflowFinderService } from '../../../workflows/workflow-finder.service';
4
5
  import { Logger } from '@n8n/backend-common';
5
6
  import { GlobalConfig } from '@n8n/config';
6
- import { WorkflowRepository } from '@n8n/db';
7
+ import { User, WorkflowRepository } from '@n8n/db';
7
8
  export declare class WorkflowMcpTriggerResourceResolver implements ProtectedResourceResolver {
8
9
  private readonly config;
9
10
  private readonly webhookService;
10
11
  private readonly workflowRepository;
11
12
  private readonly urlService;
12
13
  private readonly logger;
13
- constructor(config: GlobalConfig, webhookService: WebhookService, workflowRepository: WorkflowRepository, urlService: UrlService, logger: Logger);
14
+ private readonly workflowFinderService;
15
+ constructor(config: GlobalConfig, webhookService: WebhookService, workflowRepository: WorkflowRepository, urlService: UrlService, logger: Logger, workflowFinderService: WorkflowFinderService);
14
16
  readonly id = "workflow-mcp-trigger";
15
17
  readonly scopes: string[];
16
18
  resolveByUrl(resourceUrl: string): Promise<{
@@ -19,6 +21,7 @@ export declare class WorkflowMcpTriggerResourceResolver implements ProtectedReso
19
21
  getAudiences: () => string[];
20
22
  scopes: string[];
21
23
  displayName: string;
24
+ authorize: (user: User) => Promise<boolean>;
22
25
  } | undefined>;
23
26
  resolveByPath(pathname: string): Promise<{
24
27
  id: string;
@@ -26,5 +29,6 @@ export declare class WorkflowMcpTriggerResourceResolver implements ProtectedReso
26
29
  getAudiences: () => string[];
27
30
  scopes: string[];
28
31
  displayName: string;
32
+ authorize: (user: User) => Promise<boolean>;
29
33
  } | undefined>;
30
34
  }