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 被关了,别急着重新生成。