split and refactor UM - big time

This commit is contained in:
Deborah Barnard
2022-12-14 17:01:42 +00:00
parent 74e501930c
commit 80aef7e85b
13 changed files with 204 additions and 167 deletions

View File

@@ -0,0 +1,5 @@
When you set up user management for the first time, you create an owner account.
1. Open n8n. The app displays a signup screen.
2. Enter your details. Your password must be at least eight characters, including at least one number and one capital letter.
3. Click **Next**. n8n logs you in with your new owner account.

View File

@@ -0,0 +1,8 @@
You can now invite other people to your n8n instance.
1. Sign in with your owner account.
2. Click your user icon > **Settings**. n8n opens your **Personal settings** page.
3. Click **Users** to go to the **Users** page.
4. Click **Invite**.
5. Enter the new user's email address.
6. Click **Invite user**. n8n sends an email with a link for the new user to join.

View File

@@ -11,7 +11,7 @@
/hosting/databases/supported-databases-settings/ /hosting/configuration/supported-databases-settings/
/hosting/databases/structure/ /hosting/architecture/database-structure/
/hosting/security/ /hosting/authentication/
/hosting/user-management/ /hosting/authentication/user-management/
/hosting/user-management/ /hosting/authentication/user-management-self-hosted/
# 2022 SEO audit
@@ -104,7 +104,7 @@
/getting-started/installation/advanced/maintenance.html /hosting/scaling/execution-data/
/getting-started/installation/advanced/scaling-n8n.html /hosting/scaling/queue-mode/
/getting-started/tutorials.html https://n8n.io/blog/
/reference/user-management.html /hosting/authentication/user-management/
/reference/user-management.html /hosting/authentication/user-management-self-hosted/
/reference/environment-variables.html /hosting/configuration/environment-variables/
/reference/start-workflows-via-cli.html /reference/cli-commands/
/reference/javascript-code-snippets.html /code-examples/javascript-functions/

View File

@@ -0,0 +1,65 @@
---
description: Configure self-hosted n8n for user management
---
# Configure self-hosted n8n for user management
User management in n8n allows you to invite people to work in your n8n instance.
This document describes how to configure your n8n instance to support user management, and the steps to start inviting users.
Refer to [User management](/user-management/) for more information about usage, including:
* [Managing users](/user-management/manage-users/)
* [Skipping or disabling user management](/user-management/skip-disable/)
* [Account types](/user-management/account-types/)
* [Best practices](/user-management/best-practices/)
## Setup
There are three stages to set up user management in n8n:
1. Configure your n8n instance to use your SMTP server.
2. Start n8n and follow the setup steps in the app.
3. Invite users.
### Step one: SMTP
You need an SMTP server for user management to send invites and password resets. Get the following information from your SMTP provider:
* Server name
* SMTP username
* SMTP password
* SMTP sender name
To set up SMTP with n8n, configure the SMTP environment variables for your n8n instance. For information on how to set environment variables, refer to [Configuration](/hosting/configuration/)
| Variable | Type | Description | Required? |
| -------- | ---- | ----------- | --------- |
| `N8N_EMAIL_MODE` | string | smtp | Required |
| `N8N_SMTP_HOST` | string | _your_SMTP_server_name_ | Required |
| `N8N_SMTP_PORT` | number | _your_SMTP_server_port_ Default is `465`.| Optional |
| `N8N_SMTP_USER` | string | _your_SMTP_username_ | Required |
| `N8N_SMTP_PASS` | string | _your_SMTP_password_ | Required |
| `N8N_SMTP_SENDER` | string | You can select the sender name from the sender addresses. Example: "N8N _contact@n8n.com_"| Required |
| `N8N_SMTP_SSL` | boolean | Whether to use SSL for SMTP (true) or not (false). Defaults to `true`. | Optional |
| `N8N_UM_EMAIL_TEMPLATES_INVITE` | string | Full path to your HTML email template. This overrides the default template for invite emails. | Optional |
| `N8N_UM_EMAIL_TEMPLATES_PWRESET` | string | Full path to your HTML email template. This overrides the default template for password reset emails. | Optional |
If your n8n instance is already running, you need to restart it to enable the new SMTP settings.
!!! note "More configuration options"
There are more configuration options available as environment variables. Refer to [Environment variables](/hosting/configuration/environment-variables/) for a list. These include options to disable tags, workflow templates, and the personalization survey, if you don't want your users to see them.
!!! note "New to SMTP?"
If you're not familiar with SMTP, this [blog post by SendGrid](https://sendgrid.com/blog/what-is-an-smtp-server/) offers a short introduction, while [Wikipedia's Simple Mail Transfer Protocol article](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol) provides more detailed technical background.
### Step two: in-app setup
--8<-- "_snippets/user-management/in-app-setup.md"
### Step three: invite users
--8<-- "_snippets/user-management/invite-users.md"

