Метод аутентификации по ключу REST API для WordPress | Безопасный REST API
Обзор
Аутентификация по ключу REST API для WordPress включает в себя Проверка ключа API (токена Bearer) Для получения доступа к REST API для WordPress. Каждый раз, когда инициируется запрос на доступ к конечным точкам REST API, необходима аутентификация с использованием ключа (токена Bearer). Доступ к ресурсам для запрошенной конечной точки REST API для WordPress предоставляется на основе проверки ключа API (токена Bearer).
Для справки, ключ API — это протокол аутентификации, предназначенный для позволить разработчикам генерировать ключи аутентификации Это может быть использовано для таких ресурсов, как серверные процессы, мобильные приложения и настольные компьютеры.
Аутентификация по ключу API для WordPress — это важнейший способ обеспечения безопасности вашего REST API для WordPress. Если ключ API будет скомпрометирован, его можно будет сгенерировать заново, в результате чего все ранее сгенерированные ключи автоматически устареют. Вновь созданный ключ будет использоваться для аутентификации по ключу API для WP. Отсутствие защиты вашего REST API может представлять значительные риски для безопасности, поскольку это может предоставить неавторизованным лицам доступ к вашей системе, что потенциально может привести к утечке данных.
В этом руководстве вы найдете подробное пошаговое описание процесса... Установка и настройка аутентификации REST API для WordPress для повышения безопасности вашего REST API.
Аутентификация через REST API для WordPress

