n8n 2.46.0 → 2.46.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 (73) hide show
  1. package/dist/auth/auth.service.js +1 -1
  2. package/dist/auth/auth.service.js.map +1 -1
  3. package/dist/build.tsbuildinfo +1 -1
  4. package/dist/credentials-helper.js +14 -8
  5. package/dist/credentials-helper.js.map +1 -1
  6. package/dist/errors/uninspectable-subworkflow-source.error.js +1 -1
  7. package/dist/errors/uninspectable-subworkflow-source.error.js.map +1 -1
  8. package/dist/modules/breaking-changes/rules/v3/edit-image-version.rule.js +8 -12
  9. package/dist/modules/breaking-changes/rules/v3/edit-image-version.rule.js.map +1 -1
  10. package/dist/modules/breaking-changes/rules/v3/node-replacement-rule.d.ts +19 -0
  11. package/dist/modules/breaking-changes/rules/v3/node-replacement-rule.js +53 -0
  12. package/dist/modules/breaking-changes/rules/v3/node-replacement-rule.js.map +1 -0
  13. package/dist/modules/breaking-changes/rules/v3/removed-nodes-with-replacements.rule.d.ts +87 -91
  14. package/dist/modules/breaking-changes/rules/v3/removed-nodes-with-replacements.rule.js +31 -79
  15. package/dist/modules/breaking-changes/rules/v3/removed-nodes-with-replacements.rule.js.map +1 -1
  16. package/dist/modules/breaking-changes/rules/v3/removed-nodes.rule.d.ts +75 -11
  17. package/dist/modules/breaking-changes/rules/v3/removed-nodes.rule.js +96 -59
  18. package/dist/modules/breaking-changes/rules/v3/removed-nodes.rule.js.map +1 -1
  19. package/dist/modules/ldap.ee/constants.d.ts +3 -0
  20. package/dist/modules/ldap.ee/constants.js +4 -0
  21. package/dist/modules/ldap.ee/constants.js.map +1 -1
  22. package/dist/modules/ldap.ee/helpers.ee.d.ts +1 -1
  23. package/dist/modules/ldap.ee/helpers.ee.js +6 -3
  24. package/dist/modules/ldap.ee/helpers.ee.js.map +1 -1
  25. package/dist/modules/ldap.ee/ldap.service.ee.d.ts +4 -1
  26. package/dist/modules/ldap.ee/ldap.service.ee.js +50 -9
  27. package/dist/modules/ldap.ee/ldap.service.ee.js.map +1 -1
  28. package/dist/modules/mcp/mcp.constants.d.ts +1 -0
  29. package/dist/modules/mcp/mcp.constants.js +2 -1
  30. package/dist/modules/mcp/mcp.constants.js.map +1 -1
  31. package/dist/modules/mcp/mcp.service.d.ts +3 -2
  32. package/dist/modules/mcp/mcp.service.js +16 -3
  33. package/dist/modules/mcp/mcp.service.js.map +1 -1
  34. package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.d.ts +6 -3
  35. package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.js +12 -4
  36. package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.js.map +1 -1
  37. package/dist/modules/oauth-server/database/repositories/oauth-grant.repository.d.ts +9 -0
  38. package/dist/modules/oauth-server/database/repositories/oauth-grant.repository.js +75 -0
  39. package/dist/modules/oauth-server/database/repositories/oauth-grant.repository.js.map +1 -0
  40. package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.d.ts +6 -3
  41. package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js +11 -4
  42. package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js.map +1 -1
  43. package/dist/modules/oauth-server/oauth-authorization-code.service.d.ts +3 -2
  44. package/dist/modules/oauth-server/oauth-authorization-code.service.js +5 -7
  45. package/dist/modules/oauth-server/oauth-authorization-code.service.js.map +1 -1
  46. package/dist/modules/oauth-server/oauth-consent.service.d.ts +3 -1
  47. package/dist/modules/oauth-server/oauth-consent.service.js +25 -21
  48. package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
  49. package/dist/modules/oauth-server/oauth-grant.service.d.ts +8 -0
  50. package/dist/modules/oauth-server/oauth-grant.service.js +36 -0
  51. package/dist/modules/oauth-server/oauth-grant.service.js.map +1 -0
  52. package/dist/modules/oauth-server/oauth-server.module.js +12 -0
  53. package/dist/modules/oauth-server/oauth-server.module.js.map +1 -1
  54. package/dist/modules/oauth-server/oauth-server.service.d.ts +3 -1
  55. package/dist/modules/oauth-server/oauth-server.service.js +18 -13
  56. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  57. package/dist/modules/oauth-server/oauth-token.service.d.ts +5 -4
  58. package/dist/modules/oauth-server/oauth-token.service.js +24 -20
  59. package/dist/modules/oauth-server/oauth-token.service.js.map +1 -1
  60. package/dist/modules/oauth-server/oauth.controller.js +20 -1
  61. package/dist/modules/oauth-server/oauth.controller.js.map +1 -1
  62. package/dist/oauth/oauth.service.js +1 -3
  63. package/dist/oauth/oauth.service.js.map +1 -1
  64. package/dist/public-api/v1/openapi.yml +9 -0
  65. package/dist/services/ai-workflow-builder.service.js.map +1 -1
  66. package/dist/services/user-deactivation-hooks.service.d.ts +8 -0
  67. package/dist/services/user-deactivation-hooks.service.js +28 -0
  68. package/dist/services/user-deactivation-hooks.service.js.map +1 -0
  69. package/dist/utils/ai-proxy-fetch.js +0 -1
  70. package/dist/utils/ai-proxy-fetch.js.map +1 -1
  71. package/dist/workflows/workflow.service.ee.js +8 -1
  72. package/dist/workflows/workflow.service.ee.js.map +1 -1
  73. package/package.json +40 -40
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-authorization-code.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-authorization-code.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-authorization-code.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-authorization-code.service.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { OAuthClientRepository } from './database/repositories/oauth-client.repo
5
5
  import { UserConsentRepository } from './database/repositories/oauth-user-consent.repository';