View File

@@ -1,161 +0,0 @@
# User management
!!! info "Feature availability"
* Available on self-hosted and selected Cloud plans. Refer to [Cloud Pricing](https://n8n.io/pricing/){:target=_blank .external-link} for more information.
* Not available on Desktop.
* Cloud users don't need to configure SMTP, and can't configure email templates.
User management in n8n allows you to invite people to work in your n8n instance. It includes:
* Login and password management
* Adding and removing users
* Two account types: owner and member
!!! note "Privacy"
The user management feature doesn't send personal information, such as email or username, to n8n.
## Account types
There are two account types, owner and member. The account type affects the user permissions and access.
* Owner: this is the account that set up user management. There's one owner account for each n8n instance. You can't transfer ownership.
The owner can:
* Add and remove users
* See all workflows
* Delete tags
* See all credentials (but not the sensitive information)
* Members: these are normal n8n users.
Members can:
* See all workflow tags, create new tags, and assign tags to their workflows. Members can't delete tags.
* Change their own password.
* See their own workflows.
!!! note "Create a member-level account for the owner"
We recommend that owners create a member-level account for themselves. Owners can see all workflows, but there is no way to see who created a particular workflow, so there is a risk of overriding other people's work if you build and edit workflows as an owner.
## Set up on self-hosted n8n
There are three stages to set up user management in n8n:
1. Configure your n8n instance to use your SMTP server.
2. Start n8n and follow the setup steps in the app.
3. Invite users.
### Step one: SMTP
You need an SMTP server for user management to send invites and password resets. Get the following information from your SMTP provider:
* Server name
* SMTP username
* SMTP password
* SMTP sender name
To set up SMTP with n8n, configure the SMTP environment variables for your n8n instance. For information on how to set environment variables, refer to [Configuration](/hosting/configuration/)
| Variable | Type | Description | Required? |
| -------- | ---- | ----------- | --------- |
| `N8N_EMAIL_MODE` | string | smtp | Required |
| `N8N_SMTP_HOST` | string | _your_SMTP_server_name_ | Required |
| `N8N_SMTP_PORT` | number | _your_SMTP_server_port_ Default is `465`.| Optional |
| `N8N_SMTP_USER` | string | _your_SMTP_username_ | Required |
| `N8N_SMTP_PASS` | string | _your_SMTP_password_ | Required |
| `N8N_SMTP_SENDER` | string | You can select the sender name from the sender addresses. Example: "N8N _contact@n8n.com_"| Required |
| `N8N_SMTP_SSL` | boolean | Whether to use SSL for SMTP (true) or not (false). Defaults to `true`. | Optional |
| `N8N_UM_EMAIL_TEMPLATES_INVITE` | string | Full path to your HTML email template. This overrides the default template for invite emails. | Optional |
| `N8N_UM_EMAIL_TEMPLATES_PWRESET` | string | Full path to your HTML email template. This overrides the default template for password reset emails. | Optional |
If your n8n instance is already running, you need to restart it to enable the new SMTP settings.
!!! note "More configuration options"
There are more configuration options available as environment variables. Refer to [Environment variables](/hosting/configuration/environment-variables/) for a list. These include options to disable tags, workflow templates, and the personalization survey, if you don't want your users to see them.
!!! note "New to SMTP?"
If you're not familiar with SMTP, this [blog post by SendGrid](https://sendgrid.com/blog/what-is-an-smtp-server/) offers a short introduction, while [Wikipedia's Simple Mail Transfer Protocol article](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol) provides more detailed technical background.
### Step two: in-app setup
When you set up user management for the first time, you create an owner account.
1. Open n8n. The app displays a signup screen.
2. Enter your details. Your password must be at least eight characters, including at least one number and one capital letter.
3. Click **Next**. n8n logs you in with your new owner account.
### Step three: invite users
You can now invite other people to your n8n instance.
1. Sign in with your owner account.
2. Click your user icon > **Settings**. n8n opens your **Personal settings** page.
3. Click **Users** to go to the **Users** page.
4. Click **Invite**.
5. Enter the new user's email address.
6. Click **Invite user**. n8n sends an email with a link for the new user to join.
## Set up on n8n Cloud
!!! warning "Irreversible upgrade"
Once you upgrade your Cloud instance to an n8n version with user management, you can't downgrade your version.
### Step one: in-app setup
When you set up user management for the first time, you create an owner account.
1. Open n8n. The app displays a signup screen.
2. Enter your details. Your password must be at least eight characters, including at least one number and one capital letter.
3. Click **Next**. n8n logs you in with your new owner account.
### Step two: invite users
You can now invite other people to your n8n instance.
1. Sign in with your owner account.
2. Click your user icon > **Settings**. n8n opens your **Personal settings** page.
3. Click **Users** to go to the **Users** page.
4. Click **Invite**.
5. Enter the new user's email address.
6. Click **Invite user**. n8n sends an email with a link for the new user to join.
## Manage users
The **Settings** > **Users** page shows all users, including ones with pending invitations.
### Delete a user
1. Click the menu icon by the user you want to delete.
2. Confirm you want to delete them.
3. If they're an active user, choose whether to copy their workflow data and credentials to a new user, or permanently delete their workflows and credentials.
### Resend an invitation to a pending user
Click the menu icon by the user, then click **Resend invite**.
## Skipping or disabling user management
You don't have to use n8n's user management feature. You can:
* Leave it enabled, but choose to skip the setup step. You can use n8n as normal. If you want to set up user management later, go to **Settings** > **Users**.
* Self-hosted only: Disable the feature completely using the `N8N_USER_MANAGEMENT_DISABLED` environment variable. Setting this environment variable to `true` completely hides the feature in your n8n instance. You can't use this setting if you have already set up an owner account.
## Best practices
This sections contains advice on best practices relating to user management in n8n.
* We recommend that owners create a member-level account for themselves. Owners can see all workflows, but there is no way to see who created a particular workflow, so there is a risk of overriding other people's work if you build and edit workflows as an owner.
* Users must be careful not to edit the same workflow simultaneously. It is possible to do it, but the users will overwrite each other's changes.
* To move workflows between accounts, export the workflow as JSON, then import it to the new account. Note that this action loses the workflow history.
* Webhook paths must be unique across the entire instance. This means each webhook path must be unique for all workflows and all users. By default, n8n generates a long random value for the webhook path, but users can edit this to their own custom path. If two users set the same path value:
* The path works for the first workflow that is run or activated.
* Other workflows will error if they try to run with the same path.
* If you run n8n behind a reverse proxy, set the following environment variables so that emails are generated with the correct URL:
* `N8N_HOST`
* `N8N_PORT`
* `N8N_PROTOCOL`
* `N8N_EDITOR_BASE_URL`
More information on these variables is available in [Environment variables](/hosting/configuration/environment-variables/).
* You can't use n8n's user management with basic auth. If your n8n instance currently uses basic auth to authenticate the user, you must remove this before setting up user management.

