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

×

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

ОАут 2.0 является одним из наиболее широко используемых методов обеспечения безопасности доступа к REST API конечные точки для WordPressВ отличие от традиционных методов, ОАут 2.0 Позволяет авторизоваться без раскрытия электронной почты или пароля пользователя внешним приложениям. Этот процесс аутентификации использует протокол OAuth 2.0 создать безопасный маркер доступа or Идентификационный токен (JWT-токен)который затем используется для аутентификации всех запросов API. Каждый раз, когда поступает запрос в REST API конечная точка для WordPressAPI проверяет Токен на предъявителя чтобы определить, возможен ли доступ к запрошенным ресурсам. Токены, выпущенные через ОАут 2.0 Они обладают высоким уровнем шифрования и безопасности, гарантируя защиту конфиденциальных данных. Хотя они похожи на JWT-аутентификация, ОАут 2.0 обеспечивает повышенную безопасность и дополнительные преимущества, что делает его предпочтительным методом защиты. REST API конечные точки для WordPress.



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

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

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

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


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


Как безопасно регистрировать или аутентифицировать пользователей WordPress на внешних платформах через REST API?

  • Если в вашем приложении есть форма авторизации, и вы хотите аутентифицировать пользователей, используя их данные, учетные данные WordPress, Аутентификация OAuth 2.0 В методе REST API это может вам помочь.
  • Плагин предоставляет API для входа в WordPress, что позволит вам пройти учетные данные WordPress Пользователь обращается к этому API. После проверки вы получите подтверждение аутентификации и ответ, подтверждающий доступ пользователя.
  • Кроме того, Аутентификация OAuth 2.0 Метод REST API также можно использовать для регистрации новых пользователей в WordPress. учетные данные администратора. Через плагин Конечная точка токена OAuth 2.0, ты можешь отправить Учетные данные администратора WordPress для генерации токена с правами администратора.
  • Затем этот токен можно использовать для выполнения привилегированных операций, таких как: Регистрация пользователяПосле генерации токен можно использовать с Конечная точка REST API WordPress /users для безопасной регистрации пользователей в WordPress без раскрытия конфиденциальной информации для входа в систему.

