跳到主要内容

认证

本指南涵盖 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 只保存最后保存的用户的作品。


_10
LANGFLOW_AUTO_LOGIN=True

LANGFLOW_SUPERUSER 和 LANGFLOW_SUPERUSER_PASSWORD

这些环境变量仅在 LANGFLOW_AUTO_LOGIN 设置为 False 时相关。它们指定了超级用户的用户名和密码,这对于管理任务至关重要


_10
LANGFLOW_SUPERUSER=administrator
_10
LANGFLOW_SUPERUSER_PASSWORD=securepassword

LANGFLOW_SECRET_KEY

此环境变量保存用于加密敏感数据(如 API 密钥)的密钥。Langflow 使用 Fernet 库进行密钥加密。


_10
LANGFLOW_SECRET_KEY=dBuuuB_FHLvU8T9eUNlxQF9ppqRxwWpXXQ42kM2_fb

警告

如果未提供密钥,Langflow 会自动生成一个。这不推荐用于生产环境,尤其是在 Kubernetes 等多实例部署中,自动生成的密钥无法解密其他实例加密的数据。

要生成 LANGFLOW_SECRET_KEY,请按照以下步骤操作

  1. 运行命令生成并将密钥复制到剪贴板。

_10
# 复制到剪贴板 (macOS)
_10
python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')" | pbcopy
_10
_10
# 复制到剪贴板 (Linux)
_10
python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')" | xclip -selection clipboard
_10
_10
# 或者只打印
_10
python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')"

  1. 将该值粘贴到您的 .env 文件中

_10
LANGFLOW_SECRET_KEY=dBuuuB_FHLvU8T9eUNlxQF9ppqRxwWpXXQ42kM2_fb

LANGFLOW_NEW_USER_IS_ACTIVE

当此选项设置为 True 时,新用户会自动激活,无需超级用户从 Admin page 进行显式激活即可登录。默认情况下,此变量设置为 False


_10
LANGFLOW_NEW_USER_IS_ACTIVE=False

启动一个启用了认证的安全 Langflow 服务器

使用认证配置值中描述的变量,启动一个启用了认证并使用密钥加密的安全 Langflow 服务器。

登录为超级用户后,在您的服务器上创建一个新用户。

启动 Langflow 服务器

  1. 创建一个 .env 文件,并使用安全服务器的值填充它。该服务器会创建一个超级用户帐户,要求用户在使用 Langflow 前登录,并使用 LANGFLOW_SECRET_KEY 加密密钥,LANGFLOW_SECRET_KEY 将在下一步中添加。创建一个包含以下配置的 .env 文件

_10
LANGFLOW_AUTO_LOGIN=False
_10
LANGFLOW_SUPERUSER=administrator
_10
LANGFLOW_SUPERUSER_PASSWORD=securepassword
_10
LANGFLOW_SECRET_KEY=your_generated_key
_10
LANGFLOW_NEW_USER_IS_ACTIVE=False

  1. 生成一个用于加密敏感数据的密钥。

使用以下命令之一生成您的密钥


_10
# 复制到剪贴板 (macOS)
_10
python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')" | pbcopy
_10
_10
# 复制到剪贴板 (Linux)
_10
python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')" | xclip -selection clipboard
_10
_10
# 或者只打印
_10
python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')"

  1. 将您的 LANGFLOW_SECRET_KEY 粘贴到 .env 文件中。

  2. 使用您的 .env 文件中的配置启动 Langflow。


_10
uv run langflow run --env-file .env

  1. 验证服务器是否正在运行。默认地址是 http://localhost:7860

以管理员身份管理用户

  1. 要以超级用户身份完成首次登录,请访问 http://localhost:7860/login
  2. 使用您的超级用户凭据登录
  • 用户名:LANGFLOW_SUPERUSER 的值(例如,administrator
  • 密码:LANGFLOW_SUPERUSER_PASSWORD 的值(例如,securepassword
信息

默认值是 langflowlangflow

  1. 要管理您服务器上的用户,请导航到 http://localhost:7860/admin 处的 /admin 页面。点击您的用户资料图片,然后点击 Admin Page

作为超级用户,您可以创建用户、设置权限、重置密码和删除帐户。

  1. 要创建用户,请在 Langflow UI 中,点击 New User,然后填写以下字段
  • 用户名
  • 密码确认密码
  • 为新用户选择 Active 并取消选择 SuperuserActive 用户可以登录系统并访问他们的流程。Inactive 用户无法登录或查看他们的流程。Superuser 拥有完整的管理权限。
  1. 要完成用户创建,请点击 Save。您的新用户会出现在 Admin Page 中。
  2. 为了确认您的新用户功能是否正常,请退出 Langflow,然后使用您的新用户凭据重新登录。尝试访问 /admin 页面。您应该会被重定向到 /flows 页面,因为新用户不是超级用户。

您已成功启动一个启用了认证并使用密钥加密的安全 Langflow 服务器。

Search