View File

@@ -87,11 +87,11 @@ Enabling overwrites for credentials allows you to set default values for credent
## User management and SMTP
Refer to [User management](/hosting/authentication/user-management/) for more information on setting up user management and emails.
Refer to [User management](/hosting/authentication/user-management-self-hosted/) for more information on setting up user management and emails.
| Variable | Type | Default | Description |
| :------- | :--- | :------ | :---------- |
| `N8N_USER_MANAGEMENT_DISABLED` | Boolean | `false` | Set to `true` to disable the [user management](/hosting/authentication/user-management/) feature. Note that n8n ignores this environment variable if you have already set up an owner account.|
| `N8N_USER_MANAGEMENT_DISABLED` | Boolean | `false` | Set to `true` to disable the [user management](/hosting/authentication/user-management-self-hosted/) feature. Note that n8n ignores this environment variable if you have already set up an owner account.|
| `N8N_EMAIL_MODE` | String | `smtp` | Enable emails. |
| `N8N_SMTP_HOST` | String | - | _your_SMTP_server_name_ |
| `N8N_SMTP_PORT` | Number | - | _your_SMTP_server_port_ |

View File

@@ -0,0 +1,22 @@
---
description: n8n account types
---
# Account types
There are two account types, owner and member. The account type affects the user permissions and access.
* Owner: this is the account that set up user management. There's one owner account for each n8n instance. You can't transfer ownership.
The owner can:
* Add and remove users
* See all workflows
* Delete tags
* See all credentials (but not the sensitive information)
* Members: these are normal n8n users.
Members can:
* See all workflow tags, create new tags, and assign tags to their workflows. Members can't delete tags.
* Change their own password.
* See their own workflows.
!!! note "Create a member-level account for the owner"
We recommend that owners create a member-level account for themselves. Owners can see all workflows, but there is no way to see who created a particular workflow, so there is a risk of overriding other people's work if you build and edit workflows as an owner.

View File

