H3Hub 有三种登录方式:API Key、Bearer Token、浏览器会话。自动化脚本用 API Key 就够了,网页前端走浏览器会话。

API Key(推荐给自动化)

请求时放在头里:

X-API-Key: h3k_xxxxxxxx

创建 Key 的接口是 POST /api/v1/me/api-keys,返回的明文 api_key 只显示一次。丢了就重新建一把,旧 Key 可以在 POST /api/v1/me/api-keys/{key_id}/revoke 吊销。

建议每个自动化任务单独建一把 Key。这样某个脚本出问题或者 Key 泄露,只吊销那一把,不影响其他脚本。

Bearer Token

登录接口会返回 access_token,请求时带上:

Authorization: Bearer <access_token>

如果 Bearer 里的 token 以 h3k_ 开头,那它本质上就是一把 API Key,走同样的校验。

浏览器会话

浏览器前端用的是 httpOnly Cookie,登录后自动带上,不需要手动传认证头。这个方式主要给网页用,写脚本没必要碰。

访问控制

平台有三个层面的控制,都是管理端在管:

  • 全局开关 API_KEY_AUTH_ENABLED=false:所有 API Key 立即失效,网页登录不受影响。
  • 用户级开关:管理员可以关掉某个用户的 API 访问,但用户仍然能网页登录。
  • Key 级开关:管理员可以单独禁用某一把 Key。

被禁用后调用会返回 401。遇到这种情况,先找管理员确认是不是 Key 被关了,别急着重新生成。