跳至內容
ShopentlyLearn

身份驗證

了解 API 金鑰與權杖的差異、交換目的、15 分鐘有效期限,以及更新與保護存取的方法。

身份驗證

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
每分鐘權杖請求數,包含失敗的身分驗證嘗試。

操作

POST取得 · 權杖 — 身份驗證/api/v1/auth/token