使用JWT切换方法验证WP API

时间:2016-06-06 16:37:05

标签: wordpress authentication jwt wp-api

我有一个使用WP API 2(beta13.1)和JWT插件设置的基本WP站点。如果我在登录WP时调用/token端点,我会得到一个成功的响应。

但是,如果我没有登录,则收到"No route was found matching the URL and request method"消息。

进一步挖掘后,我可以在我的服务器中看到POST请求作为GET请求被收到的访问日志,因此必须在线路的某处更改,因此我看到错误消息!

127.0.0.1 - - [06/Jun/2016:16:19:04 +0000] "GET /test/wp-json/jwt-auth/v1/token HTTP/1.1" 404 450 "http://localhost/test/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:46.0) Gecko/20100101 Firefox/46.0"

如果我在请求中添加了有效的“wordpress_logged_in”cookie,它就可以正常工作。

我无法弄清楚发生了什么,登录用户的请求不应该要求用户已经登录!

1 个答案:

答案 0 :(得分:1)

只是因为其他人偶然发现这个问题,对我来说问题就是清漆。 如果您在Varnish配置中有return (lookup),那么在尝试缓存请求时,它会转换为GET

请参阅:https://serverfault.com/questions/563560/varnish-transforming-post-to-get