Sökresultat :

×

REST API OAuth 2.0-autentiseringsmetod för WordPress

OAuth 2.0 är en av de mest använda metoderna för att säkra åtkomst till REST API-slutpunkter för WordPressTill skillnad från traditionella metoder, OAuth 2.0 tillåter auktorisering utan att exponera en användares e-postadress eller lösenord för externa applikationer. Detta autentiseringsflöde använder OAuth 2.0-protokoll att skapa en säker access token or ID-token (JWT-token), som sedan används för att autentisera alla API-förfrågningar. Varje gång en förfrågan görs till en REST API-slutpunkt för WordPress, API:et verifierar Bärartoken för att avgöra om de begärda resurserna är åtkomliga. Tokens som utfärdats via OAuth 2.0 är starkt krypterade och säkra, vilket säkerställer att känsliga uppgifter förblir skyddade. Även om de liknar JWT-autentisering, OAuth 2.0 ger förbättrad säkerhet och ytterligare fördelar, vilket gör det till den föredragna metoden för skydd REST API-slutpunkter för WordPress.



REST API-autentisering för WordPress

REST API-autentiseringspluginet för WordPress ger skydd mot obehörig åtkomst till dina REST API:er för WordPress. Vårt plugin erbjuder flera autentiseringsmetoder som grundläggande autentisering, API-nyckelautentisering, OAuth 2.0-autentisering och JWT-autentisering.

Lär dig mer   

  • Logga in på din WordPress-instans som admin.
  • Gå till WordPress Dashboard → Plugins och klicka på Lägg till en ny.
  • Sök efter en REST API-autentisering plugin för WordPress och klicka på installera nu.
  • När du har installerat klicka på Aktivera.


1. Bevilja lösenord:


Hur registrerar eller autentiserar man WordPress-användare säkert på externa plattformar via REST API?

  • Om du har ett inloggningsformulär i din applikation och vill autentisera användare med hjälp av deras WordPress-inloggningsuppgifter, den OAuth 2.0-autentisering i REST API-metoden kan hjälpa dig att uppnå det.
  • Insticksprogrammet ger en WordPress inloggnings-API, vilket gör att du kan passera WordPress-uppgifter av en användare till detta API. Baserat på valideringen får du autentisering och ett svar som bekräftar användarens åtkomst.
  • Dessutom OAuth 2.0-autentisering i REST API-metoden kan också användas för att registrera nya användare i WordPress med hjälp av administratörsuppgifterGenom plugin-programmets OAuth 2.0-tokenslutpunkt, kan du skicka WordPress-administratörsuppgifter för att generera en token med administratörsbehörigheter.
  • Denna token kan sedan användas för att utföra privilegierade operationer som AnvändarregistreringNär den har genererats kan token användas med WordPress /users REST API-slutpunkt för att säkert registrera användare i WordPress utan att exponera känslig inloggningsinformation.

2. Kunduppgifter:


Hur autentiserar eller skyddar man REST API-slutpunkter för WordPress på ett säkert sätt och registrerar användare utan att använda administratörsuppgifter?

  • Om du vill komma åt REST API för WordPress utan att dela WordPress användaruppgifter, eller om du vill registrera användare i WordPress säkert utan att använda administratörsanvändaruppgifter, den Klientautentiseringsmetod är den perfekta lösningen.
  • Istället för att exponera känsliga inloggningsuppgifter kan du använda klientuppgifter som tillhandahålls av plugin-programmet, vilket säkerställer att det inte finns någon risk för att autentiseringsuppgifter komprometteras.
  • Pluginet fungerar som en OAuth 2.0-identitetsleverantör (server) att utfärda säkra tokens och som en REST API-autentiserare att validera dem.
  • När token väl har erhållits kan den autentiseras REST API-slutpunkter för WordPress, vilket säkerställer säker och pålitlig åtkomst.
  • Det finns ingen anledning att lägga till denna flödesimplementering, eftersom vi inte har inkluderat ett flödesschema, och implementeringen har redan förklarats genom två användningsfall.
    • 1. REST API-begäran kommer att göras med lämpliga parametrar för att erhålla token för vårt plugin. Vårt plugin kommer att fungera som en OAuth 2.0-identitetsleverantör och tillhandahåller åtkomsttoken.

      2. Den faktiska REST API-begäran för att få tillgång till resursen kommer att göras med åtkomsttoken som mottogs från det sista steget som passerades i Auktoriseringshuvudet med tokentyp som Bärare. Pluginet fungerar nu som Authenticator för att autentisera API:t på basis av tokens giltighet. Om token valideras framgångsrikt kommer API-begäraren att tillåtas komma åt resursen annars på den misslyckade valideringen kommer felsvaret att returneras.


