Результаты поиска :

×

Метод аутентификации по ключу REST API WordPress | Безопасный REST API

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

Метод аутентификации с помощью ключа API WordPress является важнейшим средством обеспечения безопасности вашего REST API WordPress. Если ключ API будет скомпрометирован, его можно будет сгенерировать заново, в результате чего все ранее сгенерированные ключи автоматически устареют. Вновь созданный ключ будет использоваться для аутентификации с помощью ключа API WordPress. Отсутствие защиты вашего REST API может представлять значительные риски для безопасности, поскольку это может предоставить неавторизованным лицам доступ к вашей системе, что потенциально может привести к утечке данных.

В этом руководстве вы найдете подробное пошаговое описание процесса... Установка и настройка аутентификации REST API WordPress для повышения безопасности вашего REST API.



Аутентификация через REST API WordPress

Плагин аутентификации REST API для WordPress обеспечивает защиту от несанкционированного доступа к вашим REST API WordPress. Наш плагин предоставляет несколько методов аутентификации, таких как базовая аутентификация, аутентификация по ключу API, аутентификация OAuth 2.0 и аутентификация JWT.

Узнать больше   

  • Войдите в свою учетную запись WordPress как администратор.
  • Перейти на вордпресс Панель управления -> Плагины и нажмите на Добавить новый.
  • Поиск WordPress Аутентификация REST API плагин и нажмите установить сейчас.
  • После установки нажмите на активировать.


Метод аутентификации с помощью ключа REST API WordPress

    1.  Аутентификация с помощью API-ключа может служить защитой для ваших REST API-интерфейсов WordPress, таких как записи, страницы или любые другие REST API WordPress, предотвращая несанкционированный доступ и устраняя необходимость делиться учетными данными пользователя для входа в WP или идентификатором клиента и секретным ключом клиента для аутентификации. Этот подход с использованием генератора API-ключей WordPress создает уникальный ключ аутентификации, который вы можете использовать для аутентификации различных REST API WordPress на вашем веб-сайте.

    Использование аутентификации по ключу REST API WordPress — один из самых простых и распространенных способов повышения безопасности вашего REST API на WordPress. Этот подход улучшает безопасность REST API на вашем сайте WordPress.


    2.   Представьте, что вы разработали приложение для блога для Android и iOS и опубликовали все свои записи в WordPress. Однако вы хотите получать доступ к записям/блогам через REST API WordPress, сохраняя при этом их недоступность для широкой публики. В таких случаях рекомендуется использовать аутентификацию по ключу REST API WordPress для защиты ваших GET-запросов и обеспечения безопасности ваших конечных точек.


Плагин предоставляет два типа ключей API/токенов безопасности, которые можно использовать для аутентификации REST API WordPress.


    I. Универсальный ключ API - Универсальный ключ API лучше всего подходит для аутентификации REST API WordPress, которые используют метод HTTP GET и не требуют наличия прав пользователя WordPress.


    Пожалуйста, обратите внимание: Этот ключ не затрагивает права пользователя и не может использоваться для доступа к тем API, для которых WordPress требует наличия пользовательских разрешений. "Пример - Если вам просто нужно использовать API GET для получения общих записей WordPress, комментариев и т. д.


    II. Пользовательский API-ключ - API на основе пользователей будет наиболее подходящим для аутентификации REST API WordPress, использующих любые методы HTTP, такие как GET, POST, PUT, DELETE, особенно в тех случаях, когда вы хотите выполнять операции, требующие пользовательских прав.


    Пример - Если вам необходимо выполнить какие-либо операции, например, получить доступ к записям WordPress на основе возможностей пользователя (его ролей в WordPress), данных пользователя, или создать новых пользователей, новые записи и т. д.,





    Метод аутентификации с помощью ключа REST 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>: Носитель Создается сервером аутентификации. Когда клиентское приложение запрашивает токен у сервера аутентификации, сервер аутентифицирует этот токен и отправляет соответствующий ответ клиентскому приложению.

  • Попробуйте документация для разработчиков Больше подробностей.
  • Попробуйте Ответ об ошибке для аутентификации по ключу API.

 
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"))   

    Выполните следующие шаги, чтобы отправить запрос к REST API с помощью Postman:

  • Загрузите экспорт коллекции POSTMAN из здесь.
  • Импортируйте загруженный JSON-файл в приложение Postman, как показано ниже.
  • Метод аутентификации REST API WordPress с использованием ключа в Postman для импорта JSON-файла.
  • После импорта JSON-файла нажмите на Запрос REST API под Коллекции как показано на последнем рисунке. Теперь замените с вашим доменом WordPress в http://<wp_base_url>/wp-json/wp/v2/posts и заменить API в заголовке со значением токена, сгенерированным плагином.
  • Пример:
  • Метод аутентификации REST API WordPress: замена базового URL в Postman

