WordPress là một CMS rất phổ thông . WordPress giúp mọi người tạo một website một cách nhanh chóng.Wordpress phù hợp để build những website vừa và nhỏ như giới thiệu công ty , xây dựng shop bán hàng, trang thương mại điện tử nhỏ…vv. WordPress có thể nói là vô cùng tiện dụng , cộng đồng hỗ trợ thì đông . Gần như search plugin hỗ trợ về vấn đề gì cũng có. Nếu bạn là dev thì mọi việc lại càng dễ dàng để vọc vạch với cái CMS này. Vậy bây giờ mình có nhu cầu làm một app mobile đồng bộ bài viết hoặc sản phẩm với web của mình có được không nhỉ ? Mà muốn làm được việc ấy chúng ta phải có api lấy data từ wordpress để có thể đổ vào app. Thật hay ho là wordpress có hỗ trợ REST API.
Tuy nhiên cơ chế xác thực của REST API trong wordpress lại chỉ hoạt động trong wordpress . Nếu muốn thực hiện các thao tác như tạo bài viết sửa hoặc xoá bài viết ta phải có auth của nó. Lại thật hay ho là chúng ta lại có vài plugin giúp chúng ta có thể xử lý vụ xác thực này. Theo doc của wordpress thì có vài plugin được gợi ý OAuth 1.0a Server, Application Passwords, và JSON Web Tokens.
Ok thử nghịch chút với cái web cùi của mình tí nào.Mình sẽ dùng plugin JSON Web Tokens. Plugin này là một plugin mở rộng dựa trên plugin WP REST API V2 nên chúng ta được khuyến cáo là phải cài cả plugin WP REST API này.
Ok rồi sau khi cài vào còn một số cài đặt nhỏ nhỏ nữa phải làm . Các shared hosting thường đặt disabled HTTP Authorization Header là mặc định.Vậy nên theo hướng dẫn cài plugin mình phải sửa lại .htaccess thành ntn.
1
2
3 RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Rồi ! giờ tiếp tục define constant secret key cho jwt của chúng ta. Vào file wp-config.php và thêm các define sau.
1 define('JWT_AUTH_SECRET_KEY', 'your-top-secret-key');
Để bật hỗ trợ CORs thì mình phải thêm define sau .
1 define('JWT_AUTH_CORS_ENABLE', true);
Vậy là xong giờ tìm cách xử dụng thôi nào.Đầu tiên là phải lấy dc token đã. Plugin cho chúng ta end point để thức hiện việc này.
1 http://yourdomain.com/wp-json/jwt-auth/v1/token
Sử dụng method POST để đẩy username và password .
Oke thế là ta nhận dc token rồi thử post gì đó lên xem nào.À để tìm hiểu thêm endpoint thì bạn vào đây xem nhé –>
Ola..! cắn rồi hehe.
Thế là ngon rồi đấy. Để sửa và xoá thì bạn chỉ cần gọi đến
1 POST /wp/v2/posts/<id>
Với method để update và gọi đến.
1 DELETE /wp/v2/posts/<id>
Với method Delete để xoá bài viết.
Vậy là chúng ta vừa tạo được rest api để có thể tạo sửa và xoá bài viết rồi. Có api chúng ta có thể làm được rất nhiều thứ hay ho. Ví dụ như xây dựng một cms quản lý tập trung vài chục web site chỉ trên 1 cms .Hoặc có thể xây dựng những app mobile bằng react native rất tiện . Ok cảm ơn các bạn đã đọc bài viết của mình. Có điều gì sai sót các bạn góp ý giúp mình với nhé. Cảm ơn các bạn.