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

×

Метод аутентификации REST API JWT для WordPress

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



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

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

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

Что такое JWT-аутентификация для WordPress?

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

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


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

  • . аутентификация на основе JWT-токеновREST API-интерфейсы защищены токенами доступа JWT, сгенерированными на основе действительных учетных данных пользователей WordPress. Включив токен JWT в заголовок Authorization, ваше приложение сможет безопасно получать доступ к защищенным ресурсам или выполнять действия на основе ролей. JWT-аутентификация для REST API.
  • Эти токены защищены с помощью алгоритмов шифрования, таких как HSA или RSA, и автоматически истекают через определенный период, что повышает общую безопасность. Каждый токен содержит информацию о пользователе WordPress, которую можно расшифровать с помощью секретного ключа или сертификата, что делает аутентификацию JWT идеальной для синхронизации пользователей или создания учетных записей в нескольких системах.
  • JWT-токены обновления для WordPress Это позволяет пользователям безопасно продлевать свои сессии без необходимости повторного входа в систему. В целом, аутентификация на основе JWT-токенов в сочетании с аутентификацией JWT для WordPress обеспечивает безопасный доступ к API, а также бесперебойную и эффективную связь между вашим приложением и WordPress.

  • Защита REST API с помощью JWT-аутентификации для WordPress
  • REST API Метод аутентификации JWT для WordPress с использованием JWT

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

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



Схожий пример использования:

  • Как отправлять запросы к REST API WordPress с аутентификацией JWT?
  • Аутентификация REST API для Woocommerce/WordPress с использованием JWT (JSON Web Token).



  • В плагине перейдите в Настроить методы вкладка в левой части.
  • Нажмите на Аутентификация JWT в качестве метода аутентификации API.
  • REST API jwt Метод аутентификации для WordPress
  • Выберите Тип генерации токенов , По умолчанию HS256 Для этого используются алгоритм и случайно сгенерированный уникальный секретный ключ, а затем кликают. Следующая в правом верхнем углу.
  • Для проверки функциональности заполните форму. Имя пользователя и Пароль поля для существующего пользователя.
  • REST API jwt Метод аутентификации для WordPress
  • Нажмите на Получить токен В ответе будет отображен JWT-токен (jwt_token), значение которого вы можете скопировать в буфер обмена для выполнения GET-запроса.
  • Вставьте JWT-токен, полученный на шаге 6.
  • Нажмите Тестовая конфигурация и ответ будет отображен на экране.
  • Нажмите Завершить .
  • REST API jwt Метод аутентификации для WordPress
  • В плагине перейдите в Настройка аутентификации API и нажмите Аутентификация JWT в качестве метода аутентификации API.
  • Выберите Алгоритм подписания и Секрет клиентаПо умолчанию используется алгоритм HS256 и случайно сгенерированный секретный ключ.
  • В конце, нажмите Сохранить конфигурацию Таким образом, будет включена аутентификация JWT для REST API.
  • REST API Метод аутентификации JWT для WordPress с использованием JWT
  • В этом случае вам потребуется выполнить два вызова API:

  • Для получения JWT-токена вам потребуется выполнить вызов REST API к конечной точке Token, как показано ниже:
  • Request:POST https://<domain-name>/wp-json/api/v1/token
      Body:username = <wordpress username>
      password = <wordpress password>
    
      Sample curl Request Format-
      curl -d "username=<wordpress_username>&password=<wordpress_password>"
      -X POST http://<wp_base_url>/wp-json/api/v1/token
      

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

  • Попробуйте Ответ об ошибке для получения JWT-токена.
  • Получив JWT-токен, вы можете использовать его для запроса доступа к REST API WordPress, как показано ниже:
  • Request: GET  https://<domain-name>/wp-json/wp/v2/posts
      Header: Authorization : Bearer <JWT token>
    
      Sample curl Request Format-
      curl -H "Authorization:Bearer <jwt_token >"
      -X GET http://<wp_base_url>/wp-json/wp/v2/posts
      
  • ПРИМЕЧАНИЕ: Указанный выше токен по умолчанию действителен в течение 1 часа, но его также можно настроить. После истечения срока действия токен можно сгенерировать заново.
  • Попробуйте документация для разработчиков Больше подробностей.
  • Попробуйте Ответ об ошибке для создания API с использованием JWT-токенов.

