簡體   English   中英

通過 WP 更新用戶密碼 REST API

[英]User's password update via WP REST API

我正在開發一個 iOS 應用程序,它將 WP REST API 與 Z1D1FADBD9150349C1357811140C135781114FZ 連接起來。 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 } }

這不僅發生在應用程序中,而且在使用 postman 時也會發生。 總之,我只能通過 WP REST API 並使用 JWT 插件更改一次用戶密碼。

如果我在應用程序中更改密碼,然后通過 Postman 更改密碼,則可以從應用程序更新密碼,但同樣只能更新一次。 (即使使用相同的令牌)

生成新令牌不起作用,重新啟動應用程序允許(使用新令牌)再次更改通行證。

我遇到了和你一樣的問題。 更改用戶密碼后,您的 HTTP 客戶端會保留的身份驗證 cookie。 這意味着wordpress_logged_in cookie 仍然引用用戶的舊密碼,得到 401 錯誤。 通過 API 更改用戶密碼后,只需清除客戶端的 cookies。 首先按照以下步驟在 Postman 上對其進行測試:

  1. 正常發出 API 請求更改用戶密碼。
  2. 發出另一個 API 請求更改用戶密碼或其詳細信息。 注意會出現401錯誤。
  3. 在您的請求屏幕中,單擊管理 Cookies
  4. 在 cookies 列表中,select 您的 wordpress 站點,並刪除wordpress_logged_in cookie。
  5. 對第 2 項重復 API 請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM