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.
- package/dist/auth/auth.service.js +1 -1
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/credentials-helper.js +14 -8
- package/dist/credentials-helper.js.map +1 -1
- package/dist/errors/uninspectable-subworkflow-source.error.js +1 -1
- package/dist/errors/uninspectable-subworkflow-source.error.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/edit-image-version.rule.js +8 -12
- package/dist/modules/breaking-changes/rules/v3/edit-image-version.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/node-replacement-rule.d.ts +19 -0
- package/dist/modules/breaking-changes/rules/v3/node-replacement-rule.js +53 -0
- package/dist/modules/breaking-changes/rules/v3/node-replacement-rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v3/removed-nodes-with-replacements.rule.d.ts +87 -91
- package/dist/modules/breaking-changes/rules/v3/removed-nodes-with-replacements.rule.js +31 -79
- package/dist/modules/breaking-changes/rules/v3/removed-nodes-with-replacements.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/removed-nodes.rule.d.ts +75 -11
- package/dist/modules/breaking-changes/rules/v3/removed-nodes.rule.js +96 -59
- package/dist/modules/breaking-changes/rules/v3/removed-nodes.rule.js.map +1 -1
- package/dist/modules/ldap.ee/constants.d.ts +3 -0
- package/dist/modules/ldap.ee/constants.js +4 -0
- package/dist/modules/ldap.ee/constants.js.map +1 -1
- package/dist/modules/ldap.ee/helpers.ee.d.ts +1 -1
- package/dist/modules/ldap.ee/helpers.ee.js +6 -3
- package/dist/modules/ldap.ee/helpers.ee.js.map +1 -1
- package/dist/modules/ldap.ee/ldap.service.ee.d.ts +4 -1
- package/dist/modules/ldap.ee/ldap.service.ee.js +50 -9
- package/dist/modules/ldap.ee/ldap.service.ee.js.map +1 -1
- package/dist/modules/mcp/mcp.constants.d.ts +1 -0
- package/dist/modules/mcp/mcp.constants.js +2 -1
- package/dist/modules/mcp/mcp.constants.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +3 -2
- package/dist/modules/mcp/mcp.service.js +16 -3
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.d.ts +6 -3
- package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.js +12 -4
- package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.js.map +1 -1
- package/dist/modules/oauth-server/database/repositories/oauth-grant.repository.d.ts +9 -0
- package/dist/modules/oauth-server/database/repositories/oauth-grant.repository.js +75 -0
- package/dist/modules/oauth-server/database/repositories/oauth-grant.repository.js.map +1 -0
- package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.d.ts +6 -3
- package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js +11 -4
- package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js.map +1 -1
- package/dist/modules/oauth-server/oauth-authorization-code.service.d.ts +3 -2
- package/dist/modules/oauth-server/oauth-authorization-code.service.js +5 -7
- package/dist/modules/oauth-server/oauth-authorization-code.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth-consent.service.d.ts +3 -1
- package/dist/modules/oauth-server/oauth-consent.service.js +25 -21
- package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth-grant.service.d.ts +8 -0
- package/dist/modules/oauth-server/oauth-grant.service.js +36 -0
- package/dist/modules/oauth-server/oauth-grant.service.js.map +1 -0
- package/dist/modules/oauth-server/oauth-server.module.js +12 -0
- package/dist/modules/oauth-server/oauth-server.module.js.map +1 -1
- package/dist/modules/oauth-server/oauth-server.service.d.ts +3 -1
- package/dist/modules/oauth-server/oauth-server.service.js +18 -13
- package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth-token.service.d.ts +5 -4
- package/dist/modules/oauth-server/oauth-token.service.js +24 -20
- package/dist/modules/oauth-server/oauth-token.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth.controller.js +20 -1
- package/dist/modules/oauth-server/oauth.controller.js.map +1 -1
- package/dist/oauth/oauth.service.js +1 -3
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +9 -0
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/user-deactivation-hooks.service.d.ts +8 -0
- package/dist/services/user-deactivation-hooks.service.js +28 -0
- package/dist/services/user-deactivation-hooks.service.js.map +1 -0
- package/dist/utils/ai-proxy-fetch.js +0 -1
- package/dist/utils/ai-proxy-fetch.js.map +1 -1
- package/dist/workflows/workflow.service.ee.js +8 -1
- package/dist/workflows/workflow.service.ee.js.map +1 -1
- 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":";;;;;;;;;;;;AAAA,+EAAoF;AACpF,8CAAsC;
|
|
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
|
-
|
|
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
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
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.
|
|
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.
|
|
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":";;;;;;;;;;;;AACA,wDAA6C;AAE7C,gCAAkC;AAClC,+CAAyC;AAEzC,6FAAwF;AACxF,yGAA8F;AAC9F,yFAAmF;AACnF,mEAAwF;AACxF,mDAA+C;AAC/C,wCAA6C;AAC7C,4DAAmD;AACnD,qDAA+F;AAwCxF,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC/B,YACkB,MAAc,EACd,mBAAwC,EACxC,qBAA4C,EAC5C,qBAA4C,EAC5C,wBAAuD,EACvD,yBAAoD,EACpD,UAAsB;
|
|
1
|
+
{"version":3,"file":"oauth-consent.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-consent.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wDAA6C;AAE7C,gCAAkC;AAClC,+CAAyC;AAEzC,6FAAwF;AACxF,yGAA8F;AAC9F,yFAAmF;AACnF,mEAAwF;AACxF,+DAA0D;AAC1D,mDAA+C;AAC/C,wCAA6C;AAC7C,4DAAmD;AACnD,qDAA+F;AAwCxF,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC/B,YACkB,MAAc,EACd,mBAAwC,EACxC,qBAA4C,EAC5C,qBAA4C,EAC5C,wBAAuD,EACvD,yBAAoD,EACpD,UAAsB,EACtB,YAA+B;sBAP/B,MAAM;mCACN,mBAAmB;qCACnB,qBAAqB;qCACrB,qBAAqB;wCACrB,wBAAwB;yCACxB,yBAAyB;0BACzB,UAAU;4BACV,YAAY;IAC3B,CAAC;IAMJ,KAAK,CAAC,iBAAiB,CAAC,YAAoB,EAAE,IAAU;QACvD,IAAI,CAAC;YACJ,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAE5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;gBACvD,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACb,CAAC;YAED,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CACrE,cAAc,CAAC,QAAQ,CACvB,CAAC;gBAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;gBACtD,CAAC;gBAMD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;gBACzE,IAAI,KAAK,EAAE,CAAC;oBACX,OAAO;wBACN,EAAE,EAAE,IAAI;wBACR,YAAY,EAAE,IAAI;wBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;qBACzB,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACpC,OAAO;wBACN,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,WAAW;qBACnB,CAAC;gBAEH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAClC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAC7C,cAAc,CAAC,eAAe,CAC9B,CAAC;gBAEF,OAAO;oBACN,EAAE,EAAE,IAAI;oBACR,YAAY,EAAE,KAAK;oBACnB,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,YAAY,EAAE,QAAQ,CAAC,WAAW;oBAClC,WAAW,EAAE,cAAc,CAAC,WAAW;oBACvC,MAAM;oBACN,cAAc,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;oBACrE,UAAU,EAAE,MAAM,QAAQ,CAAC,aAAa,EAAE,EAAE;oBAC5C,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;iBACjC,CAAC;YACH,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;YAE5E,IAAI,eAAe,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YAC3C,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAClC,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,IAAI,CAAC,EACpD,cAAc,CAAC,eAAe,CAC9B,CAAC;YAEF,OAAO;gBACN,EAAE,EAAE,IAAI;gBACR,YAAY,EAAE,KAAK;gBACnB,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,MAAM;gBACN,cAAc,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;gBACrE,UAAU,EAAE,MAAM,eAAe,EAAE,aAAa,EAAE,EAAE;gBACpD,OAAO,EAAE,eAAe,EAAE,OAAO;gBACjC,YAAY,EAAE,MAAM,CAAC,YAAY;aACjC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAUO,KAAK,CAAC,kBAAkB,CAC/B,QAAuC,EACvC,IAAU;QAEV,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChG,CAAC;IAEO,eAAe,CAAC,eAAyB,EAAE,eAA0B;QAC5E,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,eAAe,CAAC;QAC7E,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAOO,KAAK,CAAC,cAAc,CAC3B,MAAc,EACd,QAAgB,EAChB,eAAyB;QAEzB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO,EAAE,KAAK;YAAE,OAAO,SAAS,CAAC;QAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAClF,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAMD,KAAK,CAAC,qBAAqB,CAC1B,YAAoB,EACpB,IAAU,EACV,QAAiB,EACjB,MAAiB;QAEjB,IAAI,cAAmC,CAAC;QACxC,IAAI,CAAC;YACJ,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,wBAAS,CAAC,4BAA4B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAEpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,4BAAY,CAAC,qBAAqB,CACrD,cAAc,CAAC,WAAW,EAC1B,eAAe,EACf,uCAAuC,EACvC,cAAc,CAAC,KAAK,EACpB,MAAM,CACN,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAClC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,MAAM,EAAE,IAAI,CAAC,EAAE;aACf,CAAC,CAAC;YAEH,OAAO,EAAE,WAAW,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CACrE,cAAc,CAAC,QAAQ,CACvB,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,IAAI,wBAAS,CAAC,2DAA2D,CAAC,CAAC;YAClF,CAAC;YAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YAGP,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;YAE5E,IAAI,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC7E,CAAC;QACF,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEpF,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC7B,QAA2B,EAC3B,IAAU,EACV,QAAgB;QAEhB,IAAI,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO;QAE3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;YACrE,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,WAAW,EAAE,QAAQ,CAAC,cAAc,EAAE;SACtC,CAAC,CAAC;QAEH,MAAM,IAAI,uBAAc,CAAC,mDAAmD,CAAC,CAAC;IAC/E,CAAC;IAEO,KAAK,CAAC,UAAU,CACvB,IAAU,EACV,cAAmC,EACnC,aAAuB,EACvB,GAAG,GAAqB,EAAE;QAE1B,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAC9C,IAAI,CAAC,EAAE,EACP,KAAK,EAAE,GAAG,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAEpD,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CACzC,IAAI,CAAC,EAAE,EACP,cAAc,CAAC,QAAQ,EACvB,aAAa,EACb,GAAG,CACH,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CACvE,cAAc,CAAC,QAAQ,EACvB,IAAI,CAAC,EAAE,EACP,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,KAAK,EACpB,cAAc,CAAC,QAAQ,EACvB,aAAa,EACb,GAAG,CACH,CAAC;YAEF,MAAM,kBAAkB,GAAG,4BAAY,CAAC,uBAAuB,CAC9D,cAAc,CAAC,WAAW,EAC1B,IAAI,EACJ,cAAc,CAAC,KAAK,EACpB,MAAM,CACN,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACpC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,MAAM,EAAE,IAAI,CAAC,EAAE;aACf,CAAC,CAAC;YAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QAC5C,CAAC,EACD,GAAG,CACH,CAAC;IACH,CAAC;IASO,KAAK,CAAC,oBAAoB,CACjC,cAAmC,EACnC,MAA4B,EAC5B,IAAU;QAEV,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ;YACvC,CAAC,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC;YAChF,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAIvD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACX,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,wBAAS,CAAC,oCAAoC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;QACxF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,wBAAS,CAAC,6BAA6B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAMD,KAAK,CAAC,eAAe,CACpB,IAAU,EACV,cAAmC,EACnC,gBAAoC;QAEpC,IAAI,CAAC,cAAc,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,QAAQ,GACb,gBAAgB;YAChB,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE,YAAY;YAAE,OAAO,IAAI,CAAC;QAEzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CACzD,IAAI,CAAC,EAAE,EACP,cAAc,CAAC,QAAQ,EACvB,EAAE,CACF,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CACrC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAC7C,cAAc,CAAC,eAAe,CAC9B,CAAC;QAEF,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,IAAI,EAAE,CAAC;QAC7D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAGhC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC7E,CAAC;QASD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAG7E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEhE,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,EAAE;gBAClF,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,WAAW,EAAE,cAAc,CAAC,QAAQ;aACpC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAEtE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAChE,IAAI,CAAC,EAAE,EACP,cAAc,CAAC,QAAQ,EACvB,GAAG,CACH,CAAC;YACF,IACC,CAAC,cAAc;gBACf,cAAc,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;gBAChC,cAAc,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;gBAE9C,OAAO,IAAI,CAAC;YACb,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;;8BA7XY,mBAAmB;IAD/B,IAAA,YAAO,GAAE;qCAGiB,uBAAM,EACO,2CAAmB,EACjB,+CAAqB,EACrB,qDAAqB,EAClB,gEAA6B,EAC5B,gCAAyB,EACxC,6BAAU,EACR,uCAAiB;GATrC,mBAAmB,CA6X/B"}
|
|
@@ -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":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"oauth-server.module.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-server.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,wDAA6C;AAE7C,gDAAgD;AAChD,gCAAoC;AACpC,uCAA4C;AAerC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC7B,KAAK,CAAC,IAAI;QACT,MAAM,EAAE,YAAY,EAAE,GAAG,cAAS,CAAC,GAAG,CAAC,2BAAgB,CAAC,CAAC;QACzD,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAC5C,mDAAmD,CACnD,CAAC;QACF,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,+CAA+C,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,cAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACnD,cAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YACnF,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,4BAA4B,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACpE,cAAS,CAAC,GAAG,CAAC,uBAAM,CAAC,CAAC,KAAK,CAAC,oDAAoD,EAAE;oBACjF,KAAK;iBACL,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YACtC,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC9C,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QAKD,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC3D,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;YAClF,MAAM,cAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,UAAU,EAAE,CAAC;QAC1D,CAAC;QAGD,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YACpE,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;YACtF,cAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC/E,CAAC;QAKD,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC/E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACvE,cAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,gBAAgB,CAAC,cAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE1F,MAAM,EAAE,kCAAkC,EAAE,GAAG,MAAM,MAAM,CAC1D,yCAAyC,CACzC,CAAC;QACF,kCAAkC,EAAE,CAAC;QAErC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACvE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACtE,cAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,cAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAIlF,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CACrD,iEAAiE,CACjE,CAAC;QACF,MAAM,EAAE,mCAAmC,EAAE,GAAG,MAAM,MAAM,CAC3D,uCAAuC,CACvC,CAAC;QACF,MAAM,cAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,gBAAgB,CAClE,cAAS,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;QACnF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CACzC,wDAAwD,CACxD,CAAC;QACF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,kDAAkD,CAAC,CAAC;QACzF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mDAAmD,CAAC,CAAC;QAC3F,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,kDAAkD,CAAC,CAAC;QAEzF,OAAO,CAAC,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAU,CAAC;IAC1F,CAAC;CACD,CAAA;;4BA/EY,iBAAiB;IAD7B,IAAA,0BAAa,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;GACzE,iBAAiB,CA+E7B"}
|
|
@@ -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
|
-
|
|
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 {
|
|
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,
|
|
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,
|
|
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.
|
|
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
|
-
|
|
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,
|
|
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
|