认证
本指南涵盖 Langflow 的认证系统和 API 密钥管理,包括如何保护您的部署以及管理对流程和组件的访问。
Langflow 项目包含一个 .env.example
文件,可帮助您入门。您可以将此文件的内容复制到您自己的 .env
文件中,并用您首选的设置替换示例值。
认证配置值
本节介绍可用的认证配置变量。
LANGFLOW_AUTO_LOGIN
当设置为 True
时,Langflow 会自动使用用户名 langflow
和密码 langflow
登录用户,无需用户认证。要在您的 .env
文件中禁用自动登录并强制用户认证,请将此值设置为 False
。默认情况下,此变量设置为 True
。
Langflow 不允许用户同时或共享访问流程。如果启用了 AUTO_LOGIN
并且用户管理被禁用 (LANGFLOW_NEW_USER_IS_ACTIVE=true
),用户可以访问相同的环境,但没有密码保护。如果两个用户访问同一个流程,Langflow 只保存最后保存的用户的作品。
_10LANGFLOW_AUTO_LOGIN=True
LANGFLOW_SUPERUSER 和 LANGFLOW_SUPERUSER_PASSWORD
这些环境变量仅在 LANGFLOW_AUTO_LOGIN
设置为 False
时相关。它们指定了超级用户的用户名和密码,这对于管理任务至关重要
_10LANGFLOW_SUPERUSER=administrator_10LANGFLOW_SUPERUSER_PASSWORD=securepassword
LANGFLOW_SECRET_KEY
此环境变量保存用于加密敏感数据(如 API 密钥)的密钥。Langflow 使用 Fernet 库进行密钥加密。
_10LANGFLOW_SECRET_KEY=dBuuuB_FHLvU8T9eUNlxQF9ppqRxwWpXXQ42kM2_fb
如果未提供密钥,Langflow 会自动生成一个。这不推荐用于生产环境,尤其是在 Kubernetes 等多实例部署中,自动生成的密钥无法解密其他实例加密的数据。
要生成 LANGFLOW_SECRET_KEY
,请按照以下步骤操作
- 运行命令生成并将密钥复制到剪贴板。
- macOS/Linux
- Windows
_10# 复制到剪贴板 (macOS)_10python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')" | pbcopy_10_10# 复制到剪贴板 (Linux)_10python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')" | xclip -selection clipboard_10_10# 或者只打印_10python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')"
_10# 复制到剪贴板_10python -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')" | clip_10_10# 或者只打印_10python -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')"
- 将该值粘贴到您的
.env
文件中
_10LANGFLOW_SECRET_KEY=dBuuuB_FHLvU8T9eUNlxQF9ppqRxwWpXXQ42kM2_fb
LANGFLOW_NEW_USER_IS_ACTIVE
当此选项设置为 True
时,新用户会自动激活,无需超级用户从 Admin page 进行显式激活即可登录。默认情况下,此变量设置为 False
。
_10LANGFLOW_NEW_USER_IS_ACTIVE=False
启动一个启用了认证的安全 Langflow 服务器
使用认证配置值中描述的变量,启动一个启用了认证并使用密钥加密的安全 Langflow 服务器。
登录为超级用户后,在您的服务器上创建一个新用户。
启动 Langflow 服务器
- 创建一个
.env
文件,并使用安全服务器的值填充它。该服务器会创建一个超级用户帐户,要求用户在使用 Langflow 前登录,并使用LANGFLOW_SECRET_KEY
加密密钥,LANGFLOW_SECRET_KEY
将在下一步中添加。创建一个包含以下配置的.env
文件
_10LANGFLOW_AUTO_LOGIN=False_10LANGFLOW_SUPERUSER=administrator_10LANGFLOW_SUPERUSER_PASSWORD=securepassword_10LANGFLOW_SECRET_KEY=your_generated_key_10LANGFLOW_NEW_USER_IS_ACTIVE=False
- 生成一个用于加密敏感数据的密钥。
使用以下命令之一生成您的密钥
- macOS/Linux
- Windows
_10# 复制到剪贴板 (macOS)_10python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')" | pbcopy_10_10# 复制到剪贴板 (Linux)_10python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')" | xclip -selection clipboard_10_10# 或者只打印_10python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')"
_10# 复制到剪贴板_10python -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')" | clip_10_10# 或者只打印_10python -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')"
-
将您的
LANGFLOW_SECRET_KEY
粘贴到.env
文件中。 -
使用您的
.env
文件中的配置启动 Langflow。
_10uv run langflow run --env-file .env
- 验证服务器是否正在运行。默认地址是
http://localhost:7860
。
以管理员身份管理用户
- 要以超级用户身份完成首次登录,请访问
http://localhost:7860/login
。 - 使用您的超级用户凭据登录
- 用户名:
LANGFLOW_SUPERUSER
的值(例如,administrator
) - 密码:
LANGFLOW_SUPERUSER_PASSWORD
的值(例如,securepassword
)
默认值是 langflow
和 langflow
。
- 要管理您服务器上的用户,请导航到
http://localhost:7860/admin
处的/admin
页面。点击您的用户资料图片,然后点击 Admin Page。
作为超级用户,您可以创建用户、设置权限、重置密码和删除帐户。
- 要创建用户,请在 Langflow UI 中,点击 New User,然后填写以下字段
- 用户名
- 密码和确认密码
- 为新用户选择 Active 并取消选择 Superuser。Active 用户可以登录系统并访问他们的流程。Inactive 用户无法登录或查看他们的流程。Superuser 拥有完整的管理权限。
- 要完成用户创建,请点击 Save。您的新用户会出现在 Admin Page 中。
- 为了确认您的新用户功能是否正常,请退出 Langflow,然后使用您的新用户凭据重新登录。尝试访问
/admin
页面。您应该会被重定向到/flows
页面,因为新用户不是超级用户。
您已成功启动一个启用了认证并使用密钥加密的安全 Langflow 服务器。