1. Ограничение REST API на основе ролей:


Эта функция позволяет ограничивать доступ к REST API в соответствии с ролями пользователей. Вы можете указать, каким ролям должен быть разрешен доступ к запрашиваемому ресурсу через REST API. Таким образом, когда пользователь инициирует запрос к REST API, определяется его роль, и доступ к ресурсу предоставляется только в том случае, если его роль включена в белый список.


Как это настроить?

  • Сначала перейдите на вкладку «Расширенные настройки» плагина.
  • В разделе «Ограничения на основе ролей» изначально всем ролям по умолчанию предоставляется доступ к API. Однако вы можете выборочно ограничить доступ, установив флажок рядом с ролями, доступ к которым вы хотите ограничить.
  • Метод базовой аутентификации REST API WordPress, реализованный в Postman.
  • На скриншоте выше флажок роли подписчика включен. Поэтому, если пользователь, имеющий роль подписчика, отправляет API-запрос, ему будет отказано в доступе к запрошенному ресурсу.

Примечание: Функция ограничения доступа на основе ролей действительна для базовой аутентификации (имя пользователя: пароль), метода JWT, OAuth 2.0 (предоставление пароля) и аутентификации по ключу API (ключ API, специфичный для пользователя).


2. Пользовательский заголовок


Эта функция предоставляет возможность выбора пользовательского заголовка вместо стандартного заголовка «Authorization». Это повысит безопасность за счет введения заголовка с собственным именем. Если пользователь попытается отправить запрос к REST API с заголовком «Authorization», он не сможет получить доступ к API.


Как это настроить?

  • Сначала перейдите на вкладку «Расширенные настройки» плагина.
  • Затем в «Пользовательский заголовок» В этом разделе вы можете отредактировать текстовое поле, чтобы ввести желаемое пользовательское имя.
  • Метод базовой аутентификации REST API WordPress, реализованный в Postman.

3. Исключите REST API.


Эта функция позволяет создать белый список для ваших REST API, обеспечивая прямой доступ к ним без необходимости аутентификации. В результате все REST API, включенные в этот белый список, становятся общедоступными.


Как это настроить?

  • Сначала перейдите на вкладку «Расширенные настройки» плагина.
  • Затем в поле «Исключить REST API» вы можете ввести свои API в предписанном формате, которые необходимо добавить в белый список для публичного доступа.
  • Метод базовой аутентификации REST API WordPress, реализованный в Postman.
  • Пример: Предположим, вы хотите исключить 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 .
  • Метод базовой аутентификации REST API WordPress, реализованный в Postman.
  • На экране появится всплывающее окно, вам нужно просто нажать на него. OK кнопка для копирования токена.
  • Метод базовой аутентификации REST API WordPress, реализованный в Postman.
  • Теперь этот токен можно использовать с запросом к API точно так же, как универсальный ключ используется для выполнения запроса к API.

Поздравляем! Вы успешно настроили аутентификацию по ключу REST API WordPress, используя это руководство. Теперь ваши конечные точки REST API WordPress защищены, а ваши данные защищены от несанкционированного доступа.




Получите полнофункциональную пробную версию



 Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.

Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.

REST API WordPress с аутентификацией по ключу API

Нужна помощь?

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


ADFS_sso ×
Привет!

Нужна помощь? Мы здесь!

поддержка