Поздравляем! Вы успешно настроили метод аутентификации JWT для вызовов REST API, используя метод аутентификации miniOrange REST API для WordPress.


 
  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 < jwt_token >");    
  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 < jwt_token >")    
   .build();
  Response response= client.newCall(request).execute();
          
 
  var settings  = {
      "url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
      "method": "GET",
      "timeout": 0,
      "headers": {
          "Authorization": "Bearer < jwt_token >"
        },        
    };
    
    $.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%20',
          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 < jwt_token >'
          ),
          ));          
        
  $response = curl_exec($curl);
  curl_close($curl);    
  echo $response;
          
 
  import http.client
  
  conn = http.client.HTTPSConnection("<wp_base_url>")
  payload= "
  headers = {
      'Authorization': 'Bearer < jwt_token >'
  }
  conn.request("GET", "/wp-json/wp/v2/posts ", payload, headers)
  res= conn.getresponse()    
  data = res.read()    
  print (data.decode("utf-8"))   
  
 
  var client = new RestClient("http://<wp_base_url>/wp-json/api/v1/token ");
  client.Timeout = -1;
  var request = new RestRequest(Method.POST);
  request.AlwaysMultipartFormData = true;
  request.AddParameter("username", "<wordpress_username>");    
  request.AddParameter("password", "<wordpress_password>");    
  IRestResponse response = client.Execute(request);
  Console.WriteLine(response.Content);
  
 
  OkHttpClient client  = new OkHttpClient().newBuilder().build();
  MediaType mediaType = MediaType.parse("text/plain");
  RequestBody body  = new MultipartBody.Builder().setType(MultipartBody.FORM)
  .addFormDataPart("username", "<wordpress_username>"); 
  .addFormDataPart("password", "<wordpress_password>"); 
  .build();
  Request request  = new Request.Builder()
  .url("http://<wp_base_url>/wp-json/api/v1/token ")
  .method("POST", body)
   .build();
  Response responseclient.newCall(request).execute();
        
 
  var form = new FormData();
  form.append("username", "<wordpress_username>");
  form.append("password", "<wordpress_password>");  
  
  var settings  = {
      "url": "http://<wp_base_url>/wp-json/api/v1/token ",
      "method": "POST",
      "timeout": 0,
      "processData": false,
      "mimeType": "multipart/form-data",
      "contentType": false,
      "data": form
      };
      
      $.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/api/v1/token%20',
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_ENCODING => '',
          CURLOPT_MAXREDIRS => 10,
          CURLOPT_TIMEOUT => 0,
          CURLOPT_FOLLOWLOCATION => true,
          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
          CURLOPT_CUSTOMREQUEST => 'POST',
          CURLOPT_POSTFIELDS => array('username' => '<wordpress_username>','password' => '<wordpress_password>'),
          ));
          
  $response = curl_exec($curl);
  curl_close($curl);    
  echo $response;
        
 
  import http.client
  import mimetypes
  from codecs import encode
      
  conn   = http.client.HTTPSConnection("<wp_base_url>")
  dataList= []
  boundary = 'wL36Yn8afVp8Ag7AmP8qZ0SA4n1v9T'
  dataList.append(encode('--' + boundary))
  dataList.append(encode('Content-Disposition: form-data; name=username;'))
  
  dataList.append(encode('Content-Type: {}'.format('text/plain')))    
  dataList.append(encode(''))    
  
  dataList.append(encode("<wordpress_username>"))    
  
  dataList.append(encode('--' + boundary))
  dataList.append(encode('Content-Disposition: form-data; name=password;'))    
  
  dataList.append(encode('Content-Type: {}'.format('text/plain')))    
  dataList.append(encode(''))    
  
  dataList.append(encode("<wordpress_password>"))    
  dataList.append(encode('--'+boundary+'--'))
  dataList.append(encode(''))
  body  = b'\r\n'.join(dataList)    
  payload= body
  headers = {
    'Content-type': 'multipart/form-data; boundary={}'.format(boundary) 
  }
  conn.request("POST", "/wp-json/api/v1/token", payload, headers)
  res= conn.getresponse()    
  data = res.read()    
  print (data.decode("utf-8"))   
  

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

  • Нажмите на Образцы почтальона вкладка в плагине.
  • Метод аутентификации REST API JWT для реализации Postman в WordPress
  • A Файл JSON будет загружено автоматически.
  • REST API Метод аутентификации JWT для WordPress Postman JSON-файл
  • Импортируйте загруженный файл Файл JSON в приложение Postman, как показано ниже.
    • После импорта JSON-файла нажмите на кнопку «Запрос REST API» в разделе... Коллекции как показано на последнем рисунке. Замените с вашим доменом WordPress в http://<wp_base_url>/wp-json/wp/v2/posts и заменить с именем пользователя WordPress и с паролем WordPress в параметрах тела сообщения.
    • Метод аутентификации REST JWT для WordPress (замена базового URL в Postman)
    • Пример
    • Метод аутентификации REST JWT для WordPress (замена базового URL в Postman)
    • ПРИМЕЧАНИЕ: Скопируйте JWT-токен, полученный из ответа. Он будет использоваться в запросах к API ресурсов для аутентификации.
    • После импорта JSON-файла нажмите на кнопку «Запрос REST API» в разделе... Коллекции как показано на последнем рисунке. Замените с вашим доменом WordPress в http://<wp_base_url>/wp-json/wp/v2/posts и заменить с использованием JWT-токена, скопированного из ответа, полученного после запроса токена.
    • Метод аутентификации REST JWT для WordPress Postman (замена базового URL на фактический ресурс)
    • Пример
    • REST API JWT Метод аутентификации для WordPress Postman Замена URL фактического ресурса

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


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