Relaterat användningsfall:

  • Hur loggar man in eller registrerar användare med hjälp av REST API för WordPress?
  • Hur autentiseras WordPress-användare med API:t?


  • Gå till Konfigurera API-autentisering fliken i plugin-programmet och välj OAuth 2.0-autentisering som metoden.
  • Välj OAuth 2.0-tillståndstyp as Bevilja lösenord.
  • Välj tokentyp som antingen tillgång Token or JWT-token. De tillgång Token är en slumpmässig sträng, medan JWT-token innehåller kodade användaruppgifter och rekommenderas om du behöver hämta WordPress-profiluppgifter senare.
  • REST API OAuth 2.0-autentiseringsmetod för WordPress
  • Klicka på Spara konfiguration att möjliggöra OAuth 2.0-autentisering och säkra din REST API-slutpunkter för WordPress.
  • Efter att du har sparat får du kund-ID, Klienthemlighetoch Token Endpoint för att erhålla säkerhetstoken.
  • När installationen är klar, gör två API-anrop: först för att hämta Access/JWT-token och sedan för att använda den token för att autentisera WordPress REST API-förfrågningar.

    Jag: Få token

    • För att få åtkomsttoken/JWT-token måste du göra ett API-anrop till OAuth 2.0 Token-slutpunkt som tillhandahålls av vårt plugin som visas nedan.
    • 
        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'
        
    • Använder Refresh Token
    • 
        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: Skicka faktisk REST API-förfrågan för WordPress

    • När du väl har fått access_token / id_token (JWT-token) med hjälp av OAuth 2.0-lösenordsbeviljandeflödet kan du använda det för att begära åtkomst till REST API-slutpunkterna för WordPress enligt nedan.
    • 
        Request: GET https://<domain-name>/wp-json/wp/v2/posts
        Header: Authorization :Bearer <access_token /id_token>
        
    • OBS: Ovanstående token är giltig i 1 timme som standard. Samma token kan användas flera gånger för flera REST API-förfrågningar innan dess utgångsdatum. När token har löpt ut måste en ny token skapas för att begära åtkomst till WordPress REST API-slutpunkten.
  • Kolla in Felsvar för OAuth 2.0 med lösenordsbeviljande.


  • I insticksprogrammet, gå till Konfigurera API-autentisering Fliken och välj OAuth 2.0-autentisering som metoden.
  • Välj OAuth 2.0-tillståndstyp as Beviljande av kunduppgifter.
  • REST API OAuth 2.0-autentiseringsmetod för WordPress med jwt
  • Klicka Spara konfiguration för att aktivera metoden.
  • Efter att du har sparat får du kund-ID, Klienthemlighetoch Token Endpoint.
  • Gör sedan två API-anrop: ett för att hämta token och ett annat för att använda den token för att autentisera WordPress REST API-förfrågningar.
  • Jag: Få token

    • Efter att ha sparat ovanstående konfiguration får du klient-ID, klienthemlighet och tokenslutpunkt.
    • skaffa token, måste du skicka en token-förfrågan som visas nedan
    • 
        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'
        
    • Använder Refresh Token
    • 
        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 : Skicka API-förfrågan

    • När du har fått access_token / id_token från OAuth 2.0-klientinloggningen kan du använda den för att begära åtkomst till REST API-slutpunkten för WordPress enligt nedan.
    • 
        Request: GET https://<domain-name>/wp-json/wp/v2/posts
        Header: Authorization : Bearer <access_token /id_token>
    • OBS: Ovanstående token är giltigt i 1 timme som standard. Samma token kan användas flera gånger för flera REST API-förfrågningar innan dess utgångstid. När token har gått ut måste en ny token skapas för att begära WordPress REST API-slutpunktsåtkomst.
  • Kolla in Felsvar för OAuth 2.0 med Client Credentials Grant.
  • Kolla in utvecklarens dokumentation för mer detaljer.


