Application
说明:了解如何为您的Flowise实例设置应用级访问控制
应用
邮箱与密码
从v3.0.1版本开始,引入了一种新的身份验证方法。Flowise使用了一个基于Passport.js的认证系统,该系统将JWT令牌存储在仅限HTTP的安全cookie中。当用户登录时,系统会使用bcrypt哈希比较来验证其电子邮件/密码是否与数据库中的信息一致,然后生成两个JWT令牌:一个短期访问令牌(默认有效期为60分钟)和一个长期刷新令牌(默认有效期为90天)。这些令牌以安全cookie的形式存储。对于后续请求,系统会从cookie中提取JWT,使用Passport的JWT策略验证签名和声明,并检查用户会话是否仍然存在。系统还支持在访问令牌过期时自动刷新令牌,并根据配置使用Redis或数据库存储来维护会话。
对于一直使用用户名和密码(已弃用)的现有用户,您需要设置一个新的管理员账户。为防止未经授权的所有权声明,您必须首先使用配置为FLOWISE_USERNAME和FLOWISE_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.com、smtp.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=true和ALLOW_UNAUTHORIZED_CERTS=false根据您的安全需求,设置适当的令牌过期时间
在生产环境中,使用更高的
PASSWORD_SALT_HASH_ROUNDS值(12-15)以提高安全性
用户名与密码(已弃用)
应用级授权通过用户名和密码保护您的Flowise实例。这可以防止您的应用在在线部署时被任何人访问。
如何设置用户名和密码
Npm
安装Flowise
使用npm安装全局模块flowise使用用户名和密码启动Flowise
npx flowise start --FLOWISE_用户名=user --FLOWISE_密码=1234Docker
导航至
docker文件夹
进入docker目录创建
.env文件,并指定PORT、FLOWISE_USERNAME和FLOWISE_PASSWORD
端口=3000
FLOWISE_用户名=用户
FLOWISE_密码=1234将
FLOWISE_USERNAME和FLOWISE_PASSWORD参数传递到docker-compose.yml文件中:
环境:
- 端口=${端口}
- FLOWISE_USERNAME=${FLOWISE_USERNAME}
- FLOWISE_PASSWORD=${FLOWISE_PASSWORD}docker compose up -d您可以通过执行
docker compose stop来停止容器
Git 克隆
要启用应用级身份验证,请将FLOWISE_USERNAME和FLOWISE_PASSWORD添加到packages/server中的.env文件中:
FLOWISE_用户名=用户
FLOWISE_密码=1234Last updated