请求鉴权
所有 /v1 端点都通过 HTTP Authorization 请求头接收不透明密钥。不要把密钥放在 URL 查询参数里;URL 可能被代理、浏览器历史和分析日志记录。
密钥与租户绑定
密钥形态为 yj_live_ 加 32 个随机 base62 字符。创建时,服务端把当前商户绑定进密钥记录;之后每次请求都从凭证解析租户。/v1 不接受 merchantId,调用方不能通过改参数访问另一租户。
明文只显示一次
服务端只保存完整密钥的 SHA-256 哈希和可展示前缀。创建响应是唯一一次返回明文;刷新后无法恢复。遗失时请创建新密钥并撤销旧密钥,不要要求支持人员「找回」。
最小权限
密钥 scope 按只读数据域授权:read:visibility、read:citations 与 read:sov。只给集成所需 scope;缺少 scope 的请求返回 permission_error,不要通过共享一个全权限密钥绕过。
轮换
先创建新密钥,把它部署到所有调用方并完成一次成功请求;确认旧密钥不再有流量后再撤销。两个密钥短暂并存能避免停机。不要先撤销再部署。
撤销与过期
撤销是立即生效的服务端状态:下一次请求即返回 401。密钥也可设置过期时间,0 表示不过期。为避免泄露密钥状态,撤销、过期或未知密钥统一返回 invalid_api_key。