大多數現實世界的 API 都需要驗證,以確保只有授權使用者才能存取受保護的資源。當您嘗試在沒有適當驗證的情況下存取受保護的端點時,通常會收到 401 Unauthorized 錯誤。在本文中,我們將學習如何在 Apidog 中處理驗證,以 Pet Store API 為例。我們將介紹如何登入、獲取驗證 Token,並使用該 Token 存取受保護的端點。
1. 什麼是 API 驗證?#
驗證 (Authentication) 是驗證您的身分的過程。當您發出 API 請求時,伺服器需要知道您有權存取您正在請求的資源。Bearer Token (JWT):一種基於 Token 的驗證,您在請求標頭中包含 Token
對於本教學,我們將重點關注 Bearer Token 驗證,這是最常見的方法之一。
2. 驗證流程#
1.
登入:將您的憑證(使用者名稱和密碼)發送到登入端點
3.
使用 Token:在後續請求中包含 Token 以存取受保護的端點
登入端點:POST /user/login — 接受使用者名稱和密碼,返回 Token
受保護的端點:如 POST /pets、PUT /pets/{id} 和 DELETE /pets/{id} 等端點需要驗證
3. 步驟 1:登入並獲取 Token#
發送登入請求#
1.
在您的 Apidog 專案中打開 "Login" 端點 (POST /user/login)。
{
"username": "johndoe",
"password": "securePassword123"
}
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresAt": "2024-12-31T23:59:59Z"
}
token 欄位包含您後續請求所需的驗證 Token。將 Token 提取為變數#
要在其他請求中使用此 Token,我們需要提取它並將其儲存為變數:1.
在 Run 分頁中,向下捲動到 Post Processors 部分。
2.
點擊 "Add PostProcessor" 並選擇 "Extract Variable"。
3.
Variable Scope:選擇 "Global Variables Shared within Project"
Extraction Source:選擇 "Response JSON"
JSONPath Expression:輸入 $.token 以從回應中提取 Token
5.
再次發送請求。請求完成後,Token 將儲存在 {{auth_token}} 變數中。
4. 步驟 2:在受保護的端點中使用 Token#
現在我們已將 Token 儲存在變數中,我們可以使用它來存取受保護的端點。讓我們嘗試建立新寵物,這需要驗證。配置 Bearer Token 驗證#
1.
在您的 Apidog 專案中打開 "Create a pet" 端點 (POST /pets)。
3.
在 Authorization 部分(通常位於 URL 欄下方),點擊 Authorization 分頁。
4.
從 Type 下拉選單中選擇 "Bearer Token"。
5.
在 Token 欄位中,輸入:{{auth_token}}
Authorization: Bearer {{auth_token}}
當您發送請求時,Apidog 將用實際的 Token 值替換 {{auth_token}}。發送經過驗證的請求#
1.
填寫請求 Body(您可以使用 "Auto-generate" 功能或手動輸入值)。
3.
如果驗證成功,您將收到帶有寵物詳細資訊的 201 Created 回應。
如果您看到 401 Unauthorized 錯誤,這意味著:Token 可能已過期(Token 通常有過期時間)
在這種情況下,請嘗試再次登入以獲取新的 Token。
5. 查看實際請求#
要驗證 Token 是否正確包含,您可以檢查實際請求:1.
發送請求後,切換到回應面板中的 "Actual Request" 分頁。
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
這確認了 Apidog 在發送請求時正確地用實際 Token 值替換了 {{auth_token}}。
6. 在不同級別設定驗證#
請求級別#
為特定端點設定驗證(如我們上面所做)。當不同端點需要不同驗證方法時,這很有用。資料夾/模組級別#
為整個資料夾或模組設定驗證。該資料夾中的所有端點將繼承驗證設定。當一組中的所有端點需要相同的驗證時,這很有用。4.
配置驗證(例如,使用 {{auth_token}} 的 Bearer Token)。
全域級別#
為整個專案設定全域驗證。當所有端點需要相同的驗證方法時,這很有用。
7. 其他驗證類型#
雖然我們專注於 Bearer Token 驗證,但 Apidog 支援許多其他驗證類型:Basic Auth:發送使用者名稱和密碼(Base64 編碼)
配置過程類似:在 Authorization 分頁中選擇驗證類型並提供必要的憑證(最好使用變數以確保安全)。
8. 關鍵重點#
驗證 在存取受保護的 API 端點時驗證您的身分。
Bearer Token 是一種常見的驗證方法,您在 Authorization 標頭中包含 Token。
登入流程:發送憑證 → 分收 Token → 在後續請求中使用 Token。
使用 Post Processors 從登入回應中 提取 Token 並將它們儲存為變數。
在 Authorization 部分 使用變數(如 {{auth_token}})以自動在請求中包含 Token。
根據您的需要,在請求、資料夾或全域級別 設定驗證。
將敏感憑證(如 Token)儲存在變數中,而不是硬編碼。
透過正確處理驗證,您可以安全地存取受保護的 API 端點並構建需要授權的完整工作流程。這對於使用保護敏感資源和操作的現實世界 API 至關重要。 Modified at 2025-12-29 09:35:19