1. Xác Thực và Phân Quyền trong REST API của WordPress

1.1 Cơ chế Xác Thực

REST API của WordPress yêu cầu xác thực người dùng khi thực hiện các thao tác bảo mật như tạo, cập nhật, hoặc xóa tài nguyên. Các phương thức xác thực phổ biến bao gồm:

  • Cookie Authentication: Dùng để xác thực yêu cầu từ trình duyệt của người dùng đã đăng nhập.
  • Application Passwords: Cung cấp cách đơn giản để xác thực các ứng dụng bên ngoài.
  • OAuth: Phương pháp xác thực phổ biến cho các ứng dụng di động và web.
  • Basic Authentication: Sử dụng tên người dùng và mật khẩu (dùng chủ yếu cho phát triển và thử nghiệm).

1.2 Sử dụng Cookie Authentication

Cookie Authentication là phương pháp mặc định khi người dùng đăng nhập qua giao diện WordPress. Khi người dùng đăng nhập, một cookie bảo mật được lưu trữ trong trình duyệt. API sẽ kiểm tra cookie này để xác thực người dùng.

Để thực hiện yêu cầu API từ một ứng dụng bên ngoài, bạn cần gửi cookie của người dùng trong tiêu đề của yêu cầu.

1.3 Sử dụng Application Passwords

Application Passwords là phương pháp dễ sử dụng để xác thực khi làm việc với API. Bạn có thể tạo Application Password từ trang hồ sơ người dùng trong WordPress.

Tạo Application Passwords

  1. Đăng nhập vào WordPress.
  2. Đi đến Users > Profile (hoặc Người dùng > Hồ sơ).
  3. Cuộn xuống phần Application Passwords (hoặc Mật khẩu ứng dụng).
  4. Tạo một mật khẩu ứng dụng mới và ghi lại mật khẩu này.

Sử dụng Application Passwords trong API

Khi thực hiện yêu cầu API, bạn cần gửi mật khẩu ứng dụng trong tiêu đề HTTP Authorization dưới dạng Basic Authentication:

Authorization: Basic base64_encode(username:application_password)

Ví dụ:

Authorization: Basic dXNlcjpwYXNzd29yZA==

Trong đó dXNlcjpwYXNzd29yZA== là giá trị base64 của username:application_password.

1.4 Sử dụng OAuth

OAuth là một phương pháp phức tạp hơn, nhưng cung cấp kiểm soát và bảo mật tốt hơn. Để sử dụng OAuth với WordPress, bạn cần cài đặt plugin hỗ trợ OAuth như WP OAuth Server hoặc OAuth 2.0 Authentication.

1.5 Sử dụng Basic Authentication

Basic Authentication là phương pháp xác thực đơn giản nhất, thường dùng cho phát triển và thử nghiệm. Bạn cần cài đặt plugin Basic Authentication để sử dụng phương pháp này.

Cài đặt Basic Authentication

  1. Cài đặt plugin Basic Authentication từ thư viện WordPress.
  2. Kích hoạt plugin.

Sử dụng Basic Authentication trong API

Khi thực hiện yêu cầu API, gửi tên người dùng và mật khẩu trong tiêu đề HTTP Authorization dưới dạng Basic Authentication:

Authorization: Basic base64_encode(username:password)

Ví dụ:

Authorization: Basic dXNlcjpwYXNzd29yZA==

2. Ví Dụ Cụ Thể

2.1 Lấy thông tin người dùng với Application Passwords

GET http://example.com/wp-json/wp/v2/users
Authorization: Basic dXNlcjpwYXNzd29yZA==

2.2 Tạo bài viết với Application Passwords

POST http://example.com/wp-json/wp/v2/posts
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Type: application/json

{
    "title": "New Post",
    "content": "Content of the new post.",
    "status": "publish"
}

2.3 Cập nhật bài viết với Application Passwords

PUT http://example.com/wp-json/wp/v2/posts/123
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Type: application/json

{
    "title": "Updated Post Title",
    "content": "Updated content of the post."
}

2.4 Xóa bài viết với Application Passwords

DELETE http://example.com/wp-json/wp/v2/posts/123
Authorization: Basic dXNlcjpwYXNzd29yZA==

Hy vọng hướng dẫn chi tiết này giúp bạn hiểu rõ hơn về các phương pháp xác thực và cách sử dụng REST API trong WordPress. Nếu bạn có thêm câu hỏi hoặc cần hỗ trợ thêm, đừng ngần ngại yêu cầu!