@@ -0,0 +1,26 @@
---
description: User management best practices.
---
# Best practices for user management
This page contains advice on best practices relating to user management in n8n.
## All platforms
* We recommend that owners create a member-level account for themselves. Owners can see all workflows, but there is no way to see who created a particular workflow, so there is a risk of overriding other people's work if you build and edit workflows as an owner.
* Users must be careful not to edit the same workflow simultaneously. It's possible to do it, but the users will overwrite each other's changes.
* To move workflows between accounts, export the workflow as JSON, then import it to the new account. Note that this action loses the workflow history.
* Webhook paths must be unique across the entire instance. This means each webhook path must be unique for all workflows and all users. By default, n8n generates a long random value for the webhook path, but users can edit this to their own custom path. If two users set the same path value:
* The path works for the first workflow that is run or activated.
* Other workflows will error if they try to run with the same path.
## Self-hosted
* If you run n8n behind a reverse proxy, set the following environment variables so that emails are generated with the correct URL:
* `N8N_HOST`
* `N8N_PORT`
* `N8N_PROTOCOL`
* `N8N_EDITOR_BASE_URL`
More information on these variables is available in [Environment variables](/hosting/configuration/environment-variables/).
* You can't use n8n's user management with basic auth. If your n8n instance currently uses basic auth to authenticate the user, you must remove this before setting up user management.

View File

@@ -0,0 +1,18 @@
---
description: Set up user management on n8n Cloud
---
# Set up user management on n8n Cloud
To access user management, upgrade to version 0.195.0 or newer.
!!! warning "Irreversible upgrade"
Once you upgrade your Cloud instance to an n8n version with user management, you can't downgrade your version.
## Step one: in-app setup
--8<-- "_snippets/user-management/in-app-setup.md"
## Step two: invite users
--8<-- "_snippets/user-management/invite-users.md"

View File

@@ -0,0 +1,25 @@
---
description: User management in n8n
---
# User management
!!! info "Feature availability"
* Available on self-hosted and selected Cloud plans. Refer to [Cloud Pricing](https://n8n.io/pricing/){:target=_blank .external-link} for more information.
* Not available on Desktop.
User management in n8n allows you to invite people to work in your n8n instance. It includes:
* Login and password management
* Adding and removing users
* Two account types: owner and member
!!! note "Privacy"
The user management feature doesn't send personal information, such as email or username, to n8n.
## Setup guides
Follow the guide for your platform:
* [Cloud setup guide](/user-management/cloud-setup/)
* [Self-hosted guide](/hosting/authentication/user-management-self-hosted/)

View File

@@ -0,0 +1,13 @@
# Manage users
The **Settings** > **Users** page shows all users, including ones with pending invitations.
## Delete a user
1. Click the menu icon by the user you want to delete.
2. Confirm you want to delete them.
3. If they're an active user, choose whether to copy their workflow data and credentials to a new user, or permanently delete their workflows and credentials.
## Resend an invitation to a pending user
Click the menu icon by the user, then click **Resend invite**.

View File

@@ -0,0 +1,10 @@
---
description: How to skip or disable user management
---
# Skip or disable user management
You don't have to use n8n's user management feature. You can:
* Leave it enabled, but choose to skip the setup step. You can use n8n as normal. If you want to set up user management later, go to **Settings** > **Users**.
* Self-hosted only: Disable the feature completely using the `N8N_USER_MANAGEMENT_DISABLED` environment variable. Setting this environment variable to `true` completely hides the feature in your n8n instance. You can't use this setting if you have already set up an owner account.

View File

@@ -156,6 +156,13 @@ nav:
- Get the binary data buffer: code-examples/javascript-functions/get-binary-data-buffer.md
- Check incoming data: code-examples/javascript-functions/check-incoming-data.md
- Using console.log: code-examples/console-log.md
- User management:
- user-management/index.md
- Cloud setup: user-management/cloud-setup.md
- Manage users: user-management/manage-users.md
- Account types: user-management/account-types.md
- Skip or disable: user-management/skip-disable.md
- Best practices: user-management/best-practices.md
- Reference:
- reference/index.md
- Release notes: reference/release-notes.md
@@ -470,10 +477,9 @@ nav:
- Supported databases and settings: hosting/configuration/supported-databases-settings.md
- Users and authentication:
- hosting/authentication/index.md
- User management: hosting/authentication/user-management.md
- User management: hosting/authentication/user-management-self-hosted.md
- Basic auth: hosting/authentication/basic-auth.md
- JWT: hosting/authentication/jwt.md
- Security: hosting/security.md
- Logging: hosting/logging.md
- Scaling:
- hosting/scaling/index.md