6
6
  import { OAuthAuthorizationCodeService } from './oauth-authorization-code.service';
7
7
  import { OAuthSessionService, type OAuthSessionPayload } from './oauth-session.service';
8
+ import { OAuthGrantService } from './oauth-grant.service';
8
9
  import { UrlService } from '@n8n/backend-services';
9
10
  import { ProtectedResourceRegistry, type ProtectedResource } from '@n8n/backend-services/auth';
10
11
  type ConsentDetailsResult = {
@@ -39,7 +40,8 @@ export declare class OAuthConsentService {
39
40
  private readonly authorizationCodeService;
40
41
  private readonly protectedResourceRegistry;
41
42
  private readonly urlService;
42
- constructor(logger: Logger, oauthSessionService: OAuthSessionService, oauthClientRepository: OAuthClientRepository, userConsentRepository: UserConsentRepository, authorizationCodeService: OAuthAuthorizationCodeService, protectedResourceRegistry: ProtectedResourceRegistry, urlService: UrlService);
43
+ private readonly grantService;
44
+ constructor(logger: Logger, oauthSessionService: OAuthSessionService, oauthClientRepository: OAuthClientRepository, userConsentRepository: UserConsentRepository, authorizationCodeService: OAuthAuthorizationCodeService, protectedResourceRegistry: ProtectedResourceRegistry, urlService: UrlService, grantService: OAuthGrantService);
43
45
  getConsentDetails(sessionToken: string, user: User): Promise<ConsentDetailsResult | null>;
44
46
  private supportedScopesFor;
45
47
  private grantableScopes;
@@ -17,12 +17,13 @@ const oauth_client_repository_1 = require("./database/repositories/oauth-client.
17
17
  const oauth_user_consent_repository_1 = require("./database/repositories/oauth-user-consent.repository");
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
+ const oauth_grant_service_1 = require("./oauth-grant.service");
20
21
  const oauth_helpers_1 = require("./oauth.helpers");
21
22
  const errors_1 = require("@n8n/errors");
22
23
  const backend_services_1 = require("@n8n/backend-services");
23
24
  const auth_1 = require("@n8n/backend-services/auth");
24
25
  let OAuthConsentService = class OAuthConsentService {
25
- constructor(logger, oauthSessionService, oauthClientRepository, userConsentRepository, authorizationCodeService, protectedResourceRegistry, urlService) {
26
+ constructor(logger, oauthSessionService, oauthClientRepository, userConsentRepository, authorizationCodeService, protectedResourceRegistry, urlService, grantService) {
26
27
  this.logger = logger;
27
28
  this.oauthSessionService = oauthSessionService;
28
29
  this.oauthClientRepository = oauthClientRepository;
@@ -30,6 +31,7 @@ let OAuthConsentService = class OAuthConsentService {
30
31
  this.authorizationCodeService = authorizationCodeService;
31
32
  this.protectedResourceRegistry = protectedResourceRegistry;
32
33
  this.urlService = urlService;
34
+ this.grantService = grantService;
33
35
  }
34
36
  async getConsentDetails(sessionToken, user) {
35
37
  try {
@@ -159,21 +161,18 @@ let OAuthConsentService = class OAuthConsentService {
159
161
  });
160
162
  throw new errors_1.ForbiddenError('User is not authorized for the requested resource');
161
163
  }
162
- async issueGrant(user, sessionPayload, grantedScopes) {
163
- const issuer = this.urlService.getInstanceBaseUrl();
164
- await this.userConsentRepository.upsert({
165
- userId: user.id,
166
- clientId: sessionPayload.clientId,
167
- grantedAt: Date.now(),
168
- scope: grantedScopes,
169
- }, ['userId', 'clientId']);
170
- const code = await this.authorizationCodeService.createAuthorizationCode(sessionPayload.clientId, user.id, sessionPayload.redirectUri, sessionPayload.codeChallenge, sessionPayload.state, sessionPayload.resource, grantedScopes);
171
- const successRedirectUrl = oauth_helpers_1.OAuthHelpers.buildSuccessRedirectUrl(sessionPayload.redirectUri, code, sessionPayload.state, issuer);
172
- this.logger.info('Consent approved', {
173
- clientId: sessionPayload.clientId,
174
- userId: user.id,
175
- });
176
- return { redirectUrl: successRedirectUrl };
164
+ async issueGrant(user, sessionPayload, grantedScopes, ctx = {}) {
165
+ return await this.grantService.runForActiveUser(user.id, async (ctx) => {
166
+ const issuer = this.urlService.getInstanceBaseUrl();
167
+ await this.userConsentRepository.saveGrant(user.id, sessionPayload.clientId, grantedScopes, ctx);
168
+ const code = await this.authorizationCodeService.createAuthorizationCode(sessionPayload.clientId, user.id, sessionPayload.redirectUri, sessionPayload.codeChallenge, sessionPayload.state, sessionPayload.resource, grantedScopes, ctx);
169
+ const successRedirectUrl = oauth_helpers_1.OAuthHelpers.buildSuccessRedirectUrl(sessionPayload.redirectUri, code, sessionPayload.state, issuer);
170
+ this.logger.info('Consent approved', {
171
+ clientId: sessionPayload.clientId,
172
+ userId: user.id,
173
+ });
174
+ return { redirectUrl: successRedirectUrl };
175
+ }, ctx);
177
176
  }
178
177
  async resolveGrantedScopes(sessionPayload, scopes, user) {
179
178
  const resource = sessionPayload.resource
@@ -200,9 +199,7 @@ let OAuthConsentService = class OAuthConsentService {
200
199
  (await this.protectedResourceRegistry.getByResourceUrl(sessionPayload.resource));
201
200
  if (!resource?.isFirstParty)
202
201
  return null;
203
- const consent = await this.userConsentRepository.findOne({
204
- where: { clientId: sessionPayload.clientId, userId: user.id },
205
- });
202
+ const consent = await this.userConsentRepository.findGrant(user.id, sessionPayload.clientId, {});
206
203
  if (!consent) {
207
204
  return null;
208
205
  }
@@ -223,12 +220,19 @@ let OAuthConsentService = class OAuthConsentService {
223
220
  });
224
221
  return null;
225
222
  }
226
- return await this.issueGrant(user, sessionPayload, consented);
223
+ return await this.grantService.runForActiveUser(user.id, async (ctx) => {
224
+ const currentConsent = await this.userConsentRepository.findGrant(user.id, sessionPayload.clientId, ctx);
225
+ if (!currentConsent ||
226
+ currentConsent.id !== consent.id ||
227
+ currentConsent.grantedAt !== consent.grantedAt)
228
+ return null;
229
+ return await this.issueGrant(user, sessionPayload, consented, ctx);
230
+ });
227
231
  }
228
232
  };
229
233
  exports.OAuthConsentService = OAuthConsentService;
230
234
  exports.OAuthConsentService = OAuthConsentService = __decorate([
231
235
  (0, di_1.Service)(),
232
- __metadata("design:paramtypes", [backend_common_1.Logger, oauth_session_service_1.OAuthSessionService, oauth_client_repository_1.OAuthClientRepository, oauth_user_consent_repository_1.UserConsentRepository, oauth_authorization_code_service_1.OAuthAuthorizationCodeService, auth_1.ProtectedResourceRegistry, backend_services_1.UrlService])
236
+ __metadata("design:paramtypes", [backend_common_1.Logger, oauth_session_service_1.OAuthSessionService, oauth_client_repository_1.OAuthClientRepository, oauth_user_consent_repository_1.UserConsentRepository, oauth_authorization_code_service_1.OAuthAuthorizationCodeService, auth_1.ProtectedResourceRegistry, backend_services_1.UrlService, oauth_grant_service_1.OAuthGrantService])
233
237
  ], OAuthConsentService);
234
238
  //# sourceMappingURL=oauth-consent.service.js.map
@@ -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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"}
@@ -0,0 +1,8 @@
1
+ import { TransactionRunner, type OperationContext } from '@n8n/db';
2
+ import { OAuthGrantRepository } from './database/repositories/oauth-grant.repository';
3
+ export declare class OAuthGrantService {
4
+ private readonly txRunner;
5
+ private readonly grantRepository;
6
+ constructor(txRunner: TransactionRunner, grantRepository: OAuthGrantRepository);
7
+ runForActiveUser<T>(userId: string, work: (ctx: OperationContext) => Promise<T>, ctx?: OperationContext): Promise<T>;
8
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OAuthGrantService = void 0;
13
+ const errors_js_1 = require("@modelcontextprotocol/sdk/server/auth/errors.js");
14
+ const db_1 = require("@n8n/db");
15
+ const di_1 = require("@n8n/di");
16
+ const oauth_grant_repository_1 = require("./database/repositories/oauth-grant.repository");
17
+ let OAuthGrantService = class OAuthGrantService {
18
+ constructor(txRunner, grantRepository) {
19
+ this.txRunner = txRunner;
20
+ this.grantRepository = grantRepository;
21
+ }
22
+ async runForActiveUser(userId, work, ctx = {}) {
23
+ return await this.txRunner.run(ctx, async (ctx) => {
24
+ const user = await this.grantRepository.lockUserForGrant(userId, ctx);
25
+ if (!user || user.disabled)
26
+ throw new errors_js_1.InvalidGrantError('Invalid authorization grant');
27
+ return await work(ctx);
28
+ });
29
+ }
30
+ };
31
+ exports.OAuthGrantService = OAuthGrantService;
32
+ exports.OAuthGrantService = OAuthGrantService = __decorate([
33
+ (0, di_1.Service)(),
34
+ __metadata("design:paramtypes", [db_1.TransactionRunner, oauth_grant_repository_1.OAuthGrantRepository])
35
+ ], OAuthGrantService);
36
+ //# sourceMappingURL=oauth-grant.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-grant.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-grant.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAoF;AACpF,gCAAmE;AACnE,gCAAkC;AAElC,2FAAsF;AAG/E,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC7B,YACkB,QAA2B,EAC3B,eAAqC;wBADrC,QAAQ;+BACR,eAAe;IAC9B,CAAC;IAEJ,KAAK,CAAC,gBAAgB,CACrB,MAAc,EACd,IAA2C,EAC3C,GAAG,GAAqB,EAAE;QAE1B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,6BAAiB,CAAC,6BAA6B,CAAC,CAAC;YACvF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;;4BAjBY,iBAAiB;IAD7B,IAAA,YAAO,GAAE;qCAGmB,sBAAiB,EACV,6CAAoB;GAH3C,iBAAiB,CAiB7B"}
@@ -7,13 +7,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.OAuthServerModule = void 0;
10
+ const backend_common_1 = require("@n8n/backend-common");
10
11
  const decorators_1 = require("@n8n/decorators");
11
12
  const di_1 = require("@n8n/di");
12
13
  const n8n_core_1 = require("n8n-core");
13
14
  let OAuthServerModule = class OAuthServerModule {
14
15
  async init() {
15
16
  const { instanceType } = di_1.Container.get(n8n_core_1.InstanceSettings);
17
+ const { OAuthGrantRepository } = await import('./database/repositories/oauth-grant.repository.js');
18
+ const { UserDeactivationHooks } = await import('../../services/user-deactivation-hooks.service.js');
19
+ const grants = di_1.Container.get(OAuthGrantRepository);
20
+ di_1.Container.get(UserDeactivationHooks).register('oauth-server', async (userId, ctx) => {
21
+ await grants.deleteUserGrants(userId, ctx);
22
+ });
16
23
  if (instanceType === 'main') {
24
+ await grants.deleteGrantsForDisabledUsers().catch((error) => {
25
+ di_1.Container.get(backend_common_1.Logger).error('Failed to clean up OAuth grants for disabled users', {
26
+ error,
27
+ });
28
+ });
17
29
  await import('./oauth.controller.js');
18
30
  await import('./oauth-consent.controller.js');
19
31
  await import('./oauth-clients.controller.js');
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-server.module.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-server.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-server.module.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-server.module.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ import { UserConsentRepository } from './database/repositories/oauth-user-consen
17
17
  import { OAuthAuthorizationCodeService } from './oauth-authorization-code.service';
18
18
  import { OAuthConsentService } from './oauth-consent.service';
19
19
  import { OAuthSessionService } from './oauth-session.service';
20
+ import { OAuthGrantService } from './oauth-grant.service';
20
21
  import { OAuthTokenService } from './oauth-token.service';
21
22
  export type ConnectedOAuthClientOwner = {
22
23
  id: string;
@@ -56,7 +57,8 @@ export declare class OAuthServerService implements OAuthServerProvider {
56
57
  private readonly eventService;
57
58
  private readonly authService;
58
59
  private readonly oauthConsentService;
59
- constructor(logger: Logger, globalConfig: GlobalConfig, oauthSessionService: OAuthSessionService, oauthClientRepository: OAuthClientRepository, tokenService: OAuthTokenService, authorizationCodeService: OAuthAuthorizationCodeService, userConsentRepository: UserConsentRepository, resourceRegistry: ProtectedResourceRegistry, mailer: UserManagementMailer, urlService: UrlService, eventService: EventService, authService: AuthService, oauthConsentService: OAuthConsentService);
60
+ private readonly grantService;
61
+ constructor(logger: Logger, globalConfig: GlobalConfig, oauthSessionService: OAuthSessionService, oauthClientRepository: OAuthClientRepository, tokenService: OAuthTokenService, authorizationCodeService: OAuthAuthorizationCodeService, userConsentRepository: UserConsentRepository, resourceRegistry: ProtectedResourceRegistry, mailer: UserManagementMailer, urlService: UrlService, eventService: EventService, authService: AuthService, oauthConsentService: OAuthConsentService, grantService: OAuthGrantService);
60
62
  get clientsStore(): OAuthRegisteredClientsStore;
61
63
  isClientLimitReached(): Promise<boolean>;
62
64
  getInstanceClientStats(): Promise<{
@@ -28,6 +28,7 @@ const oauth_user_consent_repository_1 = require("./database/repositories/oauth-u
28
28
  const oauth_authorization_code_service_1 = require("./oauth-authorization-code.service");
29
29
  const oauth_consent_service_1 = require("./oauth-consent.service");
30
30
  const oauth_session_service_1 = require("./oauth-session.service");
31
+ const oauth_grant_service_1 = require("./oauth-grant.service");
31
32
  const oauth_token_service_1 = require("./oauth-token.service");
32
33
  const oauth_errors_1 = require("./oauth.errors");
33
34
  const resource_identity_1 = require("./resource-identity");
@@ -59,7 +60,7 @@ function sortOwners(owners) {
59
60
  }
60
61
  const MAX_REDIRECT_URI_LENGTH = 2048;
61
62
  let OAuthServerService = class OAuthServerService {
62
- constructor(logger, globalConfig, oauthSessionService, oauthClientRepository, tokenService, authorizationCodeService, userConsentRepository, resourceRegistry, mailer, urlService, eventService, authService, oauthConsentService) {
63
+ constructor(logger, globalConfig, oauthSessionService, oauthClientRepository, tokenService, authorizationCodeService, userConsentRepository, resourceRegistry, mailer, urlService, eventService, authService, oauthConsentService, grantService) {
63
64
  this.logger = logger;
64
65
  this.globalConfig = globalConfig;
65
66
  this.oauthSessionService = oauthSessionService;
@@ -73,6 +74,7 @@ let OAuthServerService = class OAuthServerService {
73
74
  this.eventService = eventService;
74
75
  this.authService = authService;
75
76
  this.oauthConsentService = oauthConsentService;
77
+ this.grantService = grantService;
76
78
  }
77
79
  get clientsStore() {
78
80
  return {
@@ -322,13 +324,22 @@ let OAuthServerService = class OAuthServerService {
322
324
  (await (0, resource_identity_1.isSameProtectedResource)(this.resourceRegistry, tokenResource, approvedResource)))) {
323
325
  throw new InvalidResourceIndicatorError(tokenResource, approvedResource ?? 'none');
324
326
  }
325
- await this.authorizationCodeService.markAuthorizationCodeAsUsed(authorizationCode);
326
- const grantedScopes = authRecord.scope;
327
- const { accessToken, refreshToken, audience } = this.tokenService.generateTokenPair(authRecord.userId, client.client_id, approvedResource, grantedScopes);
328
- await this.tokenService.saveTokenPair(accessToken, refreshToken, client.client_id, authRecord.userId, grantedScopes, audience);
329
327
  const grantedResource = approvedResource
330
328
  ? await this.resourceRegistry.getByResourceUrl(approvedResource)
331
329
  : this.resourceRegistry.getDefaultResource();
330
+ const tokens = await this.grantService.runForActiveUser(authRecord.userId, async (ctx) => {
331
+ await this.authorizationCodeService.markAuthorizationCodeAsUsed(authorizationCode, ctx);
332
+ const grantedScopes = authRecord.scope;
333
+ const { accessToken, refreshToken, audience } = this.tokenService.generateTokenPair(authRecord.userId, client.client_id, approvedResource, grantedScopes);
334
+ await this.tokenService.saveTokenPair(accessToken, refreshToken, client.client_id, authRecord.userId, grantedScopes, audience, ctx);
335
+ return {
336
+ access_token: accessToken,
337
+ token_type: 'Bearer',
338
+ expires_in: this.tokenService.getAccessTokenExpirySeconds(),
339
+ refresh_token: refreshToken,
340
+ scope: grantedScopes.join(' '),
341
+ };
342
+ });
332
343
  if (grantedResource?.id === constants_1.INSTANCE_MCP_RESOURCE_ID) {
333
344
  this.eventService.emit('mcp-oauth-completed', {
334
345
  userId: authRecord.userId,
@@ -340,13 +351,7 @@ let OAuthServerService = class OAuthServerService {
340
351
  clientId: client.client_id,
341
352
  userId: authRecord.userId,
342
353
  });
343
- return {
344
- access_token: accessToken,
345
- token_type: 'Bearer',
346
- expires_in: this.tokenService.getAccessTokenExpirySeconds(),
347
- refresh_token: refreshToken,
348
- scope: grantedScopes.join(' '),
349
- };
354
+ return tokens;
350
355
  }
351
356
  async exchangeRefreshToken(client, refreshToken, _scopes, resource) {
352
357
  const resourceStr = resource?.toString();
@@ -527,7 +532,7 @@ let OAuthServerService = class OAuthServerService {
527
532
  exports.OAuthServerService = OAuthServerService;
528
533
  exports.OAuthServerService = OAuthServerService = __decorate([
529
534
  (0, di_1.Service)(),
530
- __metadata("design:paramtypes", [backend_common_1.Logger, config_1.GlobalConfig, oauth_session_service_1.OAuthSessionService, oauth_client_repository_1.OAuthClientRepository, oauth_token_service_1.OAuthTokenService, oauth_authorization_code_service_1.OAuthAuthorizationCodeService, oauth_user_consent_repository_1.UserConsentRepository, auth_1.ProtectedResourceRegistry, email_1.UserManagementMailer, backend_services_1.UrlService, backend_services_1.EventService, auth_service_1.AuthService, oauth_consent_service_1.OAuthConsentService])
535
+ __metadata("design:paramtypes", [backend_common_1.Logger, config_1.GlobalConfig, oauth_session_service_1.OAuthSessionService, oauth_client_repository_1.OAuthClientRepository, oauth_token_service_1.OAuthTokenService, oauth_authorization_code_service_1.OAuthAuthorizationCodeService, oauth_user_consent_repository_1.UserConsentRepository, auth_1.ProtectedResourceRegistry, email_1.UserManagementMailer, backend_services_1.UrlService, backend_services_1.EventService, auth_service_1.AuthService, oauth_consent_service_1.OAuthConsentService, oauth_grant_service_1.OAuthGrantService])
531
536
  ], OAuthServerService);
532
537
  class InvalidResourceIndicatorError extends errors_js_1.InvalidTargetError {
533
538
  constructor(resource, expectedResource) {
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-server.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-server.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-server.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-server.service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
2
2
  import { OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
3
3
  import { Logger } from '@n8n/backend-common';
4
- import { TransactionRunner, UserRepository } from '@n8n/db';
4
+ import { UserRepository, type OperationContext } from '@n8n/db';
5
5
  import type { OAuthResourceGrant } from 'n8n-workflow';
6
6
  import { JwtService, UrlService } from '@n8n/backend-services';
7
7
  import { type OAuthTokenVerifier, type UserWithContext, ProtectedResourceRegistry } from '@n8n/backend-services/auth';
@@ -9,6 +9,7 @@ import { WorkflowFinderService } from '../../workflows/workflow-finder.service';
9
9
  import { AccessTokenRepository } from './database/repositories/oauth-access-token.repository';
10
10
  import { RefreshTokenRepository } from './database/repositories/oauth-refresh-token.repository';
11
11
  import { OAuthSigningKeyService } from './oauth-signing-key.service';
12
+ import { OAuthGrantService } from './oauth-grant.service';
12
13
  export declare class OAuthTokenService implements OAuthTokenVerifier {
13
14
  private readonly logger;
14
15
  private readonly jwtService;
@@ -16,20 +17,20 @@ export declare class OAuthTokenService implements OAuthTokenVerifier {
16
17
  private readonly accessTokenRepository;
17
18
  private readonly refreshTokenRepository;
18
19
  private readonly resourceRegistry;
19
- private readonly txRunner;
20
20
  private readonly workflowFinderService;
21
21
  private readonly urlService;
22
22
  private readonly signingKeyService;
23
+ private readonly grantService;
23
24
  private readonly ACCESS_TOKEN_EXPIRY_SECONDS;
24
25
  private readonly REFRESH_TOKEN_EXPIRY_MS;
25
- constructor(logger: Logger, jwtService: JwtService, userRepository: UserRepository, accessTokenRepository: AccessTokenRepository, refreshTokenRepository: RefreshTokenRepository, resourceRegistry: ProtectedResourceRegistry, txRunner: TransactionRunner, workflowFinderService: WorkflowFinderService, urlService: UrlService, signingKeyService: OAuthSigningKeyService);
26
+ constructor(logger: Logger, jwtService: JwtService, userRepository: UserRepository, accessTokenRepository: AccessTokenRepository, refreshTokenRepository: RefreshTokenRepository, resourceRegistry: ProtectedResourceRegistry, workflowFinderService: WorkflowFinderService, urlService: UrlService, signingKeyService: OAuthSigningKeyService, grantService: OAuthGrantService);
26
27
  getAccessTokenExpirySeconds(): number;
27
28
  generateTokenPair(userId: string, clientId: string, resource: string | undefined, scopes: string[]): {
28
29
  accessToken: string;
29
30
  refreshToken: string;
30
31
  audience: string;
31
32
  };
32
- saveTokenPair(accessToken: string, refreshToken: string, clientId: string, userId: string, scopes: string[], resource: string): Promise<void>;
33
+ saveTokenPair(accessToken: string, refreshToken: string, clientId: string, userId: string, scopes: string[], resource: string, ctx?: OperationContext): Promise<void>;
33
34
  validateAndRotateRefreshToken(refreshToken: string, clientId: string, resource?: string): Promise<OAuthTokens>;
34
35
  verifyAccessToken(token: string, expectedAudience?: string): Promise<AuthInfo>;
35
36
  private verifyTokenWithAudiences;
@@ -29,18 +29,19 @@ const oauth_signing_key_constants_1 = require("./oauth-signing-key.constants");
29
29
  const oauth_signing_key_service_1 = require("./oauth-signing-key.service");
30
30
  const oauth_errors_1 = require("./oauth.errors");
31
31
  const resource_identity_1 = require("./resource-identity");
32
+ const oauth_grant_service_1 = require("./oauth-grant.service");
32
33
  let OAuthTokenService = class OAuthTokenService {
33
- constructor(logger, jwtService, userRepository, accessTokenRepository, refreshTokenRepository, resourceRegistry, txRunner, workflowFinderService, urlService, signingKeyService) {
34
+ constructor(logger, jwtService, userRepository, accessTokenRepository, refreshTokenRepository, resourceRegistry, workflowFinderService, urlService, signingKeyService, grantService) {
34
35
  this.logger = logger;
35
36
  this.jwtService = jwtService;
36
37
  this.userRepository = userRepository;
37
38
  this.accessTokenRepository = accessTokenRepository;
38
39
  this.refreshTokenRepository = refreshTokenRepository;
39
40
  this.resourceRegistry = resourceRegistry;
40
- this.txRunner = txRunner;
41
41
  this.workflowFinderService = workflowFinderService;
42
42
  this.urlService = urlService;
43
43
  this.signingKeyService = signingKeyService;
44
+ this.grantService = grantService;
44
45
  this.ACCESS_TOKEN_EXPIRY_SECONDS = oauth_signing_key_constants_1.OAUTH_ACCESS_TOKEN_TTL_SECONDS;
45
46
  this.REFRESH_TOKEN_EXPIRY_MS = 30 * constants_1.Time.days.toMilliseconds;
46
47
  }
@@ -64,8 +65,8 @@ let OAuthTokenService = class OAuthTokenService {
64
65
  const refreshToken = (0, node_crypto_1.randomBytes)(32).toString('hex');
65
66
  return { accessToken, refreshToken, audience };
66
67
  }
67
- async saveTokenPair(accessToken, refreshToken, clientId, userId, scopes, resource) {
68
- await this.txRunner.run({}, async (ctx) => {
68
+ async saveTokenPair(accessToken, refreshToken, clientId, userId, scopes, resource, ctx = {}) {
69
+ await this.grantService.runForActiveUser(userId, async (ctx) => {
69
70
  await this.accessTokenRepository.insertToken({ token: accessToken, clientId, userId }, ctx);
70
71
  await this.refreshTokenRepository.insertToken({
71
72
  token: refreshToken,
@@ -75,24 +76,24 @@ let OAuthTokenService = class OAuthTokenService {
75
76
  scope: scopes,
76
77
  resource,
77
78
  }, ctx);
78
- });
79
+ }, ctx);
79
80
  }
80
81
  async validateAndRotateRefreshToken(refreshToken, clientId, resource) {
81
- return await this.txRunner.run({}, async (ctx) => {
82
+ const refreshTokenRecord = await this.refreshTokenRepository.findByToken(refreshToken, clientId, {});
83
+ if (!refreshTokenRecord) {
84
+ throw new errors_js_1.InvalidGrantError('Invalid refresh token');
85
+ }
86
+ const grantedResource = refreshTokenRecord.resource;
87
+ if (resource &&
88
+ !(await (0, resource_identity_1.isSameProtectedResource)(this.resourceRegistry, resource, grantedResource))) {
89
+ this.logger.warn('Refresh token request denied: resource is outside the grant', {
90
+ clientId,
91
+ userId: refreshTokenRecord.userId,
92
+ });
93
+ throw new errors_js_1.InvalidTargetError('Requested resource is not part of this grant');
94
+ }
95
+ return await this.grantService.runForActiveUser(refreshTokenRecord.userId, async (ctx) => {
82
96
  const now = Date.now();
83
- const refreshTokenRecord = await this.refreshTokenRepository.findByToken(refreshToken, clientId, ctx);
84
- if (!refreshTokenRecord) {
85
- throw new errors_js_1.InvalidGrantError('Invalid refresh token');
86
- }
87
- const grantedResource = refreshTokenRecord.resource;
88
- if (resource &&
89
- !(await (0, resource_identity_1.isSameProtectedResource)(this.resourceRegistry, resource, grantedResource))) {
90
- this.logger.warn('Refresh token request denied: resource is outside the grant', {
91
- clientId,
92
- userId: refreshTokenRecord.userId,
93
- });
94
- throw new errors_js_1.InvalidTargetError('Requested resource is not part of this grant');
95
- }
96
97
  const numAffected = await this.refreshTokenRepository.deleteValidByToken(refreshToken, clientId, now, ctx);
97
98
  if (numAffected < 1) {
98
99
  throw new errors_js_1.InvalidGrantError('Invalid refresh token');
@@ -184,6 +185,9 @@ let OAuthTokenService = class OAuthTokenService {
184
185
  if (!user) {
185
186
  return { user: null, context: { reason: 'user_not_found', auth_type: 'oauth' } };
186
187
  }
188
+ if (user.disabled) {
189
+ return { user: null, context: { reason: 'user_disabled', auth_type: 'oauth' } };
190
+ }
187
191
  if (!(await this.isAuthorized(user, resource, grant))) {
188
192
  this.logger.warn('OAuth token denied: user lacks execute access', {
189
193
  userId: user.id,
@@ -308,6 +312,6 @@ let OAuthTokenService = class OAuthTokenService {
308
312
  exports.OAuthTokenService = OAuthTokenService;
309
313
  exports.OAuthTokenService = OAuthTokenService = __decorate([
310
314
  (0, di_1.Service)(),
311
- __metadata("design:paramtypes", [backend_common_1.Logger, backend_services_1.JwtService, db_1.UserRepository, oauth_access_token_repository_1.AccessTokenRepository, oauth_refresh_token_repository_1.RefreshTokenRepository, auth_1.ProtectedResourceRegistry, db_1.TransactionRunner, workflow_finder_service_1.WorkflowFinderService, backend_services_1.UrlService, oauth_signing_key_service_1.OAuthSigningKeyService])
315
+ __metadata("design:paramtypes", [backend_common_1.Logger, backend_services_1.JwtService, db_1.UserRepository, oauth_access_token_repository_1.AccessTokenRepository, oauth_refresh_token_repository_1.RefreshTokenRepository, auth_1.ProtectedResourceRegistry, workflow_finder_service_1.WorkflowFinderService, backend_services_1.UrlService, oauth_signing_key_service_1.OAuthSigningKeyService, oauth_grant_service_1.OAuthGrantService])
312
316
  ], OAuthTokenService);
313
317
  //# sourceMappingURL=oauth-token.service.js.map