Как настроить ограничение доступа к REST API на основе ролей в WordPress?

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

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


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


Функция «Пользовательский заголовок» позволяет использовать собственный заголовок вместо стандартного заголовка «Авторизация». Это обеспечивает дополнительный уровень безопасности , поскольку REST API будет принимать запросы только с заданным вами именем пользовательского заголовка. Если кто-то попытается отправить запрос, используя стандартный заголовок «Авторизация», доступ будет запрещен.


Как настроить пользовательский заголовок для аутентификации REST API в WordPress?

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

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


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


Как настроить исключение REST API при аутентификации JWT?

  • Перейдите на вкладку «Расширенные настройки» плагина.
  • В разделе «Исключить REST API» введите конечные точки вашего API в требуемом формате.
  • Введенные API-интерфейсы будут исключены из процесса аутентификации и станут доступны для публичного доступа.
  • REST API Метод базовой аутентификации для реализации Postman в WordPress
  • Пример: Предположим, вы хотите исключить REST API ' ' Затем вам нужно ввести '/wp-json/wp/v2/posts' в текстовое поле.

4. Срок действия пользовательского токена:


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

Как установить пользовательский срок действия токена в аутентификации JWT?

  • Перейдите на вкладку «Расширенные настройки» плагина.
  • Откройте раздел «Настройка срока действия токена».
  • Настройте время истечения срока действия токена доступа (по умолчанию: 60 минут).
  • (Для OAuth 2.0) Настройте время истечения срока действия токена обновления (по умолчанию: 14 дней).
  • Сохраните изменения, чтобы применить пользовательские настройки срока действия токена.
  • REST API Метод базовой аутентификации для реализации Postman в WordPress

