Проверка подлинности с использованием cookie - это стандартный метод проверки подлинности, включенный в WordPress. Когда вы входите в свою панель мониторинга, это правильно настраивает файлы cookie для вас, поэтому разработчикам плагинов и тем требуется только иметь зарегистрированного пользователя.
Например, вот как встроенный Javascriptклиент создает одноразовый номер:
<?php
wp_localize_script( 'wp-api', 'wpApiSettings', array(
'root' => esc_url_raw( rest_url() ),
'nonce' => wp_create_nonce( 'wp_rest' )
) );
Это затем используется в базовой модели:
options.beforeSend = function(xhr) {
xhr.setRequestHeader('X-WP-Nonce', wpApiSettings.nonce);
if (beforeSend) {
return beforeSend.apply(this, arguments);
}
};
Вот пример редактирования заголовка сообщения с использованием jQuery AJAX:
$.ajax( {
url: wpApiSettings.root + 'wp/v2/posts/1',
method: 'POST',
beforeSend: function ( xhr ) {
xhr.setRequestHeader( 'X-WP-Nonce', wpApiSettings.nonce );
},
data:{
'title' : 'Hello Moon'
}
} ).done( function ( response ) {
console.log( response );
} );
Обратите внимание, что вам не нужно проверять правильность одноразового номера в вашей пользовательской конечной точке. Это автоматически делается для вас в rest_cookie_check_errors ()
Woocommerce API
https://woocommerce.github.io/woocommerce-rest-api-docs/?php#authentication-over-https
В то время как аутентификация с использованием cookie-файлов является единственным механизмом аутентификацииизначально доступные в WordPress, могут быть добавлены плагины для поддержки альтернативных режимов аутентификации, которые будут работать с удаленными приложениями.
Согласно официальному документу: https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/#authentication-plugins