API Key 与认证
不要在没有反向代理、TLS、显式管理员凭据和 secret key 配置的情况下,直接把 SkillFlaw 端口暴露到公网。
生产环境至少应显式设置 SKILLFLAW_SUPERUSER、SKILLFLAW_SUPERUSER_PASSWORD,并优先使用 SKILLFLAW_SECRET_KEY_FILE 管理密钥文件。
更多说明请参阅配置受保护的 SkillFlaw 服务。
认证凭据用于防止未授权访问你的 SkillFlaw 服务、流程,以及流程中通过组件连接的外部服务。
在 SkillFlaw 中,常见凭据分为三类:
- SkillFlaw API Key:用于调用 SkillFlaw API,以及授权服务端执行流程、上传文件等动作。
- 组件 API Key:用于 SkillFlaw 与外部服务之间的鉴权,例如模型服务商、数据库或第三方 API。
- 认证环境变量:用于控制 SkillFlaw 的用户认证、API Key 校验、Webhook 鉴权与 Cookie 行为。
SkillFlaw API Key
你可以使用 SkillFlaw API Key 以编程方式调用 SkillFlaw。
默认情况下,大多数 SkillFlaw API 端点(例如 /api/v1/run/$FLOW_ID)都需要 API Key 认证。
SkillFlaw 支持两种 API Key 校验来源:
db:校验数据库中保存的 SkillFlaw API Key(默认)env:使用环境变量SKILLFLAW_API_KEY参与校验,适合通过部署配置统一注入 API Key 的场景
如果你希望 Webhook 端点也强制启用 API Key 校验,请使用 SKILLFLAW_WEBHOOK_AUTH_ENABLE。
如果你要为 SkillFlaw MCP 服务配置认证,请参阅将 SkillFlaw 用作 MCP 服务器。
SkillFlaw API Key 的权限边界
SkillFlaw API Key 继承创建该 Key 的用户权限。 也就是说,你创建的 API Key 拥有与你当前账号一致的访问范围,包括你有权访问的流程、组件和 SkillFlaw 数据。
在单用户环境中,你通常就是超级用户,因此你创建的 API Key 也具有超级用户权限。
在多用户环境中:
- 非超级用户不能通过自己的 API Key 访问他人资源
- 超级用户也不能直接绕过资源归属去运行其他用户拥有的流程
- 如果要安全地管理用户与多账户访问,必须先完成受保护部署配置
创建 SkillFlaw API Key
你可以在 SkillFlaw 的 Settings 中创建 API Key。
保留的 skillflaw api-key CLI 子命令已经不再负责创建 API Key,它只会提示“未认证的 CLI API Key 创建流程已不再支持”。
- SkillFlaw Settings
- SkillFlaw CLI
- 在 SkillFlaw 页头点击个人头像,然后选择 Settings。
- 点击 SkillFlaw API Keys。
- 点击 Add New。
- 输入名称,然后点击 Create API Key。
- 复制并妥善保存该 Key。
skillflaw api-key 当前只保留迁移提示作用,不再从终端直接生成 API Key。
当前 CLI 行为请参阅 skillflaw api-key。
使用 SkillFlaw API Key
调用 SkillFlaw API 时,可以通过 x-api-key 请求头或查询参数传入 API Key。
- HTTP header
- Query parameter
_10curl -X POST \_10 "http://$SKILLFLAW_SERVER_ADDRESS/api/v1/run/$FLOW_ID?stream=false" \_10 -H "Content-Type: application/json" \_10 -H "x-api-key: $SKILLFLAW_API_KEY" \_10 -d '{"inputs": {"text": ""}, "tweaks": {}}'
_10curl -X POST \_10 "http://$SKILLFLAW_SERVER_ADDRESS/api/v1/run/$FLOW_ID?x-api-key=$SKILLFLAW_API_KEY" \_10 -H "Content-Type: application/json" \_10 -d '{"inputs": {"text": ""}, "tweaks": {}}'
更多请求示例请参阅开始使用 SkillFlaw API与使用 SkillFlaw API 触发流程。
跟踪 API Key 使用情况
默认情况下,SkillFlaw 会在数据库中记录 API Key 的 total_uses 与 last_used_at 等使用痕迹。
如果你希望在高并发场景下降低这类写入带来的数据库竞争,可以在环境变量中设置:
_10SKILLFLAW_DISABLE_TRACK_APIKEY_USAGE=True
撤销 API Key
如果要撤销并删除 API Key:
- 在 SkillFlaw 页头点击个人头像,然后选择 Settings。
- 点击 SkillFlaw API Keys