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 WordPress . Till skillnad från traditionella metoder tillåter OAuth 2.0 auktorisering utan att exponera en användares e-postadress eller lösenord för externa applikationer. Detta autentiseringsflöde använder OAuth 2.0-protokollet för att generera en säker åtkomsttoken eller ID-token (JWT-token) , som sedan används för att autentisera alla API-förfrågningar. Varje gång en begäran görs till en REST API-slutpunkt för WordPress verifierar API:et Bearer-token för att avgöra om de begärda resurserna kan nås. Tokens som utfärdas via OAuth 2.0 är starkt krypterade och säkra, vilket säkerställer att känsliga data förblir skyddade. Även om det liknar JWT-autentisering ger OAuth 2.0 förbättrad säkerhet och ytterligare fördelar, vilket gör den till den föredragna metoden för att skydda 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 inloggnings-API för WordPress, 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 hämta token för vårt plugin. Vårt plugin kommer att fungera som en OAuth 2.0-identitetsleverantör och tillhandahålla åtkomsttoken.

      2. Den faktiska REST API-begäran om åtkomst till resursen kommer att göras med åtkomsttoken som mottogs från det sista steget och skickades i Authorization-headern med tokentypen Bearer. Plugin-programmet fungerar nu som Authenticator för att autentisera API:et baserat på tokengiltighet. Om token valideras korrekt kommer API-begäraren att tillåtas åtkomst till resursen, annars returneras ett felsvar vid den misslyckade valideringen.


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 REST API-förfrågningar i WordPress.

    Jag: Få token

    • För att hämta åtkomsttoken/JWT-token måste du göra ett API-anrop till OAuth 2.0-tokenslutpunkten som tillhandahålls av vårt plugin, vilket 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 REST API-förfrågningar i WordPress.
  • Jag: Få token

    • Efter att du har sparat ovanstående konfiguration får du klient-ID, klienthemlighet och token-slutpunkt.
    • 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 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 REST API-slutpunkten i WordPress.
  • Kolla in Felsvar för OAuth 2.0 med Client Credentials Grant.
  • Kolla in utvecklarens dokumentation för mer detaljer.


OAuth 2.0-metoden ger dig ytterligare säkerhetsfunktioner , vilket gör att du får mer kontroll över tokens och därigenom förbättrar den övergripande säkerheten för din WordPress-webbplats.


1. Uppdatera token -



REST API OAuth 2.0-autentisering för uppdateringstoken i WordPress

Aktivera alternativet Uppdatera token för att ta emot en uppdateringstoken tillsammans med åtkomsttoken eller JWT-token.

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

Uppdateringstokens tillåter utfärdande av kortlivade åtkomsttokens för bättre säkerhet.

När en åtkomsttoken går ut genererar uppdateringstoken på ett säkert sätt en ny.


2. Återkalla token -



REST API OAuth 2.0-autentisering för återkallad token i WordPress

Aktivera alternativet Återkalla token för att ogiltigförklara en befintlig åtkomsttoken eller JWT-token.

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

REST API: et validerar först appens autentiseringsuppgifter 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 implementering av metoden Postman i WordPress
  • Exempelvis
  • REST API OAuth 2.0 Autentiseringsmetod för metoden postman ersätt url faktisk resurs i WordPress
  • Exempel på begäranformat för att begära resurser med hjälp av den 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 Postman-implementering i WordPress
  • Exempelvis
  • REST API OAuth 2.0 Autentiseringsmetod för Postman ersätter URL faktisk resurs i WordPress

  • 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 Postman-implementering i WordPress
  • Exempelvis
  • REST API OAuth 2.0 Autentiseringsmetod för Postman ersätter URL faktisk resurs i WordPress

  • 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 Postman-implementering i WordPress
  • Exempelvis
  • REST API OAuth 2.0-autentiseringsmetod för Postman-URL:s faktiska resurs i WordPress


1. Rollbaserad REST API-begränsning:


Den här funktionen begränsar REST API-åtkomst för WordPress baserat på användarroller . Du kan tillåta specifika roller som har åtkomst till vissa REST API-resurser . När en REST API-begäran görs kontrolleras användarens roll 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.
  • REST API Basic Authentication method för Postman-implementering i WordPress
  • I skärmdumpen ovan är kryssrutan för prenumerantrollen aktiverad. Så närhelst en API-förfrågan görs av användaren med rollen som prenumerant kommer den användaren inte att ha åtkomst till den begärda resursen.

Obs! Funktionen rollbaserad begränsning är giltig för grundläggande autentisering (användarnamn: lösenord), JWT-metoden och OAuth 2.0 (lösenordsbeviljande).


2. Anpassad rubrik:


Med funktionen Anpassad rubrik kan du använda en anpassad rubrik istället för standardrubriken "Auktorisering".

Detta lägger till ett extra säkerhetslager eftersom REST API: et bara accepterar förfrågningar med ditt definierade anpassade headernamn . Om någon försöker skicka en begäran med standardheadern "Auktorisering" kommer åtkomst 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:


Funktionen Exkludera REST API: er låter dig tillåta åtkomst till specifika REST API-slutpunkter utan autentisering. Dessa exkluderade API:er blir offentligt tillgängliga, vilket gör dem tillgängliga utan att det krävs en token eller inloggning.


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: Anta att om du vill exkludera REST API ' ' /wp-json/wp/v2/posts' måste du ange '/wp/v2/posts' i textrutan.

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


Den här funktionen är tillgänglig i metoden Basic Authentication . Som standard krypteras tokens med 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


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

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


ADFS_sso ×
Hej där!

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

stödja