我正在尝试从我的浏览器会话中借用一个nonce,以便我可以在其他地方使用它,即在我的npm环境中。
我把一个nonce传递到一个开放的Chrome浏览器会话中,将它放在一个get请求头中,用于邮递员中的“X nonce”,然后返回"Cookie nonce是无效的“:

我还试着在没有周围“”的情况下输入现在的价值。
有人知道为什么这个请求失败了吗?
已添加
我不认为这应该重要,但以防万一,下面是/auth路由处理程序的回调:
public function authCallback(\WP_REST_Request $request) : void {
$this->isAdminOrRejectionResponse();
wp_send_json([
'success' => "You have access to wp_get_current_user()"
]);
}
protected function isAdminOrRejectionResponse() {
if (current_user_can('administrator') === false) {
wp_send_json(['error' => 'You do not have Administrator credentials.']);
}
}发布于 2019-09-18 10:19:08
对于远程应用程序(cURL、Postman等),或者当不使用浏览器时,您应该使用像应用密码这样的身份验证插件,而不是发送cookie。
但是,如果您希望发送cookie,那么复制并发送名为WordPress的登录cookie wordpress_logged_in_。cURL中的示例:
curl -H "X-WP-Nonce: " -X POST https://example.com/wp-json/wp/v2/posts -d "Data here" -b wordpress_logged_in_=
注意,WordPress将用户的登录数据(用户名和散列数据)保存在名为wordpress_logged_in_的cookie中(但您可以使用LOGGED_IN_COOKIE常量更改它)。
另外,在上面的(cURL)示例中,我使用X-WP-Nonce头发送cookie。
更新:添加了一个屏幕快照,用于(查找和复制)Chrome中的cookie:

https://wordpress.stackexchange.com/questions/348517
复制相似问题