2. Учетные данные клиента:


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

  • Если вы хотите получить доступ к REST API для WordPress без обмена Учетные данные пользователя WordPressили если вы хотите безопасно регистрировать пользователей в WordPress без использования учетные данные администратора, Метод учетных данных клиента Это идеальное решение.
  • Вместо того чтобы раскрывать конфиденциальные данные для входа в систему, вы можете использовать учетные данные клиента Это обеспечивается плагином, гарантируя отсутствие риска компрометации учетных данных.
  • Плагин выступает в роли Поставщик идентификационных данных OAuth 2.0 (сервер) для выпуска защищенных токенов и в качестве Аутентификатор REST API чтобы подтвердить их.
  • После получения токен может использоваться для аутентификации. REST API конечные точки для WordPress, обеспечивая безопасный и надежный доступ.
  • Нет необходимости добавлять эту реализацию потока, поскольку мы не включили блок-схему, а реализация уже была объяснена на примере двух вариантов использования.
    • 1. Запрос к REST API будет отправлен с соответствующими параметрами для получения токена для нашего плагина. Наш плагин будет выступать в качестве поставщика идентификации OAuth 2.0 и предоставлять токен доступа.

      2. Фактический REST API-запрос для доступа к ресурсу будет выполнен с использованием токена доступа, полученного на предыдущем шаге и переданного в заголовке Authorization с типом токена Bearer. Теперь плагин выступает в роли аутентификатора для проверки подлинности API на основе действительности токена. Если токен успешно проверен, запрашивающему API будет разрешен доступ к ресурсу; в противном случае, при неудачной проверке, будет возвращен ответ с ошибкой.


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

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


  • Перейдите в раздел «Настройка». Аутентификация API вкладка в плагине и выберите Аутентификация OAuth 2.0 в качестве метода.
  • Выберите Тип предоставления OAuth 2.0 as Предоставление пароля.
  • Выберите тип токена: Токен доступа or JWT-токен, Токен доступа является случайной строкой, в то время как JWT-токен Содержит закодированные данные пользователя и рекомендуется к использованию, если вам потребуется получить данные профиля WordPress позже.
  • REST API Метод аутентификации OAuth 2.0 для WordPress
  • Нажмите на Сохранить конфигурацию включить OAuth 2.0 аутентификация и защитите свой REST API конечные точки для WordPress.
  • После сохранения вы получите идентификатор клиента, Секрет клиента и Конечная точка токена для получения токена безопасности.
  • После завершения настройки выполните два вызова API: сначала для получения токена доступа/JWT, а затем для использования этого токена для аутентификации запросов REST API WordPress.

    Я: Получите токен

    • Для получения токена доступа/JWT-токена вам потребуется выполнить вызов API к конечной точке OAuth 2.0 Token, предоставляемой нашим плагином, как показано ниже.
    • 
        Request: POST https://<domain-name>/wp-json/api/v1/token
        Body:
        grant_type =<password>
        username =<wordpress username>
        password = <wordpress password>
        client_id =<client id>
        
        Sample curl Request Format-
        curl -d "grant_type=password&username=<wordpress_username>&password=<wordpress_password>&client_id=<client_id>"
        -X POST http://<wp_base_url>/wp-json/api/v1/token
        -H 'app-name:TheAppName'
        
    • Использование токена обновления
    • 
        Request: POST  https://<domain-name>/wp-json/api/v1/token
        Body:
        grant_type = <refresh_token>
        refresh_token =  <Refresh Token>
        
        Sample curl Request Format-
        curl -d "grant_type=refresh_token&refresh_token=<refresh_token>&client_id=<client_id>&client_secret=<client_secret>"
        -X POST http://<wp_base_url>/wp-json/api/v1/token
        -H 'app-name:TheAppName'
        

    II: Отправка фактического REST API-запроса для WordPress

    • Получив access_token / id_token (JWT-токен) с помощью протокола авторизации по паролю OAuth 2.0, вы можете использовать его для запроса доступа к конечным точкам REST API для WordPress, как показано ниже.
    • 
        Request: GET https://<domain-name>/wp-json/wp/v2/posts
        Header: Authorization :Bearer <access_token /id_token>
        
    • ПРИМЕЧАНИЕ: Указанный выше токен по умолчанию действителен в течение 1 часа. Один и тот же токен можно использовать несколько раз для нескольких запросов к REST API до истечения срока его действия. После истечения срока действия токена необходимо создать новый токен для запроса доступа к конечной точке REST API WordPress.
  • Попробуйте Ответ об ошибке для OAuth 2.0 с использованием предоставления пароля.


  • В плагине перейдите в раздел «Настройка». Аутентификация API И выберите Аутентификация OAuth 2.0 в качестве метода.
  • Выберите Тип предоставления OAuth 2.0 as Предоставление учетных данных клиента.
  • REST API Метод аутентификации OAuth 2.0 для WordPress с использованием JWT
  • Нажмите Сохранить конфигурацию для включения этого метода.
  • После сохранения вы получите идентификатор клиента, Секрет клиента и Конечная точка токена.
  • Далее выполните два вызова API: один для получения токена, а другой для использования этого токена для аутентификации запросов REST API WordPress.
  • Я: Получите токен

    • После сохранения вышеуказанных настроек вы получите идентификатор клиента (Client ID), секретный ключ клиента (Client-Secret) и конечную точку токена (Token Endpoint).
    • Чтобы получить токен, необходимо отправить запрос на получение токена, как показано ниже.
    • 
        Request: POST https://<domain-name>/wp-json/api/v1/token
        Body:
        grant_type = <client_credentials>
        client_id = <client id>
        client_secret = <client secret>
        
        Sample curl Request Format-
        curl -d "grant_type=client_credentials&client_id=<client_id>&client_secret=<client_secret>"
        -X POST http://<wp_base_url>/wp-json/api/v1/token
        -H 'app-name:TheAppName'
        
    • Использование токена обновления
    • 
        Request: POST https://<domain-name>/wp-json/api/v1/token
        Body:
        grant_type = <refresh_token>
        refresh_token = <Refresh Token>
        
        Sample curl Request Format-
        curl -d "grant_type=refresh_token&refresh_token=<refresh_token>&client_id=<client_id>&client_secret=<client_secret>"
        -X POST http://<wp_base_url>/wp-json/api/v1/token
        -H 'app-name:TheAppName'
        

    II: Отправка API-запроса

    • Получив access_token / id_token с помощью учетных данных клиента OAuth 2.0, вы можете использовать его для запроса доступа к конечной точке REST API для WordPress, как показано ниже.
    • 
        Request: GET https://<domain-name>/wp-json/wp/v2/posts
        Header: Authorization : Bearer <access_token /id_token>
    • ПРИМЕЧАНИЕ: Указанный выше токен по умолчанию действителен в течение 1 часа. Один и тот же токен можно использовать несколько раз для нескольких запросов к REST API до истечения срока его действия. После истечения срока действия токена необходимо создать новый токен для доступа к конечной точке REST API WordPress.
  • Попробуйте Ответ об ошибке для OAuth 2.0 с использованием предоставления учетных данных клиента.
  • Попробуйте документация для разработчиков Больше подробностей.


