Kiểm Tra Xác Thực JWT Trong API

INEZA Felin-Michel

INEZA Felin-Michel

17 tháng 12 2025

Kiểm Tra Xác Thực JWT Trong API

Bạn vừa triển khai xác thực JWT (JSON Web Token) trong API của mình. Nó tinh tế, không trạng thái và an toàn. Nhưng bây giờ là phần quan trọng: kiểm tra kỹ lưỡng. Làm thế nào để bạn xác minh rằng các điểm cuối được bảo vệ của mình từ chối chính xác các yêu cầu không có token? Làm thế nào để bạn kiểm tra thời hạn token? Làm thế nào để bạn mô phỏng các vai trò người dùng khác nhau?

Nếu bạn đang sử dụng các lệnh curl hoặc viết các script dùng một lần, bạn sắp khám phá một cách tốt hơn nhiều. Apidog biến việc kiểm thử JWT từ một công việc vặt thành một quy trình làm việc mạnh mẽ, hợp lý.

nút

Trong hướng dẫn này, chúng ta sẽ xem xét chính xác cách kiểm thử xác thực JWT trong API bằng Apidog, bao gồm cách cấu hình, tự động hóa xác thực và tránh các lỗi thường gặp. Ngoài ra, chúng ta sẽ đề cập đến tất cả các phương thức xác thực mà Apidog hỗ trợ, vì vậy bạn biết rằng mình đã được bao phủ bất kể ngăn xếp công nghệ của bạn là gì.

Bây giờ, chúng ta hãy cùng tìm hiểu chính xác cách thành thạo việc kiểm thử xác thực JWT với Apidog và khám phá nhiều phương thức xác thực mà nó hỗ trợ.

Tại sao kiểm thử JWT lại quan trọng

Xác thực JWT đã trở thành tiêu chuẩn để bảo mật các API hiện đại. Nhưng cùng với sức mạnh của nó là sự phức tạp cần được kiểm thử nghiêm ngặt:

Kiểm thử thủ công các kịch bản này bằng các công cụ dòng lệnh hoặc plugin trình duyệt rất tẻ nhạt và dễ xảy ra lỗi. Apidog cung cấp một phương pháp tập trung, trực quan và tự động để xử lý tất cả những điều này.

Bắt đầu: Thiết lập xác thực JWT của bạn trong Apidog

Vật liệu khuyến mãi Apidog

Apidog giúp việc cấu hình xác thực JWT trở nên trực quan. Hãy cùng tìm hiểu từng bước một.

Bước 1: Tạo yêu cầu xác thực của bạn

Đầu tiên, bạn cần lấy một token JWT từ điểm cuối xác thực của mình (ví dụ: POST /api/auth/login).

Trong Apidog, hãy tạo một yêu cầu POST mới.

Đặt URL đến điểm cuối đăng nhập của bạn.

Trong tab Body, thêm các thông tin đăng nhập cần thiết (thường là JSON như {"username": "test", "password": "test"}).

Gửi yêu cầu. Bạn sẽ nhận được phản hồi 200 OK với một token trong phần thân, thường trông như sau:

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "bearer",
  "expires_in": 3600
}

Bước 2: Trích xuất và lưu trữ Token

Đây là nơi Apidog phát huy tác dụng. Thay vì sao chép thủ công token cho mỗi yêu cầu, bạn có thể tự động hóa việc này.

Trong tab Tests của yêu cầu đăng nhập, hãy thêm một script để trích xuất token từ phản hồi và lưu nó dưới dạng một biến môi trường.

// Apidog Test Script Example
const responseJson = pm.response.json();
// Extract the access_token from the response
const accessToken = responseJson.access_token;
// Store it in an environment variable named 'jwt_token'
pm.environment.set("jwt_token", accessToken);

Chạy yêu cầu. Apidog sẽ thực thi script này và lưu token vào môi trường hiện hoạt của bạn.

Bước 3: Cấu hình xác thực JWT Bearer cho các điểm cuối được bảo vệ

Bây giờ, đối với bất kỳ điểm cuối nào yêu cầu xác thực JWT (ví dụ: GET /api/users/me):

  1. Tạo một yêu cầu mới đến điểm cuối được bảo vệ của bạn.
  2. Đi đến tab Auth.
  3. Từ danh sách thả xuống Type, chọn "JWT Bearer".

Đây là phần cốt lõi của việc thiết lập. Loại xác thực JWT Bearer của Apidog được thiết kế đặc biệt cho tiêu chuẩn này.

  1. Trong trường Token, bạn có thể tham chiếu biến môi trường đã lưu của mình bằng cách sử dụng dấu ngoặc kép: {{jwt_token}}.
  2. Trường Prefix thường là Bearer (là tiêu chuẩn và được Apidog tự động áp dụng cho loại xác thực này).

Điều gì xảy ra bên trong? Khi bạn gửi yêu cầu này, Apidog sẽ tự động định dạng tiêu đề Authorization cho bạn:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

Không cần chỉnh sửa tiêu đề thủ công!

Quy trình kiểm thử JWT nâng cao với Apidog

1. Kiểm thử thời hạn và làm mới Token

