Commit Graph

41 Commits

Author SHA1 Message Date
Iván Ovejero
7ce5d8fd90 refactor: Upgrade to Prettier 3 (no-changelog) (#6947)
Supersedes https://github.com/n8n-io/n8n/pull/6937

Excluding fixtures and test workflow JSONs to avoid having to update
tests.
2023-08-16 17:13:57 +02:00
Iván Ovejero
e4f041815a perf(core): Cache roles (#6803)
* refactor: Create `RoleService`

* refactor: Refactor to use service

* refactor: Move `getUserRoleForWorkflow`

* refactor: Clear out old `RoleService`

* refactor: Consolidate utils into service

* refactor: Remove unused methods

* test: Add tests

* refactor: Remove redundant return types

* refactor: Missing utility

* chore: Remove commented out bit

* refactor: Make `Db.collections.Repository` inaccessible

* chore: Cleanup

* feat: Prepopulate cache

* chore: Remove logging

* fix: Account for tests where roles are undefined

* fix: Restore `prettier.prettierPath`

* test: Account for cache enabled and disabled

* fix: Restore `Role` in `Db.collections`

* refactor: Simplify by removing `orFail`

* refactor: Rename for clarity

* refactor: Use `cacheKey` for readability

* refactor: Validate role before creation

* refacator: Remove redundant `cache` prefix

* ci: Lint fix

* test: Fix e2e
2023-08-03 08:58:36 +02:00
Iván Ovejero
72523462ea refactor: Clear unused ESLint directives from BE packages (no-changelog) (#6798) 2023-07-31 11:00:48 +02:00
Michael Auerswald
08331c63fb fix(core): Redirect user to previous url after SSO signin (#6710)
redirect user to previous url after SSO signin
2023-07-20 17:23:29 +02:00
Michael Auerswald
fce5609fa3 fix(core): Load SAML libraries dynamically (#6690)
load SAML dynamically
2023-07-18 16:01:56 +02:00
Michael Auerswald
eedde24cc0 fix(core): Use lower cased email for SAML email attribute (#6663)
lower case saml email attribute
2023-07-13 23:41:52 +02:00
कारतोफ्फेलस्क्रिप्ट™
b895ba438a refactor(core): Reduce boilterplate code in between tests 🧹, and fix the tests in node.js 20 (no-changelog) (#6654)
refactor(core): Reduce boilterplate code in between tests

also cleaned up some imports, and fixed the tests in node.js 20
2023-07-13 10:14:48 +02:00
OlegIvaniv
e5620ab1e4 feat(API): Implement users account quota guards (#6434)
* feat(cli): Implement users account quota guards

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove comment

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address PR comments

- Getting `usersQuota` from `Settings` repo
- Revert `isUserManagementEnabled` helper
- Fix FE listing of users

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Refactor isWithinUserQuota getter and fix tests

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Revert testDb.ts changes

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Cleanup & improve types

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix duplicated method

* Fix failing test

* Remove `isUserManagementEnabled` completely

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Check for globalRole.name to determine if user is owner

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix unit tests

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Set isInstanceOwnerSetUp in specs

* Fix SettingsUserView UM

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* refactor: License typings suggestions for users quota guards (#6636)

refactor: License typings suggestions

* Update packages/cli/src/Ldap/helpers.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* Update packages/cli/test/integration/shared/utils.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* Address PR comments

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Use 403 for all user quota related errors

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-07-12 14:11:46 +02:00
Iván Ovejero
8c008f5d22 refactor(core)!: Remove basic-auth, external-jwt-auth, and no-auth options (#6362)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-22 20:03:47 +02:00
Michael Auerswald
25fe14be56 fix(core): Remove SAML config metadataUrl if XML metadata is set directly (#6143)
remove metadataUrl if metadata is set directly
2023-05-02 11:22:34 +02:00
Michael Auerswald
c0b1cddc91 fix(core): Improve saml endpoints and audit events (#6107)
* update saml endpoints and login audit

* fix(core): Skip auth for controllers/routes that don't use the `Authorized` decorator

* fix linting

* lint fix

* add tests and fix endpoint permission

* add hook test

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-04-28 18:11:33 +02:00
कारतोफ्फेलस्क्रिप्ट™
308a94311f refactor: Async functions don't need to explicitly return promises (no-changelog) (#6041) 2023-04-24 13:17:08 +02:00
Jimw383
03be725cef SSO/SAML : add Base URL to redirects in acsHandler (#5923)
add Base URL to redirects in acsHandler

I modified the redirections to include the base URL of the instance so that the redirects remain correct even if the instance is accessed from a subdirectory.

Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
2023-04-24 12:36:50 +02:00
कारतोफ्फेलस्क्रिप्ट™
1eeadc6114 refactor(core): Setup decorator based RBAC (no-changelog) (#5787) 2023-04-24 11:45:31 +02:00
Michael Auerswald
71ed1f410c feat(core): Add SSH key generation (#6006)
* basic prefs and ssh key generation

* review change

* cleanup save

* lint fix
2023-04-19 17:46:10 +02:00
Michael Auerswald
4c994faec1 fix(core): Improve SAML connection test result views (#5981)
* improve test result views

* refactor

* lint fix
2023-04-14 15:49:10 +02:00
Iván Ovejero
1a8a9f8ddb fix(core): Fix lint on SAML controller (no-changelog) (#5967)
* 👕 Fix lint on SAML controller

* 📘 Type request properly

* Update requests.ts

* 🚚 Move type to module

Assuming ACS falls under configuration.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
2023-04-13 14:14:55 +02:00
Michael Auerswald
8474cd386d fix(core): Skip SAML onboarding for users with first- and lastname (#5966)
skip onboarding for users with first- and lastname
2023-04-13 10:09:50 +02:00
कारतोफ्फेलस्क्रिप्ट™
10f8c35dbb refactor(core): Use injectable classes for db repositories (part-1) (no-changelog) (#5953)
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2023-04-12 10:59:14 +02:00
Csaba Tuncsik
04f8600bbd feat(editor): SSO onboarding (#5756)
* feat(editor): SSO onboarding

* fix(editor): add SAML onboarding page

* fix(editor): submit user name on SAML onboarding
2023-04-04 18:18:16 +02:00
Csaba Tuncsik
f4e59499fc feat(editor): SSO setup (#5736)
* feat(editor): SSO settings page

* feat(editor): SSO settings page

* feat(editor): SSO settings page

* feat(editor): SSO settings page

* feat(editor): SSO settings page

* feat(editor): SSO settings page

* Merge remote-tracking branch 'origin/master' into pay-170-sso-set-up-page

# Conflicts:
#	packages/cli/src/sso/saml/routes/saml.controller.ee.ts

* feat(editor): Prevent SSO settings page route

* feat(editor): some UI improvements

* fix(editor): SSO settings saml config optional chaining

* fix return values saml controller

* fix(editor): drop dompurify

* fix(editor): save xml as is

* return authenticationMethod with settings

* fix(editor): add missing prop to server

* chore(editor): code formatting

* fix ldap/saml enable toggle endpoint

* fix missing import

* prevent faulty ldap setting from breaking startup

* remove sso fake-door from users page

* fix(editor): update SSO settings route permissions + unit testing

* fix(editor): update vite config for test

* fix(editor): add paddings to SSO settings page buttons, add translation

* fix(editor): fix saml unit test

* fix(core): Improve saml test connection function (#5899)

improve-saml-test-connection return

---------

Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
Co-authored-by: Romain Minaud <romain.minaud@gmail.com>
2023-04-04 14:28:29 +02:00
Michael Auerswald
83aef17120 feat(core): Read ephemeral license from environment and clean up ee flags (#5808)
Co-authored-by: Cornelius Suermann <cornelius@n8n.io>
2023-03-31 13:51:38 +02:00
कारतोफ्फेलस्क्रिप्ट™
be373bb859 Revert "feat(core): Read ephemeral license from environment and cleanup ee flags (#5797)" (#5816)
Revert "feat(core): Read ephemeral license from environment and clean up ee flags (#5797)"

This reverts commit a81ca7c19c.
2023-03-29 18:00:29 +02:00
Michael Auerswald
a81ca7c19c feat(core): Read ephemeral license from environment and clean up ee flags (#5797)
* remove enterprise feature schema for license.cert

* bump license sdk version

* Update packages/cli/package.json

Co-authored-by: Cornelius Suermann <cornelius@n8n.io>

---------

Co-authored-by: Cornelius Suermann <cornelius@n8n.io>
2023-03-28 17:21:40 +02:00
Michael Auerswald
47ee357059 feat(core): Improve ldap/saml toggle and tests (#5771)
* improve ldap/saml toggle and tests

* import cleanup

* reject regular login users when saml is enabled

* lint fix
2023-03-24 17:46:06 +01:00
कारतोफ्फेलस्क्रिप्ट™
4c583e2be4 ci: Fix saml.api.test.ts (no-changelog) (#5764) 2023-03-23 16:54:35 +01:00
Michael Auerswald
4498c6013d fix(core): Persist CurrentAuthenticationMethod setting change (#5762)
* limit user invites when saml is enabled

* persist CurrentAuthenticationMethod
2023-03-23 15:13:05 +01:00
Michael Auerswald
ac18c0b9eb fix(core): Return SAML service provider urls with config (#5759)
return sp urls with config
2023-03-23 10:42:19 +01:00
Michael Auerswald
b6d8a0f985 fix(core): Remove circular refs from Code and push msg (#5741)
* remove circular refs from code items (and lint fixes)

* cleanup

---------

* add some tests

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-03-21 15:34:30 +01:00
कारतोफ्फेलस्क्रिप्ट™
34d7fcc27e ci: Fix linting issues on master (no-changelog) (#5740) 2023-03-21 12:11:59 +01:00
Csaba Tuncsik
6916628a9f feat(editor): SSO login button (#5615)
* feat(editor): SSO login button

* feat(editor): SSO login button

* feat(editor): SSO login button
2023-03-17 21:07:08 +01:00
Michael Auerswald
be172cb720 fix(core): Return saml attributes after connection test (#5717)
return saml attributes for test
2023-03-17 15:56:51 +01:00
कारतोफ्फेलस्क्रिप्ट™
9bd7529193 refactor(core): Use an IoC container to manage singleton classes [Part-2] (no-changelog) (#5690)
* use typedi for UserManagementMailer

* use typedi for SamlService

* fix typos

* use typedi for Queue

* use typedi for License

* convert some more code to use typedi
2023-03-16 15:34:13 +01:00
Michael Auerswald
ef07528cc2 feat(core): Improve SAML connection test (#5680)
* improve saml test

* cleanup

* remove unused SamlConfiguration types
2023-03-13 19:47:57 +01:00
Michael Auerswald
c6ba0bd8de feat(core): Convert saml controller to decorator style (#5653) (no-changelog) 2023-03-10 19:19:52 +01:00
Michael Auerswald
6f27b445ca feat(core): Refactor and add SAML preferences for service provider instance (#5637)
* create SP through parameters instead of metadata

* refactor SAML prefs and add SP configurations
2023-03-09 09:08:23 +01:00
Michael Auerswald
ca66ec8f4d feat(core): Add SAML XML validation (#5600)
* consolidate SSO settings

* update saml settings

* fix type error

* limit user changes when saml is enabled

* add test

* add toggle endpoint and fetch metadata

* rename enabled param

* add handling of POST saml login request

* add config test endpoint

* adds saml XML validation

* add comment

* protect test endpoint

* improve ignoreSSL and some cleanup

* fix wrong schema used

* remove console.log
2023-03-06 09:44:25 +01:00
Michael Auerswald
523fa71705 feat(core): Add SAML post and test endpoints (#5595)
* consolidate SSO settings

* update saml settings

* fix type error

* limit user changes when saml is enabled

* add test

* add toggle endpoint and fetch metadata

* rename enabled param

* add handling of POST saml login request

* add config test endpoint
2023-03-03 10:19:43 +01:00
Michael Auerswald
b5179597f3 feat(core): Limit user changes when saml is enabled (#5577)
* consolidate SSO settings

* update saml settings

* fix type error

* limit user changes when saml is enabled

* add test
2023-03-03 10:05:30 +01:00
Michael Auerswald
31cc8de829 feat(core): Add SAML settings and consolidate LDAP under SSO (#5574)
* consolidate SSO settings

* update saml settings

* fix type error
2023-03-02 09:00:51 +01:00
Michael Auerswald
40a934bbb4 feat(core): Add SAML login setup (#5515)
* initial commit with sample data

* basic saml setup

* cleanup console logs

* limit saml endpoints through middleware

* basic login and token issue

* saml service and cleanup

* refactor and create user

* get/set saml prefs

* fix authentication issue

* redirect to user details

* merge fix

* add generated password to saml user

* update user from attributes where possible

* refactor and fix creating new user

* rename saml prefs key

* minor cleanup

* Update packages/cli/src/config/schema.ts

Co-authored-by: Omar Ajoue <krynble@gmail.com>

* Update packages/cli/src/config/schema.ts

Co-authored-by: Omar Ajoue <krynble@gmail.com>

* Update packages/cli/src/controllers/auth.controller.ts

Co-authored-by: Omar Ajoue <krynble@gmail.com>

* code review changes

* fix default saml enabled

* remove console.log

* fix isSamlLicensed

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-02-24 20:37:19 +01:00