* 📝 (configuration-authentication.md): Improve formatting and readability of authentication configuration documentation. Add note recommending the use of a .env file for setting variables for security and maintainability.
* remove-export-note
---------
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
4.3 KiB
| title | sidebar_position | slug |
|---|---|---|
| Authentication | 0 | /configuration-authentication |
The login functionality in Langflow serves to authenticate users and protect sensitive routes in the application.
Starting from version 0.5, Langflow introduces an enhanced login mechanism that is governed by a few environment variables. This allows new secure features.
Create a superuser and new users in Langflow
Learn how to create a new superuser, log in to Langflow, and add new users.
-
Create a
.envfile and open it in your preferred editor. -
Add the following environment variables to your file.
LANGFLOW_AUTO_LOGIN=False
LANGFLOW_SUPERUSER=admin
LANGFLOW_SUPERUSER_PASSWORD=securepassword
LANGFLOW_SECRET_KEY=randomly_generated_secure_key
LANGFLOW_NEW_USER_IS_ACTIVE=False
For more information, see Authentication configuration values.
:::tip
The Langflow project includes a .env.example file to help you get started.
You can copy the contents of this file into your own .env file and replace the example values with your own preferred settings.
:::
- Save your
.envfile. - Run Langflow with the configured environment variables.
python -m langflow run --env-file .env
- Sign in with your username
adminand passwordsecurepassword. - To open the Admin Page, click your user profile image, and then select Admin Page.
You can also go to
http://127.0.0.1:7861/admin. - To add a new user, click New User, and then add the Username and Password.
- To activate the new user, select Active. The user can only sign in if you select them as Active.
- To give the user
superuserprivileges, click Superuser. - Click Save.
- To confirm your new user has been created, sign out of Langflow, and then sign back in using your new Username and Password.
Manage Superuser with the Langflow CLI
Langflow provides a command-line utility for interactively creating superusers:
- Enter the CLI command:
langflow superuser
- Langflow prompts you for a Username and Password:
langflow superuser
Username: new_superuser_1
Password:
Default folder created successfully.
Superuser created successfully.
- To confirm your new superuser was created successfully, go to the Admin Page at
http://127.0.0.1:7861/admin.
Authentication configuration values
The following table lists the available authentication configuration variables, their descriptions, and default values:
| Variable | Description | Default |
|---|---|---|
LANGFLOW_AUTO_LOGIN |
Enables automatic login | True |
LANGFLOW_SUPERUSER |
Superuser username | - |
LANGFLOW_SUPERUSER_PASSWORD |
Superuser password | - |
LANGFLOW_SECRET_KEY |
Key for encrypting superuser password | - |
LANGFLOW_NEW_USER_IS_ACTIVE |
Automatically activates new users | False |
LANGFLOW_AUTO_LOGIN
By default, this variable is set to True. When enabled, Langflow operates as it did in versions prior to 0.5, including automatic login without requiring explicit user authentication.
To disable automatic login and enforce user authentication:
LANGFLOW_AUTO_LOGIN=False
LANGFLOW_SUPERUSER and LANGFLOW_SUPERUSER_PASSWORD
These environment variables are only relevant when LANGFLOW_AUTO_LOGIN is set to False. They specify the username and password for the superuser, which is essential for administrative tasks. To create a superuser manually:
LANGFLOW_SUPERUSER=admin
LANGFLOW_SUPERUSER_PASSWORD=securepassword
LANGFLOW_SECRET_KEY
This environment variable holds a secret key used for encrypting the superuser's password. Make sure to set this to a secure, randomly generated string.
LANGFLOW_SECRET_KEY=randomly_generated_secure_key
LANGFLOW_NEW_USER_IS_ACTIVE
By default, this variable is set to False. When enabled, new users are automatically activated and can log in without requiring explicit activation by the superuser.
LANGFLOW_NEW_USER_IS_ACTIVE=False