Application


说明:了解如何为您的Flowise实例设置应用级访问控制

应用


邮箱与密码

从v3.0.1版本开始,引入了一种新的身份验证方法。Flowise使用了一个基于Passport.js的认证系统,该系统将JWT令牌存储在仅限HTTP的安全cookie中。当用户登录时,系统会使用bcrypt哈希比较来验证其电子邮件/密码是否与数据库中的信息一致,然后生成两个JWT令牌:一个短期访问令牌(默认有效期为60分钟)和一个长期刷新令牌(默认有效期为90天)。这些令牌以安全cookie的形式存储。对于后续请求,系统会从cookie中提取JWT,使用Passport的JWT策略验证签名和声明,并检查用户会话是否仍然存在。系统还支持在访问令牌过期时自动刷新令牌,并根据配置使用Redis或数据库存储来维护会话。

对于一直使用用户名和密码(已弃用)的现有用户,您需要设置一个新的管理员账户。为防止未经授权的所有权声明,您必须首先使用配置为FLOWISE_USERNAMEFLOWISE_PASSWORD的现有用户名和密码进行身份验证。

以下环境变量可以进行修改:

申请网址

  • APP_URL - 您托管的Flowise应用程序的URL。默认为http://localhost:3000

JWT环境变量配置

要配置Flowise的JWT身份验证参数,用户可以修改以下环境变量:

JWT_AUTH_TOKEN_SECRET - 用于签署访问令牌的密钥

  • JWT_REFRESH_TOKEN_SECRET - 刷新令牌的密钥(若未设置,则默认为认证令牌密钥)

  • JWT_TOKEN_EXPIRY_IN_MINUTES - 访问令牌有效期(默认值:60分钟)

  • JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES - 刷新令牌有效期(默认值:129,600 分钟或 90 天)

  • JWT_AUDIENCE - 令牌验证受众声明(默认值:'AUDIENCE')

  • JWT_ISSUER - 令牌验证中的颁发者声明(默认值:'ISSUER')

  • EXPRESS_SESSION_SECRET - 会话加密密钥(默认值:'flowise')

  • EXPIRE_AUTH_TOKENS_ON_RESTART - 设置为 'true' 可在服务器重启时使所有令牌失效(适用于开发环境)

SMTP 电子邮件配置

配置这些变量以启用密码重置和通知的电子邮件功能:

  • SMTP_HOST - 您的SMTP服务器的主机名(例如,smtp.gmail.comsmtp.host.com

  • SMTP_PORT - SMTP连接的端口号(常见值:TLS为587,SSL为465,未加密为25

  • SMTP_USER - SMTP认证的用户名(通常为您的电子邮件地址)

  • SMTP_PASSWORD - SMTP认证的密码或特定应用密码

  • SMTP_SECURE - 设置为 true 表示使用 SSL/TLS 加密,设置为 false 表示使用未加密连接

  • ALLOW_UNAUTHORIZED_CERTS - 设置为 true 可允许使用自签名证书(不建议在生产环境中使用)

  • SENDER_EMAIL - 发送邮件时将显示的“发件人”电子邮件地址

安全和令牌配置

这些变量控制着身份验证的安全性、令牌过期以及密码哈希处理:

  • PASSWORD_RESET_TOKEN_EXPIRY_IN_MINS - 密码重置令牌的过期时间(默认值:15分钟)

  • PASSWORD_SALT_HASH_ROUNDS - 密码哈希时使用的bcrypt盐轮数(默认值:10,轮数越高越安全,但速度越慢)

  • TOKEN_HASH_SECRET - 用于对令牌和敏感数据进行哈希运算的密钥(请使用一个强密码,随机字符串)

安全最佳实践

  • TOKEN_HASH_SECRET使用强壮且唯一的值,并安全地存储它们

  • 在生产环境中,请使用 SMTP_SECURE=trueALLOW_UNAUTHORIZED_CERTS=false

  • 根据您的安全需求,设置适当的令牌过期时间

  • 在生产环境中,使用更高的PASSWORD_SALT_HASH_ROUNDS值(12-15)以提高安全性

用户名与密码(已弃用)

应用级授权通过用户名和密码保护您的Flowise实例。这可以防止您的应用在在线部署时被任何人访问。

如何设置用户名和密码

Npm

  1. 安装Flowise

使用npm安装全局模块flowise
  1. 使用用户名和密码启动Flowise

npx flowise start --FLOWISE_用户名=user --FLOWISE_密码=1234

Docker

  1. 导航至docker文件夹

进入docker目录
  1. 创建 .env 文件,并指定 PORTFLOWISE_USERNAMEFLOWISE_PASSWORD

端口=3000
FLOWISE_用户名=用户
FLOWISE_密码=1234
  1. FLOWISE_USERNAMEFLOWISE_PASSWORD参数传递到docker-compose.yml文件中:

环境:
    - 端口=${端口}
    - FLOWISE_USERNAME=${FLOWISE_USERNAME}
    - FLOWISE_PASSWORD=${FLOWISE_PASSWORD}
  1. docker compose up -d

  2. 您可以通过执行docker compose stop来停止容器

Git 克隆

要启用应用级身份验证,请将FLOWISE_USERNAMEFLOWISE_PASSWORD添加到packages/server中的.env文件中:

FLOWISE_用户名=用户
FLOWISE_密码=1234

Last updated