wordpress默认已经支持了restful api
的调用,可以参考《REST API Handbook》,为了安全肯定是需要开启验证的。wordpress的官方给出了几个解决方案,可参考《Authentication》,可以看到最下面有几个推荐的方案,我这里选择的是jwt
的解决方案。

下面的操作默认是在NGINX中间件下进行执行,且已配置wordpress的静态规则,比如:
location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent; location ~* ^/wp-content/uploads/.*\.php$ { deny all; }
一、安装插件
这里我直接使用官方推荐的JWT Authentication for WP REST API插件进行安装,不用担心更新,也不用操心其是怎么实现的。
在管理后台搜索JWT Authentication for WP REST API
,然后进行安装。
安装后启用
二、配置JWT
在wordpress的根目录下找到wp-config.php
,然后添加如下代码,其中图中标记红色框框的,是我手动随机生成的,任意即可。
define('JWT_AUTH_SECRET_KEY', 'iVrCPZwZXoUG35hCr9Ca9EMjvt3S6Xvh'); define('JWT_AUTH_CORS_ENABLE', true);
三、测试API
这个时候相关配置已经完成,具体的使用可以参考《JWT Authentication for WP REST API》和 《WordPress Reference》
3.1 获取token
wpdev不是我的域名,我只是本地的host配置了一下,只是用来区分wp的开发环境,这个请忽略。
请求token,只需要给出对应的用户名和密码就可以,当前登录的用户会对应后面所有的操作。

也可以使用Python测试一下,其中获取到token之后,放到了redis,这个可以忽略,只需要看获取token的就可以了。
3.2 获取分类

3.3 发布文章