Một bài kiểm thử mạnh mẽ nên kiểm tra cách API của bạn xử lý các token đã hết hạn.

  1. Yêu cầu một điểm cuối được bảo vệ bằng một token đã hết hạn (mong đợi 401).
  2. Gọi điểm cuối làm mới bằng refresh token để lấy access_token mới.
  3. Tự động cập nhật biến môi trường jwt_token bằng token mới.
  4. Thử lại điểm cuối được bảo vệ ban đầu (bây giờ mong đợi 200 OK).

2. Kiểm thử kiểm soát truy cập dựa trên vai trò (RBAC)

Kiểm thử xem người dùng với quyền "role": "user" có không thể truy cập các điểm cuối quản trị hay không.

  1. Tạo các biến môi trường riêng biệt cho các token người dùng khác nhau: {{admin_jwt_token}}{{user_jwt_token}}.
  2. Đối với một điểm cuối chỉ dành cho quản trị viên (ví dụ: DELETE /api/users/123), hãy tạo hai trường hợp kiểm thử trong Apidog:

3. Bạn có thể chạy chúng như một phần của bộ kiểm thử tự động để đảm bảo logic RBAC của bạn luôn được thực thi.

3. Kiểm thử các Token bị lỗi hoặc không hợp lệ

Apidog giúp dễ dàng kiểm thử các trường hợp biên:

Ngoài JWT: Toàn bộ các phương thức xác thực trong Apidog

Mặc dù JWT Bearer cực kỳ phổ biến, các API hiện đại sử dụng nhiều phương thức xác thực khác nhau. Điểm mạnh của Apidog là khả năng hỗ trợ toàn diện tất cả chúng trong một giao diện hợp nhất.

1. Xác thực bằng API Key

Phương pháp đơn giản và phổ biến nhất để giao tiếp giữa các máy.

2. Xác thực cơ bản

Yêu cầu nhập tên người dùng và mật khẩu cổ điển, thường được sử dụng cho các hệ thống cũ hoặc các điểm cuối đăng nhập ban đầu.

3. OAuth 2.0

Tiêu chuẩn công nghiệp để ủy quyền và cấp phép người dùng. Đây là nơi Apidog trở nên cực kỳ mạnh mẽ.

4. Xác thực Hawk

Một lược đồ ít phổ biến hơn nhưng an toàn, sử dụng mã xác thực tin nhắn.

5. Chữ ký AWS

Rất quan trọng để kiểm thử các API được lưu trữ trên Amazon Web Services.

6. Xác thực Digest

Một giao thức phản hồi thách thức an toàn hơn so với Basic Auth.

Cách tiếp cận thống nhất này có nghĩa là bạn có thể kiểm thử mọi điểm cuối của API, bất kể phương thức xác thực của nó là gì, trong cùng một dự án và giao diện.

Tạo bộ kiểm thử mạnh mẽ và tài liệu

Khi bạn đã cấu hình xác thực và kiểm thử các điểm cuối của mình theo cách thủ công, Apidog cho phép bạn mở rộng điều này thành các quy trình làm việc chuyên nghiệp.

1. Xây dựng các bộ sưu tập kiểm thử

Nhóm tất cả các yêu cầu cho một tính năng cụ thể (ví dụ: "Quản lý người dùng") vào một bộ sưu tập. Bạn có thể chạy toàn bộ bộ sưu tập chỉ với một cú nhấp chuột, đảm bảo tất cả các điểm cuối được bảo vệ bằng JWT của bạn hoạt động cùng nhau một cách chính xác.

2. Tham số hóa bằng môi trường

Sử dụng các môi trường Apidog khác nhau (ví dụ: "Development", "Staging", "Production") để lưu trữ các tập hợp biến khác nhau. {{jwt_token}} của bạn trong môi trường "Development" có thể trỏ đến máy chủ cục bộ của bạn, trong khi trong "Production", nó sử dụng thông tin xác thực trực tiếp (nhưng để kiểm thử). Chuyển đổi ngữ cảnh ngay lập tức.

3. Tạo và chia sẻ tài liệu

Apidog tự động tạo tài liệu API đẹp mắt, tương tác từ các yêu cầu của bạn. Tài liệu này sẽ hiển thị rõ ràng những điểm cuối nào yêu cầu xác thực JWT Bearer, giúp các nhà phát triển frontend hoặc di động của bạn hiểu rõ ngay lập tức.

Kết luận: Từ tẻ nhạt đến đột phá

Kiểm thử xác thực JWT không còn cần phải là một quy trình thủ công, dễ vỡ. Apidog cung cấp một giải pháp hoàn chỉnh, tích hợp xử lý toàn bộ vòng đời: từ việc lấy token, đến cấu hình xác thực cho các điểm cuối, đến việc xây dựng các bộ kiểm thử tự động xác thực cả các kịch bản tích cực và tiêu cực.

Sự hỗ trợ của nó vượt xa JWT để bao gồm toàn bộ các tiêu chuẩn xác thực API hiện đại API Key, Basic, OAuth 2.0 và nhiều hơn nữa tất cả trong cùng một giao diện trực quan.

Bằng cách áp dụng Apidog, bạn chuyển từ việc chỉ đơn thuần kiểm tra xem API của mình có hoạt động hay không sang tự tin xác minh rằng mô hình bảo mật của nó mạnh mẽ, đáng tin cậy và sẵn sàng cho sản xuất. Hãy ngừng sao chép và dán token; hãy bắt đầu xây dựng một chiến lược kiểm thử tự động, chuyên nghiệp.

nút

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API