n8n 2.46.0 → 2.46.2
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/binary-data/binary-data-access.service.js +1 -1
- package/dist/binary-data/binary-data-access.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/controllers/oauth/oauth1-credential.controller.js +6 -2
- package/dist/controllers/oauth/oauth1-credential.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth2-credential.controller.js +7 -4
- package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
- package/dist/credentials/credential-options.service.js +4 -1
- package/dist/credentials/credential-options.service.js.map +1 -1
- package/dist/credentials-helper.d.ts +5 -1
- package/dist/credentials-helper.js +38 -12
- package/dist/credentials-helper.js.map +1 -1
- package/dist/credentials-overwrites.d.ts +17 -6
- package/dist/credentials-overwrites.js +102 -20
- package/dist/credentials-overwrites.js.map +1 -1
- package/dist/errors/managed-app-unavailable.error.d.ts +3 -0
- package/dist/errors/managed-app-unavailable.error.js +8 -0
- package/dist/errors/managed-app-unavailable.error.js.map +1 -0
- package/dist/errors/uninspectable-subworkflow-source.error.js +1 -1
- package/dist/errors/uninspectable-subworkflow-source.error.js.map +1 -1
- package/dist/evaluation.ee/evaluation-dataset.service.js +6 -0
- package/dist/evaluation.ee/evaluation-dataset.service.js.map +1 -1
- package/dist/executions/execution.service.js +5 -0
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/interfaces.d.ts +10 -0
- package/dist/managed-versions.d.ts +14 -0
- package/dist/managed-versions.js +150 -0
- package/dist/managed-versions.js.map +1 -0
- package/dist/modules/agents/integrations/platforms/slack/slack-managed-setup.service.d.ts +2 -0
- package/dist/modules/agents/integrations/platforms/slack/slack-managed-setup.service.js +32 -3
- package/dist/modules/agents/integrations/platforms/slack/slack-managed-setup.service.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/teams/teams-managed-setup.service.js +4 -1
- package/dist/modules/agents/integrations/platforms/teams/teams-managed-setup.service.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/teams/teams-manager-token.service.js +12 -3
- package/dist/modules/agents/integrations/platforms/teams/teams-manager-token.service.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/breaking-changes/sync/migration-finding-sync.service.d.ts +1 -1
- package/dist/modules/breaking-changes/sync/migration-finding-sync.service.js +4 -3
- package/dist/modules/breaking-changes/sync/migration-finding-sync.service.js.map +1 -1
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js +4 -3
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.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/mcp-discovery/eligibility.d.ts +1 -1
- package/dist/modules/mcp-discovery/eligibility.js +1 -1
- package/dist/modules/mcp-discovery/eligibility.js.map +1 -1
- package/dist/modules/mcp-registry/mcp-connection-discovery.service.js +7 -12
- package/dist/modules/mcp-registry/mcp-connection-discovery.service.js.map +1 -1
- package/dist/modules/mcp-registry/mcp-credential-access.d.ts +3 -0
- package/dist/modules/mcp-registry/mcp-credential-access.js +18 -0
- package/dist/modules/mcp-registry/mcp-credential-access.js.map +1 -0
- 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.d.ts +9 -2
- package/dist/oauth/oauth.service.js +38 -18
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +9 -0
- package/dist/scaling/job-processor.js +1 -0
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/scaling.service.js +1 -0
- package/dist/scaling/scaling.service.js.map +1 -1
- package/dist/scaling/scaling.types.d.ts +1 -0
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/frontend.service.js +1 -0
- package/dist/services/frontend.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/workflow-runner.js +2 -0
- package/dist/workflow-runner.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":"mcp-connection-discovery.service.js","sourceRoot":"","sources":["../../../src/modules/mcp-registry/mcp-connection-discovery.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp-connection-discovery.service.js","sourceRoot":"","sources":["../../../src/modules/mcp-registry/mcp-connection-discovery.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAwD;AACxD,iEAAiE;AAQjE,wDAA8D;AAC9D,0DAAsE;AACtE,4DAAiE;AAEjE,gCAAkC;AAClC,wCAA6D;AAC7D,iEAA6D;AAG7D,yDAAqD;AACrD,6DAAyD;AACzD,yDAAqD;AACrD,sEAAiE;AACjE,2DAA0D;AAG1D,qDAAsD;AACtD,mEAAkE;AAClE,uEAOmC;AACnC,0EAAqE;AAErE,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAkBlC,SAAS,YAAY,CACpB,aAAgD;IAEhD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB,EAAE,UAAkB;IAC9D,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG,CAAC;IAChC,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/E,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,MAAM,CAAC,IAAe,EAAE,UAAkB;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1E,OAAO;QACN,IAAI;QACJ,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,QAAQ,EAAE,IAAA,8BAAe,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;KACrE,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC/B,QAAkB,EAClB,OAA0C;IAE1C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,gBAAgB,CAAC;IAChF,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,oBAAoB,CAAC;IACxD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,MAAiB,EACjB,SAAiB;IAEjB,IAAI,SAAoD,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAChD,SAAS,GAAG,UAAU,CACrB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,SAAS,IAAI,CAAC,CAAC,EACvE,SAAS,CACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACJ,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;YAAS,CAAC;QACV,IAAI,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;AACF,CAAC;AAGM,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAGzC,YACC,MAAc,EACG,eAAmC,EACnC,wBAAkD,EAClD,iBAAoC,EACpC,eAAgC,EAChC,YAA0B,EAC1B,YAA0B,EAC1B,gBAAkC;+BANlC,eAAe;wCACf,wBAAwB;iCACxB,iBAAiB;+BACjB,eAAe;4BACf,YAAY;4BACZ,YAAY;gCACZ,gBAAgB;QAEjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,QAAQ,CACb,IAAU,EACV,OAAoC;QAEpC,IAAI,QAA2B,CAAC;QAChC,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,sBAAa;gBAAE,MAAM,KAAK,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;gBACnD,SAAS,EAAE,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC,IAAI;aAClC,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,aAAa,GAAsC,SAAS,CAAC;QACjE,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,MAAM,eAAe,GAAgB,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC1D,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChE,gBAAgB,GAAG,IAAI,CAAC;gBACxB,aAAa,GAAG,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACjE,OAAO,QAAQ,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,aAAa,GAAG,oBAAoB,CAAC;gBACrC,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;YAC5B;gBACC,GAAG,QAAQ,CAAC,YAAY;gBACxB,KAAK,EAAE,eAAe;gBACtB,mBAAmB,EAAE,kBAAkB;aACvC;SACD,CAAC,CAAC;QAEH,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,CAAC,MAAM,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACtF,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CACxC,CAAC;YACF,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC;YAClF,OAAO;gBACN,MAAM,EAAE,WAAW;gBACnB,UAAU,EAAE,QAAQ,CAAC,kBAAkB;gBACvC,KAAK;aACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,gBAAgB;gBAAE,aAAa,GAAG,oBAAoB,CAAC;YAC3F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;gBACnD,SAAS,EAAE,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC,IAAI;aAClC,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC;gBAAS,CAAC;YACV,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;oBACxD,SAAS,EAAE,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC,IAAI;iBAClC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAClC,IAAU,EACV,MAAmC;QAEnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,MAAM,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,UAAU,GAAG,IAAA,sDAA4B,EAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,wBAAe,CAAC,iDAAiD,CAAC,CAAC;QAC9F,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC;QAChD,IACC,CAAC,IAAA,8DAAoC,EAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC;YAC5E,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,KAAK,UAAU,CAAC,IAAI,CAAC,EAC3F,CAAC;YACF,MAAM,IAAI,wBAAe,CAAC,qDAAqD,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,sDAA4B,EAAC;YAC7C,UAAU;YACV,cAAc,EAAE,UAAU,CAAC,IAAI;YAC/B,cAAc,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,wBAAe,CAAC,8CAA8C,CAAC,CAAC;QAE5F,OAAO;YACN,YAAY,EAAE;gBACb,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAA,6CAAmB,EAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxD,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;oBAC7E,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc;iBACtC,CAAC;aACF;YACD,kBAAkB,EAAE;gBACnB,GAAG,EAAE,IAAA,kDAAwB,EAAC,UAAU,CAAC;gBACzC,SAAS,EAAE,IAAA,6CAAmB,EAAC,UAAU,CAAC,SAAS,CAAC;gBACpD,cAAc,EAAE,UAAU,CAAC,IAAI;gBAC/B,YAAY,EAAE,UAAU,CAAC,EAAE;gBAC3B,QAAQ,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE;aACnD;SACD,CAAC;IACH,CAAC;IAGO,KAAK,CAAC,sBAAsB,CACnC,IAAU,EACV,IAAY,EACZ,UAAiC;QAEjC,MAAM,cAAc,GAAG,IAAA,qDAA2B,EAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,wBAAe,CAAC,oDAAoD,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;YACzE,cAAc;YACd,MAAM,EAAE,IAAI,CAAC,EAAE;SACf,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,sDAA4B,EAAC,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,wBAAe,CAAC,8CAA8C,CAAC,CAAC;QAE5F,OAAO;YACN,YAAY,EAAE;gBACb,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;gBAC1B,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAA,6CAAmB,EAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxD,KAAK,EAAE,IAAA,mCAAkB,EAAC;oBACzB,cAAc,EAAE,cAAc;oBAC9B,SAAS,EAAE,IAAA,iCAAgB,EAAC,IAAI,CAAC,YAAY,CAAC;oBAC9C,cAAc;oBACd,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO;oBACtC,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,SAAS,EAAE,IAAI;oBACf,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE;iBAC3E,CAAC;aACF;YACD,kBAAkB,EAAE;gBACnB,GAAG,EAAE,IAAA,kDAAwB,EAAC,UAAU,CAAC;gBACzC,SAAS,EAAE,IAAA,6CAAmB,EAAC,UAAU,CAAC,SAAS,CAAC;gBAEpD,cAAc,EAAE,MAAM;gBACtB,QAAQ,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE;aACnD;SACD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAU,EAAE,YAAoB;QAC/D,MAAM,UAAU,GAAG,MAAM,IAAA,+CAAuB,EAC/C,IAAI,CAAC,wBAAwB,EAC7B,YAAY,EACZ,IAAI,CACJ,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,sBAAa,CAAC,wCAAwC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,SAAS,GACd,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,EAAE,SAAS;YAChF,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,wBAAe,CAAC,kCAAkC,CAAC,CAAC;QAE9E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CACrD,cAAc,EACd,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAC5C,UAAU,CAAC,IAAI,EACf,UAAU,CACV,CAAC;QACF,IAAI,CAAC,IAAA,gCAAe,EAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,wBAAe,CAAC,kCAAkC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACxC,CAAC;IAEO,qBAAqB,CAC5B,QAA4B,EAC5B,cAAsC,EACtC,cAAiD;QAEjD,OAAO,IAAA,mCAAkB,EAAC;YACzB,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI;YACxC,SAAS,EAAE,IAAA,iCAAgB,EAAC,IAAI,CAAC,YAAY,CAAC;YAC9C,cAAc,EAAE,QAAQ,CAAC,IAAI;YAC7B,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpC,cAAc;YACd,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,cAAc;SACd,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;;wCAtNY,6BAA6B;IADzC,IAAA,YAAO,GAAE;qCAKA,uBAAM,EACoB,yCAAkB,EACT,2CAAwB,EAC/B,sCAAiB,EACnB,kCAAe,EAClB,4BAAY,EACZ,8BAAY,EACR,qCAAgB;GAXxC,6BAA6B,CAsNzC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CredentialsFinderService } from '@n8n/backend-services';
|
|
2
|
+
import type { CredentialsEntity, User } from '@n8n/db';
|
|
3
|
+
export declare function findUsableMcpCredential(credentialsFinderService: CredentialsFinderService, credentialId: string, user: User): Promise<CredentialsEntity | null>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findUsableMcpCredential = findUsableMcpCredential;
|
|
4
|
+
const permissions_1 = require("@n8n/permissions");
|
|
5
|
+
async function findUsableMcpCredential(credentialsFinderService, credentialId, user) {
|
|
6
|
+
const connectable = await credentialsFinderService.findCredentialForUser(credentialId, user, [
|
|
7
|
+
'credential:connect',
|
|
8
|
+
]);
|
|
9
|
+
if (connectable)
|
|
10
|
+
return connectable;
|
|
11
|
+
const readable = await credentialsFinderService.findCredentialForUser(credentialId, user, [
|
|
12
|
+
'credential:read',
|
|
13
|
+
]);
|
|
14
|
+
if (!readable || readable.isResolvable)
|
|
15
|
+
return null;
|
|
16
|
+
return readable.isGlobal || (0, permissions_1.hasGlobalScope)(user, 'credential:use') ? readable : null;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=mcp-credential-access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-credential-access.js","sourceRoot":"","sources":["../../../src/modules/mcp-registry/mcp-credential-access.ts"],"names":[],"mappings":";;;AAEA,kDAAkD;AAU3C,KAAK,kCACX,wBAAkD,EAClD,YAAoB,EACpB,IAAU;IAEV,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE;QAC5F,oBAAoB;KACpB,CAAC,CAAC;IACH,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE;QACzF,iBAAiB;KACjB,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,QAAQ,CAAC,QAAQ,IAAI,IAAA,4BAAc,EAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACtF,CAAC"}
|
package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseRepository, TransactionRunner, type OperationContext } from '@n8n/db';
|
|
2
|
+
import { DataSource } from '@n8n/typeorm';
|
|
2
3
|
import { AuthorizationCode } from '../entities/oauth-authorization-code.entity';
|
|
3
|
-
export declare class AuthorizationCodeRepository extends
|
|
4
|
-
constructor(dataSource: DataSource);
|
|
4
|
+
export declare class AuthorizationCodeRepository extends BaseRepository<AuthorizationCode> {
|
|
5
|
+
constructor(dataSource: DataSource, transactionRunner: TransactionRunner);
|
|
6
|
+
insertCode(code: Pick<AuthorizationCode, 'code' | 'clientId' | 'userId' | 'redirectUri' | 'codeChallenge' | 'codeChallengeMethod' | 'state' | 'resource' | 'scope' | 'expiresAt' | 'used'>, ctx: OperationContext): Promise<void>;
|
|
7
|
+
consumeCode(code: string, ctx: OperationContext): Promise<boolean>;
|
|
5
8
|
}
|
package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.js
CHANGED
|
@@ -10,17 +10,25 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.AuthorizationCodeRepository = void 0;
|
|
13
|
+
const db_1 = require("@n8n/db");
|
|
13
14
|
const di_1 = require("@n8n/di");
|
|
14
15
|
const typeorm_1 = require("@n8n/typeorm");
|
|
15
16
|
const oauth_authorization_code_entity_1 = require("../entities/oauth-authorization-code.entity");
|
|
16
|
-
let AuthorizationCodeRepository = class AuthorizationCodeRepository extends
|
|
17
|
-
constructor(dataSource) {
|
|
18
|
-
super(oauth_authorization_code_entity_1.AuthorizationCode, dataSource.manager);
|
|
17
|
+
let AuthorizationCodeRepository = class AuthorizationCodeRepository extends db_1.BaseRepository {
|
|
18
|
+
constructor(dataSource, transactionRunner) {
|
|
19
|
+
super(oauth_authorization_code_entity_1.AuthorizationCode, dataSource.manager, transactionRunner);
|
|
20
|
+
}
|
|
21
|
+
async insertCode(code, ctx) {
|
|
22
|
+
await this.managerFor(ctx).insert(oauth_authorization_code_entity_1.AuthorizationCode, code);
|
|
23
|
+
}
|
|
24
|
+
async consumeCode(code, ctx) {
|
|
25
|
+
const result = await this.managerFor(ctx).update(oauth_authorization_code_entity_1.AuthorizationCode, { code, used: false, expiresAt: (0, typeorm_1.MoreThan)(Date.now()) }, { used: true });
|
|
26
|
+
return (result.affected ?? 0) > 0;
|
|
19
27
|
}
|
|
20
28
|
};
|
|
21
29
|
exports.AuthorizationCodeRepository = AuthorizationCodeRepository;
|
|
22
30
|
exports.AuthorizationCodeRepository = AuthorizationCodeRepository = __decorate([
|
|
23
31
|
(0, di_1.Service)(),
|
|
24
|
-
__metadata("design:paramtypes", [typeorm_1.DataSource])
|
|
32
|
+
__metadata("design:paramtypes", [typeorm_1.DataSource, db_1.TransactionRunner])
|
|
25
33
|
], AuthorizationCodeRepository);
|
|
26
34
|
//# sourceMappingURL=oauth-authorization-code.repository.js.map
|
package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-authorization-code.repository.js","sourceRoot":"","sources":["../../../../../src/modules/oauth-server/database/repositories/oauth-authorization-code.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"oauth-authorization-code.repository.js","sourceRoot":"","sources":["../../../../../src/modules/oauth-server/database/repositories/oauth-authorization-code.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAmF;AACnF,gCAAkC;AAClC,0CAAoD;AAEpD,iGAAgF;AAGzE,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,mBAAiC;IACjF,YAAY,UAAsB,EAAE,iBAAoC;QACvE,KAAK,CAAC,mDAAiB,EAAE,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,UAAU,CACf,IAaC,EACD,GAAqB;QAErB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,mDAAiB,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,GAAqB;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAC/C,mDAAiB,EACjB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EACtD,EAAE,IAAI,EAAE,IAAI,EAAE,CACd,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;CACD,CAAA;;sCAjCY,2BAA2B;IADvC,IAAA,YAAO,GAAE;qCAEe,oBAAU,EAAqB,sBAAiB;GAD5D,2BAA2B,CAiCvC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseRepository, TransactionRunner, User, type OperationContext } from '@n8n/db';
|
|
2
|
+
import { DataSource } from '@n8n/typeorm';
|
|
3
|
+
export declare class OAuthGrantRepository extends BaseRepository<User> {
|
|
4
|
+
constructor(dataSource: DataSource, transactionRunner: TransactionRunner);
|
|
5
|
+
deleteGrantsForDisabledUsers(): Promise<void>;
|
|
6
|
+
lockUserForGrant(userId: string, ctx: OperationContext): Promise<User | null>;
|
|
7
|
+
private findLockedUser;
|
|
8
|
+
deleteUserGrants(userId: string, ctx: OperationContext): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
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.OAuthGrantRepository = void 0;
|
|
13
|
+
const db_1 = require("@n8n/db");
|
|
14
|
+
const di_1 = require("@n8n/di");
|
|
15
|
+
const typeorm_1 = require("@n8n/typeorm");
|
|
16
|
+
const oauth_access_token_entity_1 = require("../entities/oauth-access-token.entity");
|
|
17
|
+
const oauth_authorization_code_entity_1 = require("../entities/oauth-authorization-code.entity");
|
|
18
|
+
const oauth_refresh_token_entity_1 = require("../entities/oauth-refresh-token.entity");
|
|
19
|
+
const oauth_user_consent_entity_1 = require("../entities/oauth-user-consent.entity");
|
|
20
|
+
let OAuthGrantRepository = class OAuthGrantRepository extends db_1.BaseRepository {
|
|
21
|
+
constructor(dataSource, transactionRunner) {
|
|
22
|
+
super(db_1.User, dataSource.manager, transactionRunner);
|
|
23
|
+
}
|
|
24
|
+
async deleteGrantsForDisabledUsers() {
|
|
25
|
+
const batchSize = 100;
|
|
26
|
+
let afterId;
|
|
27
|
+
while (true) {
|
|
28
|
+
const ids = await this.runInTransaction({}, async (manager) => {
|
|
29
|
+
const users = await manager.find(db_1.User, {
|
|
30
|
+
where: { disabled: true, ...(afterId ? { id: (0, typeorm_1.MoreThan)(afterId) } : {}) },
|
|
31
|
+
select: ['id'],
|
|
32
|
+
order: { id: 'ASC' },
|
|
33
|
+
take: batchSize,
|
|
34
|
+
...(manager.connection.options.type === 'postgres'
|
|
35
|
+
? { lock: { mode: 'pessimistic_write' } }
|
|
36
|
+
: {}),
|
|
37
|
+
});
|
|
38
|
+
const userIds = users.map(({ id }) => id);
|
|
39
|
+
if (userIds.length > 0) {
|
|
40
|
+
for (const entity of [oauth_access_token_entity_1.AccessToken, oauth_refresh_token_entity_1.RefreshToken, oauth_authorization_code_entity_1.AuthorizationCode, oauth_user_consent_entity_1.UserConsent]) {
|
|
41
|
+
await manager.delete(entity, { userId: (0, typeorm_1.In)(userIds) });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return userIds;
|
|
45
|
+
});
|
|
46
|
+
if (ids.length < batchSize)
|
|
47
|
+
return;
|
|
48
|
+
afterId = ids.at(-1);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async lockUserForGrant(userId, ctx) {
|
|
52
|
+
return await this.findLockedUser(this.managerFor(ctx), userId);
|
|
53
|
+
}
|
|
54
|
+
async findLockedUser(manager, userId) {
|
|
55
|
+
return await manager.findOne(db_1.User, {
|
|
56
|
+
where: { id: userId },
|
|
57
|
+
...(manager.connection.options.type === 'postgres'
|
|
58
|
+
? { lock: { mode: 'pessimistic_write' } }
|
|
59
|
+
: {}),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
async deleteUserGrants(userId, ctx) {
|
|
63
|
+
const manager = this.managerFor(ctx);
|
|
64
|
+
await manager.delete(oauth_access_token_entity_1.AccessToken, { userId });
|
|
65
|
+
await manager.delete(oauth_refresh_token_entity_1.RefreshToken, { userId });
|
|
66
|
+
await manager.delete(oauth_authorization_code_entity_1.AuthorizationCode, { userId });
|
|
67
|
+
await manager.delete(oauth_user_consent_entity_1.UserConsent, { userId });
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
exports.OAuthGrantRepository = OAuthGrantRepository;
|
|
71
|
+
exports.OAuthGrantRepository = OAuthGrantRepository = __decorate([
|
|
72
|
+
(0, di_1.Service)(),
|
|
73
|
+
__metadata("design:paramtypes", [typeorm_1.DataSource, db_1.TransactionRunner])
|
|
74
|
+
], OAuthGrantRepository);
|
|
75
|
+
//# sourceMappingURL=oauth-grant.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-grant.repository.js","sourceRoot":"","sources":["../../../../../src/modules/oauth-server/database/repositories/oauth-grant.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { McpClientConnectedPeriod } from '@n8n/api-types';
|
|
2
|
-
import {
|
|
2
|
+
import { BaseRepository, TransactionRunner, type OperationContext } from '@n8n/db';
|
|
3
|
+
import { DataSource } from '@n8n/typeorm';
|
|
3
4
|
import { UserConsent } from '../entities/oauth-user-consent.entity';
|
|
4
5
|
type ConsentOwner = {
|
|
5
6
|
id: string;
|
|
@@ -18,8 +19,10 @@ export type FindConnectedClientsOptions = {
|
|
|
18
19
|
skip?: number;
|
|
19
20
|
take?: number;
|
|
20
21
|
};
|
|
21
|
-
export declare class UserConsentRepository extends
|
|
22
|
-
constructor(dataSource: DataSource);
|
|
22
|
+
export declare class UserConsentRepository extends BaseRepository<UserConsent> {
|
|
23
|
+
constructor(dataSource: DataSource, transactionRunner: TransactionRunner);
|
|
24
|
+
saveGrant(userId: string, clientId: string, scope: string[], ctx: OperationContext): Promise<void>;
|
|
25
|
+
findGrant(userId: string, clientId: string, ctx: OperationContext): Promise<UserConsent | null>;
|
|
23
26
|
findConnectedClients(options: FindConnectedClientsOptions): Promise<{
|
|
24
27
|
rows: UserConsent[];
|
|
25
28
|
total: number;
|
|
@@ -10,13 +10,20 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.UserConsentRepository = void 0;
|
|
13
|
+
const db_1 = require("@n8n/db");
|
|
13
14
|
const di_1 = require("@n8n/di");
|
|
14
15
|
const typeorm_1 = require("@n8n/typeorm");
|
|
15
16
|
const oauth_user_consent_entity_1 = require("../entities/oauth-user-consent.entity");
|
|
16
17
|
const DAY_IN_MS = 24 * 60 * 60 * 1000;
|
|
17
|
-
let UserConsentRepository = class UserConsentRepository extends
|
|
18
|
-
constructor(dataSource) {
|
|
19
|
-
super(oauth_user_consent_entity_1.UserConsent, dataSource.manager);
|
|
18
|
+
let UserConsentRepository = class UserConsentRepository extends db_1.BaseRepository {
|
|
19
|
+
constructor(dataSource, transactionRunner) {
|
|
20
|
+
super(oauth_user_consent_entity_1.UserConsent, dataSource.manager, transactionRunner);
|
|
21
|
+
}
|
|
22
|
+
async saveGrant(userId, clientId, scope, ctx) {
|
|
23
|
+
await this.managerFor(ctx).upsert(oauth_user_consent_entity_1.UserConsent, { userId, clientId, scope, grantedAt: Date.now() }, ['userId', 'clientId']);
|
|
24
|
+
}
|
|
25
|
+
async findGrant(userId, clientId, ctx) {
|
|
26
|
+
return await this.managerFor(ctx).findOneBy(oauth_user_consent_entity_1.UserConsent, { userId, clientId });
|
|
20
27
|
}
|
|
21
28
|
async findConnectedClients(options) {
|
|
22
29
|
const qb = this.createQueryBuilder('consent')
|
|
@@ -75,6 +82,6 @@ let UserConsentRepository = class UserConsentRepository extends typeorm_1.Reposi
|
|
|
75
82
|
exports.UserConsentRepository = UserConsentRepository;
|
|
76
83
|
exports.UserConsentRepository = UserConsentRepository = __decorate([
|
|
77
84
|
(0, di_1.Service)(),
|
|
78
|
-
__metadata("design:paramtypes", [typeorm_1.DataSource])
|
|
85
|
+
__metadata("design:paramtypes", [typeorm_1.DataSource, db_1.TransactionRunner])
|
|
79
86
|
], UserConsentRepository);
|
|
80
87
|
//# sourceMappingURL=oauth-user-consent.repository.js.map
|
package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-user-consent.repository.js","sourceRoot":"","sources":["../../../../../src/modules/oauth-server/database/repositories/oauth-user-consent.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gCAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"oauth-user-consent.repository.js","sourceRoot":"","sources":["../../../../../src/modules/oauth-server/database/repositories/oauth-user-consent.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gCAAmF;AACnF,gCAAkC;AAClC,0CAA0C;AAE1C,qFAAoE;AAEpE,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAkC/B,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,mBAA2B;IACrE,YAAY,UAAsB,EAAE,iBAAoC;QACvE,KAAK,CAAC,uCAAW,EAAE,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,SAAS,CACd,MAAc,EACd,QAAgB,EAChB,KAAe,EACf,GAAqB;QAErB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAChC,uCAAW,EACX,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAClD,CAAC,QAAQ,EAAE,UAAU,CAAC,CACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACd,MAAc,EACd,QAAgB,EAChB,GAAqB;QAErB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,uCAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,CAAC;IASD,KAAK,CAAC,oBAAoB,CACzB,OAAoC;QAEpC,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;aAC3C,iBAAiB,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aAG7C,QAAQ,CAAC,qCAAqC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3E,IAAI,OAAO,CAAC,SAAS;YAAE,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,MAAM;YAAE,EAAE,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,IAAI,OAAO,CAAC,OAAO;YAAE,EAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5F,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,EAAE,CAAC,QAAQ,CAAC,qCAAqC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;YAC1B,EAAE,CAAC,QAAQ,CAAC,+BAA+B,EAAE;gBAC5C,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG;aAC9C,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YACnC,EAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC;aAAM,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3C,EAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QACrF,CAAC;aAAM,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1C,EAAE,CAAC,QAAQ,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAExC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE9E,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;IAOD,KAAK,CAAC,iBAAiB;QACtB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;aAC7C,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;aACjC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aACrC,KAAK,CAAC,qCAAqC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;aACrE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;aACvB,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC;aACxC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC;aACtC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;aAChC,QAAQ,CAAC,IAAI,CAAC;aACd,UAAU,EAAgB,CAAC;IAC9B,CAAC;IAOD,KAAK,CAAC,sBAAsB,CAAC,MAAe;QAC3C,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC;YACvB,KAAK,EAAE;gBACN,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE;aAC/B;SACD,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;;gCAtGY,qBAAqB;IADjC,IAAA,YAAO,GAAE;qCAEe,oBAAU,EAAqB,sBAAiB;GAD5D,qBAAqB,CAsGjC"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
import type { OperationContext } from '@n8n/db';
|
|
1
2
|
import type { AuthorizationCode } from './database/entities/oauth-authorization-code.entity';
|
|
2
3
|
import { AuthorizationCodeRepository } from './database/repositories/oauth-authorization-code.repository';
|
|
3
4
|
export declare class OAuthAuthorizationCodeService {
|
|
4
5
|
private readonly authorizationCodeRepository;
|
|
5
6
|
private readonly AUTHORIZATION_CODE_EXPIRY_MS;
|
|
6
7
|
constructor(authorizationCodeRepository: AuthorizationCodeRepository);
|
|
7
|
-
createAuthorizationCode(clientId: string, userId: string, redirectUri: string, codeChallenge: string, state: string | null, resource?: string, scopes?: string[]): Promise<string>;
|
|
8
|
+
createAuthorizationCode(clientId: string, userId: string, redirectUri: string, codeChallenge: string, state: string | null, resource?: string, scopes?: string[], ctx?: OperationContext): Promise<string>;
|
|
8
9
|
findAndValidateAuthorizationCode(authorizationCode: string, clientId: string): Promise<AuthorizationCode>;
|
|
9
10
|
findAuthorizationCode(code: string, clientId: string, redirectUri?: string): Promise<AuthorizationCode | null>;
|
|
10
11
|
validateAndConsumeAuthorizationCode(authorizationCode: string, clientId: string, redirectUri?: string): Promise<AuthorizationCode>;
|
|
11
|
-
markAuthorizationCodeAsUsed(authorizationCode: string): Promise<void>;
|
|
12
|
+
markAuthorizationCodeAsUsed(authorizationCode: string, ctx?: OperationContext): Promise<void>;
|
|
12
13
|
deleteForGrant(clientId: string, userId: string): Promise<void>;
|
|
13
14
|
getCodeChallenge(authorizationCode: string, clientId: string): Promise<string>;
|
|
14
15
|
}
|
|
@@ -20,9 +20,9 @@ let OAuthAuthorizationCodeService = class OAuthAuthorizationCodeService {
|
|
|
20
20
|
this.authorizationCodeRepository = authorizationCodeRepository;
|
|
21
21
|
this.AUTHORIZATION_CODE_EXPIRY_MS = 10 * constants_1.Time.minutes.toMilliseconds;
|
|
22
22
|
}
|
|
23
|
-
async createAuthorizationCode(clientId, userId, redirectUri, codeChallenge, state, resource, scopes = []) {
|
|
23
|
+
async createAuthorizationCode(clientId, userId, redirectUri, codeChallenge, state, resource, scopes = [], ctx = {}) {
|
|
24
24
|
const code = (0, node_crypto_1.randomBytes)(32).toString('hex');
|
|
25
|
-
await this.authorizationCodeRepository.
|
|
25
|
+
await this.authorizationCodeRepository.insertCode({
|
|
26
26
|
code,
|
|
27
27
|
clientId,
|
|
28
28
|
userId,
|
|
@@ -34,7 +34,7 @@ let OAuthAuthorizationCodeService = class OAuthAuthorizationCodeService {
|
|
|
34
34
|
scope: scopes,
|
|
35
35
|
expiresAt: Date.now() + this.AUTHORIZATION_CODE_EXPIRY_MS,
|
|
36
36
|
used: false,
|
|
37
|
-
});
|
|
37
|
+
}, ctx);
|
|
38
38
|
return code;
|
|
39
39
|
}
|
|
40
40
|
async findAndValidateAuthorizationCode(authorizationCode, clientId) {
|
|
@@ -84,10 +84,8 @@ let OAuthAuthorizationCodeService = class OAuthAuthorizationCodeService {
|
|
|
84
84
|
authRecord.used = true;
|
|
85
85
|
return authRecord;
|
|
86
86
|
}
|
|
87
|
-
async markAuthorizationCodeAsUsed(authorizationCode) {
|
|
88
|
-
|
|
89
|
-
const numAffected = result.affected ?? 0;
|
|
90
|
-
if (numAffected < 1) {
|
|
87
|
+
async markAuthorizationCodeAsUsed(authorizationCode, ctx = {}) {
|
|
88
|
+
if (!(await this.authorizationCodeRepository.consumeCode(authorizationCode, ctx))) {
|
|
91
89
|
throw new errors_js_1.InvalidGrantError('Authorization code already used');
|
|
92
90
|
}
|
|
93
91
|
}
|
|
@@ -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":"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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');
|