身份验证
FabHub 支持两种模型:用于租户自有自动化的 API 密钥,以及用于代表租户行事的已批准合作伙伴应用的 OAuth。
API 密钥
在每个请求中通过 X-API-Key 标头发送密钥(也接受 Authorization: Bearer <key> 形式):
curl https://api.fabhub.app/v1/items \
-H "X-API-Key: $FABHUB_API_KEY"
- 前缀: 非生产环境使用
pk_test_*,生产环境使用pk_live_*。 - 管理: 在 Settings -> Integrations -> API 下创建、设定作用域及吊销密钥。
- 存储: 密钥仅显示一次。请将其保存在服务端;轮换已泄露的密钥并吊销未使用的密钥。
作用域
密钥携带最小权限作用域。缺少所需作用域的请求会返回 403,并带有 code: "SCOPE_REQUIRED"。
| 作用域 | 授予权限 |
|---|---|
items:read | 列出并读取物料 |
items:write | 创建并更新物料 |
orders:read | 列出订单 |
contacts:read | 列出联系人 |
organization:read | 读取组织资料 |
usage:read | 读取 API 用量摘要 |
audit:read | 导出审计事件(企业版) |
webhooks:read | 列出并读取 Webhook 端点 |
webhooks:write | 创建并更新 Webhook 端点(企业版) |
webhooks:delete | 删除 Webhook 端点 |
webhooks:deliveries:read | 读取 Webhook 投递尝试 |
检查凭据
GET /v1/auth/context 返回调用密钥的租户、套餐、作用域、速率限制层级及过期时间,便于诊断,也便于在缺少作用域时尽早失败。
OAuth
OAuth 是合作伙伴应用模型。已批准的应用使用带 PKCE 的授权码(Authorization Code)进行用户授权访问,或使用客户端凭据(Client Credentials)进行已批准的机密机对机访问。
公共端点:
GET /oauth/authorizePOST /oauth/tokenPOST /oauth/revoke
令牌端点会签发一个受限的租户 API 密钥(一个 pk_live_* / pk_test_* 凭据),以 access_token 形式返回,并附带 token_type: Bearer。请将其作为 Authorization: Bearer <token> 或 X-API-Key 发送。API 会在每个请求上重新检查租户、套餐、应用状态和作用域,因此吊销或降级的访问会立即生效。
托管 MCP 授权
托管 MCP 请求使用限定于公共 API 资源的 bearer 凭据。MCP 工具与公共 API 作用域一一对应,写工具需要显式确认输入,且凭据不会被 MCP 进程持久化。