Плагин аутентификации REST API для WordPress обеспечивает защиту от несанкционированного доступа к вашим REST API для WordPress. Наш плагин предоставляет несколько методов аутентификации, таких как базовая аутентификация, аутентификация по ключу API, аутентификация OAuth 2.0 и аутентификация JWT.
Узнать большеПредварительные условия: Загрузка и установка.
- Войдите в свою учетную запись WordPress как администратор.
- Перейти на вордпресс Панель управления -> Плагины и нажмите на Добавить новый.
- Поиск для Аутентификация REST API плагин для WordPress и нажмите на установить сейчас.
- После установки нажмите на активировать.
Пример использования: Защита/обеспечение безопасности доступа к конечным точкам REST API для WordPress с помощью ключа/токена Bearer.
1. Аутентификация с помощью API-ключа может служить защитой для ваших REST API-интерфейсов WordPress, таких как записи, страницы или любые другие REST API WordPress, предотвращая несанкционированный доступ и устраняя необходимость делиться учетными данными пользователя для входа в WordPress или идентификатором клиента и секретным ключом клиента для аутентификации. Этот подход с использованием генератора API-ключей для WordPress создает уникальный ключ аутентификации, который вы можете использовать для аутентификации различных REST API WordPress на вашем веб-сайте.
Использование аутентификации по ключу REST API для WordPress — один из самых простых и распространенных способов повышения безопасности вашего REST API. Этот подход улучшает безопасность REST API на вашем сайте WordPress.
2. Представьте, что вы разработали приложение для блога для Android и iOS и опубликовали все свои записи в WordPress. Однако вы хотите получать доступ к записям/блогам через REST API WordPress, сохраняя при этом их недоступность для широкой публики. В таких случаях рекомендуется использовать аутентификацию по ключу REST API для WordPress, чтобы защитить ваши GET-запросы и обеспечить безопасность ваших конечных точек.
Плагин предоставляет два типа ключей API/токенов безопасности, которые можно использовать для аутентификации REST API WordPress.
I. Универсальный ключ API — Универсальный ключ API наиболее подходит для аутентификации REST API, использующих метод HTTP GET и не требующих прав пользователя WordPress.
Обратите внимание: этот ключ не затрагивает права пользователя и не может использоваться для доступа к тем API, для которых WordPress требует наличия пользовательских разрешений. «Пример: если вы просто хотите использовать API GET для получения общих записей, комментариев и т. д. WordPress».
II. Пользовательский API-ключ — Пользовательский API будет наиболее подходящим вариантом для аутентификации REST API, использующих любые методы HTTP, такие как GET, POST, PUT, DELETE, особенно в тех случаях, когда необходимо выполнять операции, затрагивающие права пользователя.
Например, если вы хотите выполнить какие-либо операции, такие как получение записей WordPress на основе возможностей пользователя (его ролей в WP), данных пользователя, или хотите создать новых пользователей, новые записи и т. д.
Ознакомьтесь с примерами использования следующих методов аутентификации REST API:
Настройка плагина аутентификации API для WordPress [Премиум]
- В плагине перейдите в Вкладка «Настройка аутентификации API» и нажмите на Аутентификация по ключу API в качестве метода аутентификации API.
- После сохранения конфигурации, в разделе Раздел универсального ключа API Вам будет предложена опция «Сгенерировать новый токен». Нажмите на неё. Сгенерировать новый ключ Кнопка. Срок действия этого ключа/токена истечет при генерации нового ключа/токена.
- После генерации ключа API (токена) вы можете использовать его для защиты ваших REST API-интерфейсов для WordPress. (Вы всегда можете сгенерировать новый ключ API, и все существующие сгенерированные ключи автоматически истекут).
- При отправке REST API-запроса на ваш сайт WordPress необходимо передать ключ API в заголовок Authorization в качестве токена bearer, как показано на шаге ниже.
- Пользователи, обладающие этим токеном, могут получить доступ к REST API, как показано ниже.
Request: GET https://<domain-name>/wp-json/wp/v2/posts
Header:Authorization: Bearer <token>
Sample request: GET https://<domain-name>/wp-json/wp/v2/posts
Header:Authorization: Bearer kGUfhhzXZuWisofgnkAsuHGDyfw7gfhg5s
Sample curl Request Format-
curl -H "Authorization:Bearer <token-value>"
-X GET http://<wp_base_url>/wp-json/wp/v2/posts
-H 'app-name:TheAppName'
I. Authorization : HTTP Авторизация Заголовок запроса обычно включает учетные данные пользовательского агента или тип токена и значение токена, служащие средством аутентификации пользовательского агента на сервере. Это обычно происходит после неудачной попытки аутентификации, когда сервер отвечает со статусом 401 Несанкционированный доступ.
II. Bearer <token-value>:
Носитель Создается сервером аутентификации. Когда клиентское приложение запрашивает токен у сервера аутентификации, сервер аутентифицирует этот токен и отправляет соответствующий ответ клиентскому приложению.
Примеры кода на языках программирования
var client = new RestClient("http://<wp_base_url>/wp-json/wp/v2/posts ");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token-value>");
request.AddHeader = ("app-name", "TheAppName");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
.url("http://<wp_base_url>/wp-json/wp/v2/posts ")
.method("GET", null)
.addHeader = ("Authorization", "Bearer <token-value>");
.addHeader = ("app-name", "TheAppName");
.build();
Response responseclient.newCall(request).execute();
var settings = {
"url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer < access_token / id_token >",
"app-name": "TheAppName"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array
(
CURLOPT_URL => 'http://%3Cwp_base_url%3E/wp-json/wp/v2/posts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <token-value>'
'app-name: TheAppName'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("<wp_base_url>")
payload= "
headers = {
'Authorization': 'Bearer <token-value>'
'app-name': 'TheAppName',
}
conn.request("GET", "/wp-json/wp/v2/posts ", payload, headers)
res= conn.getresponse()
data = res.read()
print (data.decode("utf-8"))
Образцы работ почтальона:
- Загрузите экспорт коллекции POSTMAN из здесь.
- Импортируйте загруженный JSON-файл в приложение Postman, как показано ниже.
- После импорта JSON-файла нажмите на Запрос REST API под Коллекции как показано на последнем рисунке. Теперь замените с вашим доменом WordPress в http://<wp_base_url>/wp-json/wp/v2/posts и заменить API в заголовке со значением токена, сгенерированным плагином.
- Пример:
Выполните следующие шаги, чтобы отправить запрос к REST API с помощью Postman:
Описание функций
1. Ограничение REST API на основе ролей:
Эта функция позволяет ограничивать доступ к REST API в соответствии с ролями пользователей. Вы можете указать, каким ролям должен быть разрешен доступ к запрашиваемому ресурсу через REST API. Таким образом, когда пользователь инициирует запрос к REST API, определяется его роль, и доступ к ресурсу предоставляется только в том случае, если его роль включена в белый список.
Как это настроить?
- Сначала перейдите на вкладку «Расширенные настройки» плагина.
- В разделе «Ограничения на основе ролей» изначально всем ролям по умолчанию предоставляется доступ к API. Однако вы можете выборочно ограничить доступ, установив флажок рядом с ролями, доступ к которым вы хотите ограничить.
- На скриншоте выше флажок роли подписчика включен. Поэтому, если пользователь, имеющий роль подписчика, отправляет API-запрос, ему будет отказано в доступе к запрошенному ресурсу.
Примечание: Функция ограничения доступа на основе ролей действительна для базовой аутентификации (Имя пользователя: пароль), метода JWT, OAuth 2.0 (предоставление пароля) и аутентификации по ключу API (ключ API, специфичный для пользователя).
2. Пользовательский заголовок
Эта функция предоставляет возможность выбора пользовательского заголовка вместо стандартного заголовка «Authorization». Это повысит безопасность за счет введения заголовка с собственным именем. Если пользователь попытается отправить запрос к REST API с заголовком «Authorization», он не сможет получить доступ к API.
Как это настроить?
- Сначала перейдите на вкладку «Расширенные настройки» плагина.
- Затем в «Пользовательский заголовок» В этом разделе вы можете отредактировать текстовое поле, чтобы ввести желаемое пользовательское имя.
3. Исключите REST API.
Эта функция позволяет создать белый список для ваших REST API, обеспечивая прямой доступ к ним без необходимости аутентификации. В результате все REST API, включенные в этот белый список, становятся общедоступными.
Как это настроить?
- Сначала перейдите на вкладку «Расширенные настройки» плагина.
- Затем в поле «Исключить REST API» вы можете ввести свои API в предписанном формате, которые необходимо добавить в белый список для публичного доступа.
- Пример: Предположим, вы хотите исключить REST API '/wp-json/wp/v2/posts', тогда вам нужно ввести '/wp/v2/posts' в текстовое поле.
4. Создайте API-ключи/токены, специфичные для каждого пользователя.
- Эта функция доступна в методе API-ключа, позволяя генерировать токены на основе информации, специфичной для пользователя, а не на основе случайно сгенерированного токена, который является универсальным ключом.
- При использовании универсального ключа/токена API у пользователей может отсутствовать необходимое разрешение для доступа к определенным REST API WordPress с такими методами запросов, как POST, PUT или DELETE. Эти API включают действия, такие как создание пользователей, записей, страниц и т. д., для работы с которыми требуются определенные права доступа или роли пользователя. Ограничение возникает из-за того, что универсальный ключ генерируется случайным образом и не содержит данных, специфичных для пользователя.
- Функция API-ключа/токена на основе пользователя позволяет пользователям использовать REST API WordPress с методами запросов, такими как POST, PUT и DELETE, для работы которых требуются учетные данные пользователя или определенные роли. При выполнении запроса к REST API WordPress с использованием ключа на основе пользователя система получает роль пользователя и предоставляет доступ только в том случае, если пользователь обладает необходимыми разрешениями.
- Например: Только пользователи с ролями администратора и редактора имеют право создавать, редактировать и удалять публикации.
- Таким образом, если к этому API будет отправлен запрос на создание/удаление/редактирование записи, API ответит сообщением «Вам не разрешено выполнять эту операцию».
- Теперь, если запрос отправляется с использованием пользовательского токена, сгенерированного для пользователя с ролью администратора или редактора, только он имеет доступ к этому API и может выполнять операции (создавать/обновлять/удалять) через вызов API.
- Выберите пользователя из выпадающего списка и нажмите на кнопку. Создать ключ API .
- На экране появится всплывающее окно, вам нужно просто нажать на него. OK кнопка для копирования токена.
- Теперь этот токен можно использовать с запросом к API точно так же, как универсальный ключ используется для выполнения запроса к API.
Как использовать эту функцию:
Поздравляем! Вы успешно настроили аутентификацию по ключу REST API для WordPress, используя это руководство. Теперь ваши конечные точки REST API в WordPress защищены, а ваши данные защищены от несанкционированного доступа.
Статьи по теме
Запросить демонстрацию плагина
Получите полнофункциональную пробную версию
Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.
Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.

Нужна помощь?
Напишите нам по адресу apisupport@xecurify.com для получения быстрой консультации (по электронной почте/в ходе встречи) по вашим вопросам, и наша команда поможет вам выбрать наиболее подходящее решение/план в соответствии с вашими потребностями.