метод OAuth 2.0 предоставляет вам дополнительные объекты безопасностиэто позволит вам лучше контролировать токены и тем самым повысит общую безопасность ваших данных. WordPress сайт.


1. Токен обновления -



REST API Аутентификация OAuth 2.0 для токена обновления WordPress

Включите Обновить токен возможность получить обновить токен вместе с маркер доступа or JWT токен.

Пользователи могут продолжать получать доступ к тем же ресурсам без повторного входа в систему.

Обновить токены разрешить выпуск краткосрочных токены доступа для лучшей безопасности.

Когда маркер доступа истекает, обновить токен безопасно генерирует новый.


2. Отзыв токена -



REST API Аутентификация OAuth 2.0 для WordPress Отзыв токена

Включите Отменить токен возможность аннулировать существующую маркер доступа or JWT-токен.

После аннулирования токен нельзя использовать для аутентификации. REST API WordPress.

REST API сначала проверяет учетные данные приложения и проверяет, принадлежит ли токен запрашивающему приложению.

Если проверка проходит успешно, токен аннулируется; при неудачной проверке возвращается ошибка.


 
  var client = new RestClient("http://<wp_base_url>/wp-json/api/v1/token ");
  client.Timeout = -1;
  var request = new RestRequest(Method.POST);
  request.AlwaysMultipartFormDatatrue;    
  request.AddHeader("app-name", "TheAppName");
  request.AddParameter("grant_type", "client_credentials");
  request.AddParameter("client_id", "<client_id>");     
  request.AddParameter("client_secret", "<client_secret>");
  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("grant_type", "client_credentials");
  .addFormDataPart("client_id", "<client_id>");     
  .addFormDataPart("client_secret", "<client_secret>");
   .build();
  Request request  = new Request.Builder()  
  .url("http://<wp_base_url>/wp-json/api/v1/token ")
  .method("POST", null)
  .addHeader("app-name", "TheAppName")
   .build();
  Response responseclient.newCall(request).execute();
          
 
  var form = new FormData();
  form.append("grant_type", "client_credentials");
  form.append("client_id", "<client_id>");     
  form.append("client_secret", "<client_secret>");
  
  var settings  = {
      "url": "http://<wp_base_url>/wp-json/api/v1/token ",
      "method": "POST",
      "timeout": 0,
      "headers": {"app-name": "TheAppName"}
      "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',
          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_HTTPHEADER => array( 'app-name: TheAppName' )
          CURLOPT_POSTFIELDS => array('grant_type' => 'client_credentials','client_id' => '<client_id>','client_secret' => '<client_secret>'),
  
          ));          
        
  $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=grant_type;'))    
  
  dataList.append(encode('Content-Type: {}'.format('text/plain')))    
  dataList.append(encode(''))    
  
  dataList.append(encode("client_credentials"))
  dataList.append(encode('--' + boundary))    
  dataList.append(encode('Content-Disposition: form-data; name=client_id;'))    
  
  dataList.append('Content-Type: {}'.format('text/plain')))
  dataList.append(encode(''))    
  
  dataList.append(encode("<client_id>"))    
  dataList.append(encode('--'+ boundary))    
  dataList.append(encode('Content-Disposition: form-data; name=client_secret;'))
  
  dataList.append(encode('Content-Type: {}'.format('text/plain')))
  dataList.append(encode(''))
  
  
  dataList.append(encode("<client_secret<"))    
  dataList.append(encode('--'+boundary+'--'))
  dataList.append(encode(''))
  body  = b'\r\n'.join(dataList)    
  payload= body
  headers = {
    'Content-type': 'multipart/form-data; boundary={}'.format(boundary),
    'app-name': 'TheAppName'
  }
  conn.request("POST", "/wp-json/api/v1/token ", 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.AddHeader("app-name", "TheAppName");
  request.AddParameter("grant_type", "password");
  request.AddParameter("username", "<wordpress_username>");     
  request.AddParameter("password", "<wordpress_password>");    
  request.AddParameter("client_id", "<client_id>");
  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("grant_type", "password");
  .addFormDataPart("username", "<wordpress_username>");     
  .addFormDataPart("password", "<wordpress_password>");    
  .addFormDataPart("client_id", "<client_id>");
   .build();
  Request request  = new Request.Builder()  
  .url("http://<wp_base_url>/wp-json/api/v1/token ")
  .method("POST", null)
  .addHeader("app-name", "TheAppName")
   .build();
  Response responseclient.newCall(request).execute();
        
 
  var form = new FormData();
  form.append("grant_type", "password");
  form.append("username", "<wordpress_username>");     
  form.append("password", "<wordpress_password>");    
  form.append("client_id", "<client_id>");
  
  var settings  = {
      "url": "http://<wp_base_url>/wp-json/api/v1/token ",
      "method": "POST",
      "timeout": 0,
      "headers": {"app-name": "TheAppName"}
      "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_HTTPHEADER => array( 'app-name: TheAppName' )
          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=grant_type;'))    
  
  dataList.append(encode('Content-Type: {}'.format('text/plain')))    
  dataList.append(encode(''))    
  
  dataList.append(encode("password"))
  dataList.append(encode('--' + boundary))    
  dataList.append(encode('Content-Disposition: form-data; name=username;')    
  
  dataList.append('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('Content-Disposition: form-data; name=client_id;'))    
  
  dataList.append(encode('Content-Type: {}'.format('text/plain')))
  dataList.append(encode(''))
  
  dataList.append(encode("<client_id>"))    
  dataList.append(encode('--'+boundary+'--'))    
  dataList.append(encode(''))    
  
  body  = b'\r\n'.join(dataList)    
  payload= body
  headers = {
    'Content-type': 'multipart/form-data; boundary={}'.format(boundary),
    'app-name': 'TheAppName'
  conn.request("POST", "/wp-json/api/v1/token ", 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.AlwaysMultipartFormDatatrue;    
  request.AddHeader("app-name", "TheAppName");
  request.AddParameter("grant_type", "refresh_token");
  request.AddParameter("client_id", "<client_id>");     
  request.AddParameter("client_secret", "<client_secret>");
  request.AddParameter("refresh_token", "<refresh_token>");
  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("grant_type", "refresh_token");
  .addFormDataPart("client_id", "<client_id>");     
  .addFormDataPart("client_secret", "<client_secret>");
  .addFormDataPart("refresh_token", "<refresh_token>");
   .build();
  Request request  = new Request.Builder()  
  .url("http://<wp_base_url>/wp-json/api/v1/token ")
  .method("POST", null)
  .addHeader("app-name", "TheAppName")
   .build();
  Response responseclient.newCall(request).execute();
          
 
  var form = new FormData();
  form.append("grant_type", "refresh_token");
  form.append("client_id", "<client_id>");     
  form.append("client_secret", "<client_secret>");
  form.append("refresh_token", "<refresh_token>");
  
  var settings  = {
      "url": "http://<wp_base_url>/wp-json/api/v1/token ",
      "method": "POST",
      "timeout": 0,
      "headers": {"app-name": "TheAppName"}
      "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',
          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_HTTPHEADER => array( 'app-name: TheAppName' )
          CURLOPT_POSTFIELDS => array('grant_type' => 'refresh_token','client_id' => '<client_id>','client_secret' => '<client_secret>','refresh_token' => '<refresh_token>'),
  
          ));          
        
  $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=grant_type;'))    
  
  dataList.append(encode('Content-Type: {}'.format('text/plain')))    
  dataList.append(encode(''))    
  
  dataList.append(encode("refresh_token"))
  dataList.append(encode('--' + boundary))    
  dataList.append(encode('Content-Disposition: form-data; name=client_id;'))    
  
  dataList.append('Content-Type: {}'.format('text/plain')))
  dataList.append(encode(''))    
  
  dataList.append(encode("<client_id>"))    
  dataList.append(encode('--'+ boundary))    
  dataList.append(encode('Content-Disposition: form-data; name=client_secret;'))
  
  dataList.append(encode('Content-Type: {}'.format('text/plain')))
  dataList.append(encode(''))
  
  dataList.append(encode("<client_id>"))    
  dataList.append(encode('--'+ boundary))    
  dataList.append(encode('Content-Disposition: form-data; name=refresh_token;'))    
  
  dataList.append(encode('Content-Type: {}'.format('text/plain')))
  dataList.append(encode(''))
  
  dataList.append(encode("<refresh_token<")) 
  dataList.append(encode('--'+boundary+'--'))
  dataList.append(encode(''))
  
  body  = b'\r\n'.join(dataList)    
  payload= body
  headers = {
    'Content-type': 'multipart/form-data; boundary={}'.format(boundary),
    'app-name': 'TheAppName'     
  
  conn.request("POST", "/wp-json/api/v1/token ", payload, headers)
  res= conn.getresponse()    
  data = res.read()    
  print (data.decode("utf-8"))   
  
 
  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 < access_token / id_token >");
  request.AddHeader = ("app-name", "TheAppName");
  IRestResponse response = client.Execute(request);
  Console.WriteLine(response.Content);
  
 
  OkHttpClient client  = new OkHttpClient().newBuilder().build();
  MediaType mediaType = MediaType.parse("text/plain");    
  RequestBody body =  RequestBody.create(mediaType, ""); 
  Request request  = new Request.Builder()
  .url("http://<wp_base_url>//wp-json/wp/v2/posts")
  .method("GET", body)
  .addHeader = ("Authorization", "Bearer < access_token / id_token >"); 
  .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 
      ( 
          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 < access_token / id_token >',
              '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 < access_token / id_token >',
      '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 файл в Заявка на должность почтальона.
  • Метод аутентификации REST API OAuth 2.0 для WordPress (реализация в Postman)
  • Пример
  • REST API Метод аутентификации OAuth 2.0 для WordPress метод postman заменить url фактический ресурс
  • Пример формата запроса на получение ресурсов с использованием токена, полученного на предыдущем шаге.
  • Вы можете скачать пример запроса Postman по ссылке: здесь.
  • Теперь извлеките архива и импортировать извлеченные данные JSON файл в Заявка на должность почтальона.
  • REST API OAuth 2.0 — метод аутентификации для реализации Postman в WordPress.
  • Пример
  • REST API Метод аутентификации OAuth 2.0 для WordPress Postman Заменить URL на фактический ресурс

  • Пример запроса для получения токена:
  • Вы можете скачать пример запроса Postman по ссылке: здесь.
  • Теперь извлеките архива и импортировать извлеченные данные JSON файл в Заявка на должность почтальона.
  • REST API OAuth 2.0 — метод аутентификации для реализации Postman в WordPress.
  • Пример
  • REST API Метод аутентификации OAuth 2.0 для WordPress Postman Заменить URL на фактический ресурс

  • Вы можете скачать пример запроса Postman по ссылке: здесь.
  • Теперь извлеките архива и импортировать извлеченные данные JSON файл в Заявка на должность почтальона.
  • REST API OAuth 2.0 — метод аутентификации для реализации Postman в WordPress.
  • Пример
  • REST API Метод аутентификации OAuth 2.0 для WordPress URL-адрес Postman фактический ресурс


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


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


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

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

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


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


Пользовательский заголовок эта функция позволяет использовать настраиваемый заголовок вместо по умолчанию заголовок 'Авторизация'.

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


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

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

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


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


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

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

4. Включите расширенное шифрование для токенов с использованием HMAC:


Эта функция доступна в Метод базовой аутентификацииПо умолчанию токены шифруются с использованием кодирование Base64но с помощью расширенных настроек вы можете включить Шифрование HMAC для жетонов. HMAC обеспечивает гораздо более высокий уровень безопасности, гарантируя, что Запросы API надежно защищены от несанкционированного доступа и вмешательства.

Как настроить шифрование HMAC для токенов в базовой аутентификации WordPress?

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



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



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

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

Интеграция внешних/сторонних REST API-интерфейсов

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

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


ADFS_sso ×
Привет!

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

поддержка