身份驗證
- Authorization: ApiKey
- API 金鑰只能放在 POST /api/v1/auth/token 的 Authorization 請求標頭中。 不要將其放入 JSON、URL 或查詢參數。
- Authorization: Bearer
- 資源請求使用回傳的權杖,並根據 expires_at 更新;expires_in 的單位為秒。
為什麼要先取得權杖?
使用 API 金鑰取得權杖。權杖有效期限為 15 分鐘,可用於多個請求。存取資源時,只需在 Authorization: Bearer 標頭中傳送權杖。
一般請求不包含 API 金鑰。如果只有權杖外洩,最多只能在到期前存取資源。但 API 金鑰遭竊後,仍可能被用來取得新的權杖。
權杖的有效期限是多久?
- expires_in
- 自簽發起 900 秒,也就是 15 分鐘。傳送請求不會延長有效期限。
- expires_at
- 以 UTC 表示的到期時間。目前的存取限制可能會提早阻擋權杖存取。
何時取得新權杖?
多個請求可重複使用同一權杖,並在 expires_at 之前取得新權杖。無須在每次操作前取得權杖。請使用 API 金鑰取得新權杖。
存取遭拒與重試
- 401
- 401 不一定代表權杖已過期。如果已過期,取得新權杖後最多重試讀取一次。如果取得權杖時回傳 401,請檢查金鑰並停止自動嘗試。
- 403
- 遇到 403 時,請檢查權限、IP 限制及方案。取得新權杖不會恢復已撤銷的存取權限。
IP 限制
- 存取權杖不能繞過金鑰的目前權限、商店權益、撤銷狀態或 IP 限制。
- 適當情況下,可將金鑰限制為整合的來源位址。
- 管理員可以編輯此清單;最多允許 32 個位址。
金鑰管理
- API 金鑰管理與整合的資源權限相互獨立。
- 只有 owner 可以向群組授予查看、建立、編輯或刪除金鑰的管理權限;獲授權的群組成員只能執行該群組獲授的操作。
速率限制
Engine ≥ 4.143.0. 每次權杖回應都包含核發時商店政策中的 data.rate_limits。所有金鑰共用這些額度;取得新權杖不會重設額度。方案變更可能在權杖到期前生效。
- read_per_minute
- 每分鐘讀取請求數。
- write_per_minute
- 每分鐘寫入請求數;此值不授予寫入權限。
- auth_per_minute
- 每分鐘權杖請求數,包含失敗的身分驗證嘗試。