Ocuco-landskapet OAuth 2.0-metoden ger dig ytterligare säkerhetsanläggningar, vilket ger dig mer kontroll över tokens och därmed förbättrar den övergripande säkerheten för din Wordpress webbplats.


1. Uppdatera token -



REST API OAuth 2.0-autentisering för WordPress Refresh Token

aktivera Uppdatera token möjlighet att få en uppdatera token tillsammans med access token or JWT-token.

Användare kan fortsätta att använda samma resurser utan att logga in igen.

Uppdatera tokens tillåta utgivning av kortlivade åtkomsttoken för bättre säkerhet.

När en access token löper ut, den uppdatera token genererar en ny på ett säkert sätt.


2. Återkalla token -



REST API OAuth 2.0-autentisering för WordPress Revoke Token

aktivera Återkalla token möjlighet att ogiltigförklara en befintlig access token or JWT-token.

När token väl har återkallats kan den inte användas för autentisering WordPress REST API:er.

Ocuco-landskapet REST API först validerar appens inloggningsuppgifter och kontrollerar om token tillhör den begärande appen.

Om valideringen godkänns ogiltigförklaras token; misslyckade valideringar returnerar ett fel.


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

  • Exempelbegäran för att få token:
  • Du kan ladda ner provet på brevbärarens begäran från här..
  • Nu extrahera zip-fil och importera det extraherade json-fil i Brevbärarapplikation.
  • REST API OAuth 2.0-autentiseringsmetod för WordPress-metoden Postman-implementering
  • Exempelvis
  • REST API OAuth 2.0 Autentiseringsmetod för WordPress metod postman ersätt url faktisk resurs
  • Exempel på begäranformat för att begära resurser med hjälp av token som erhölls i det sista steget.
  • Du kan ladda ner provet på brevbärarens begäran från här..
  • Nu extrahera zip-fil och importera det extraherade json-fil i Brevbärarapplikation.
  • REST API OAuth 2.0-autentiseringsmetod för WordPress Postman-implementering
  • Exempelvis
  • REST API OAuth 2.0 Autentiseringsmetod för WordPress postman ersätt URL faktisk resurs

  • Exempelbegäran för att få token:
  • Du kan ladda ner provet på brevbärarens begäran från här..
  • Nu extrahera zip-fil och importera det extraherade json-fil i Brevbärarapplikation.
  • REST API OAuth 2.0-autentiseringsmetod för WordPress Postman-implementering
  • Exempelvis
  • REST API OAuth 2.0 Autentiseringsmetod för WordPress postman ersätt URL faktisk resurs

  • Du kan ladda ner provet på brevbärarens begäran från här..
  • Nu extrahera zip-fil och importera det extraherade json-fil i Brevbärarapplikation.
  • REST API OAuth 2.0-autentiseringsmetod för WordPress Postman-implementering
  • Exempelvis
  • REST API OAuth 2.0-autentiseringsmetod för WordPress postman url faktisk resurs


1. Rollbaserad REST API-begränsning:


Den här funktionen begränsar REST API-åtkomst för WordPress baserat på användarrollerDu kan tillåta specifika roller som har åtkomst till vissa REST API-resurser. När en REST API-begäran görs, användarens roll kontrolleras och åtkomst beviljas endast om rollen finns på tillåtelselistan.