5. Проверка подписи для токенов на основе JWT:


Функция проверки подписи обеспечивает безопасную подпись. JWT-токены для защиты аутентификации REST API для WordPress. Каждая подпись токена может быть проверена только с помощью... секрет клиента или сертификатгарантируя, что подпись останется конфиденциально и безопасно и не могут быть доступны или изменены неавторизованными пользователями.

REST API Метод базовой аутентификации для реализации Postman в WordPress

Как настроить проверку JWT-подписи с использованием HS256 или RS256?

Плагин поддерживает два алгоритма подписи для JWT-токенов: HS256 и RS256 . Вы можете выбрать любой из алгоритмов из выпадающего меню. Для завершения проверки подписи добавьте свой секретный ключ или сертификат клиента , который используется для безопасной подписи JWT-токена и обеспечения его подлинности.

6. Токен обновления


Токен обновления — это долгосрочный токен, используемый для получения нового токена доступа без необходимости повторного входа пользователя в систему. Эта функция крайне важна для поддержания сессии пользователя после истечения срока действия токена доступа. Токены доступа обычно имеют короткий срок действия (например, от 15 минут до 1 часа) по соображениям безопасности, но токены обновления рассчитаны на более длительный срок действия (дни, недели или даже месяцы).

7. Отозвать токен


Отзыв токена означает его аннулирование до истечения срока действия. Эта функция имеет решающее значение для безопасности , особенно в таких случаях, как:

  • Пользователь выходит из своей сессии.
  • Пользователь меняет свой пароль.
  • Токен скомпрометирован (украден или произошла утечка).
  • Администраторы хотят принудительно вывести пользователей из системы или аннулировать их токены (например, после нарушения безопасности).


JWT обеспечивает безопасность, используя аутентификацию на основе JWT-токенов для проверки каждого запроса без повторной отправки имен пользователей и паролей. При аутентификации JWT для REST API токен подписывается цифровой подписью (HS256) или закрытым ключом (RSA), поэтому его невозможно изменить без обнаружения. Токены также истекают через установленное время, что снижает риск в случае утечки токена. Это делает аутентификацию JWT безопасным способом защиты конечных точек REST API для WordPress.

Необходимо добавить токен в заголовки запроса, используя заголовок Authorization в качестве токена Bearer. Это стандартный подход в аутентификации JWT для REST API и является основой аутентификации на основе токенов JWT. Например:
Authorization: Bearer YOUR_JWT_TOKEN

Когда срок действия токена доступа истекает, API возвращает ошибку авторизации (обычно 401). При использовании аутентификации JWT для WordPress вы можете использовать токен обновления (JWT refresh token) для запроса нового токена доступа без повторного входа в систему. Этот процесс является ключевым преимуществом аутентификации на основе токенов JWT, обеспечивая безопасность сессий и удобство использования аутентификации JWT для REST API.

Да. Плагин поддерживает как подписание токенов с использованием HS256, так и RSA, в зависимости от конфигурации. HS256 использует общий секрет, а RSA — пару открытого/закрытого ключей. Такая гибкость повышает безопасность аутентификации на основе JWT-токенов и соответствует различным требованиям безопасности для аутентификации JWT для REST API.

Проверить аутентификацию JWT для WordPress можно в два простых шага:

  • Сгенерируйте токен: используйте конечную точку для получения токенов плагина с действительными учетными данными WordPress и подтвердите получение JWT. curl -d" username=& пароль ="-X POST http:///wp-json/api/v1/token
  • Вызов защищенной конечной точки REST API: Отправьте запрос к защищенной конечной точке, используя следующий синтаксис:
    Authorization: Bearer YOUR_JWT_TOKEN



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

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

Мы свяжемся с вами в ближайшее время!



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

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


ADFS_sso ×
Привет!

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

поддержка