我正在开发一个将WP REST API与JWT连接起来的iOS应用程序。 API和JWT插件(WP-API的JWT身份验证)工作正常。
应用程序登录基于wordpress用户和密码,您可以从中更改用户密码。更新用户密码(/wp-json/wp/v2/users/id?password=newpass
)后,API将停止工作。我无法继续进行任何更新调用(更新,删除,再次更改密码......),并始终响应:
{
"code": "rest_cannot_edit",
"message": "Sorry, you are not allowed to edit users.",
"data": {
"status": 401
}
}
这不仅发生在app中,也发生在邮递员身上。 总之,我只能通过WP REST API和使用JWT插件更改一次用户密码。
如果我在应用程序中更改密码然后通过Postman更改密码,则可以从应用程序更新密码,但同样只能更新一次。 (即使有相同的标记)
生成新令牌不起作用,重新启动应用程序允许(使用新令牌)再次更改通行证。
答案 0 :(得分:1)
我遇到了和你一样的问题。更改用户密码后,您的HTTP客户端会保留旧身份验证Cookie。这意味着wordpress_logged_in
cookie仍然引用用户的旧密码,收到401错误。
通过API更改用户密码后,只需清除客户端的Cookie即可。首先在Postman上按照以下步骤进行测试:
wordpress_logged_in
Cookie。