Hur konfigurerar man rollbaserade REST API-begränsningar i WordPress?

  • Gå till pluginet avancerade inställningar fliken.
  • I Rollbaserad begränsning avsnittet har alla roller som standard åtkomst till API:er.
  • Markera kryssrutan bredvid de roller du vill begränsa från att komma åt API:erna.
  • WordPress REST API grundläggande autentiseringsmetod implementering av postman
  • I skärmdumpen ovan är kryssrutan prenumerantroll aktiverad. Så närhelst en API-begäran görs av användaren med sin roll som prenumerant kommer den användaren inte att få åtkomst till den begärda resursen.

Obs: Den rollbaserade begränsningsfunktionen är giltig för grundläggande autentisering (användarnamn: lösenord), JWT-metoden och OAuth 2.0 (lösenordsbeviljande).


2. Anpassad rubrik:


Ocuco-landskapet Anpassa sidhuvud funktionen låter dig använda en anpassad rubrik istället för standard Rubriken 'Auktorisering'.

Detta ger ett extra säkerhetslager eftersom REST API kommer endast att acceptera förfrågningar med din definierade anpassat rubriknamnOm någon försöker skicka en begäran med standardinställningen Rubriken 'Auktorisering', åtkomst kommer att nekas.


Hur konfigurerar man en anpassad header för REST API-autentisering i WordPress?

  • Gå till pluginet avancerade inställningar fliken.
  • I Anpassa sidhuvud ange ditt önskade rubriknamn i textrutan i avsnittet.
  • Spara ändringar för att tillämpa den nya anpassade rubriken för API-förfrågningar.
  • REST API Basic Authentication method för WordPress Postman-implementering

3. Uteslut REST API:er:


Ocuco-landskapet Uteslut REST API:er funktionen låter dig tillåta specifika REST API-slutpunkter att nås utan autentisering. Dessa undantagna API:er blir offentligt tillgängliga, vilket gör dem tillgängliga utan att det krävs en token or logga in.


Hur konfigurerar man ett undantaget REST API i JWT-autentisering?

  • Gå till pluginet avancerade inställningar fliken.
  • I Uteslut REST API:er avsnittet, ange dina API-slutpunkter i önskat format.
  • De angivna API:erna kommer att exkluderas från autentisering och vara tillgängliga för allmänheten.
  • REST API Basic Authentication method för WordPress Postman-implementering
  • Exempel: Antag om du vill utesluta REST API ' ' /wp-json/wp/v2/posts' så måste du ange '/wp/v2/posts' i textrutan.

4. Aktivera avancerad kryptering för tokens med HMAC:


Denna funktion är tillgänglig i Grundläggande autentiseringsmetodSom standard krypteras tokens med hjälp av Base64-kodning, men med det avancerade alternativet kan du aktivera HMAC-kryptering för tokens. HMAC ger en mycket högre säkerhetsnivå, vilket säkerställer att API-förfrågningar är starkt skyddade mot manipulering och obehörig åtkomst.

Hur konfigurerar man HMAC-kryptering för tokens i WordPress Basic Authentication?

  • Gå till pluginet avancerade inställningar fliken och öppna Token-krypteringsmetod sektion.
  • Välja HMAC istället för Base64och sedan spara ändringar att tillämpa säker kryptering för alla tokens.
  • REST API Basic Authentication method för WordPress Postman-implementering



Få en komplett provversion



 Tack för ditt svar. Vi återkommer snart.

Något gick fel. Skicka din fråga igen

Integrera externa/tredje parts REST API-slutpunkter

Behöver hjälp?

Maila oss vidare apisupport@xecurify.com för snabb vägledning (via e-post/möte) om ditt krav och vårt team hjälper dig att välja den bästa lämpliga lösningen/planen enligt dina krav.


ADFS_sso ×
Hej där!

Behövs hjälp? Vi är här!

stödja