Sökresultat :

×

JWT-autentisering för WP REST API

JWT-autentisering för WP REST API är ett enkelt sätt att hålla WordPress REST API-slutpunkter säkra och skyddade. Istället för att skicka användarnamn och lösenord varje gång använder WordPress JWT-autentisering en säker token för att kontrollera vem som gör begäran. Detta hjälper till att säkerställa att endast godkända användare eller appar kan komma åt skyddade REST API-slutpunkter. JWT-token genereras med hjälp av WordPress användaruppgifter och är starkt krypterad, vilket garanterar stark säkerhet utan att kompromissa med åtkomsten.



WordPress REST API-autentisering

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

Veta mer   

Vad är WordPress JWT-autentisering?

JWT-autentisering för WP REST API är ett enkelt sätt att hålla WordPress REST API-slutpunkter säkra och skyddade. Istället för att skicka användarnamn och lösenord varje gång använder WordPress JWT-autentisering en säker token för att kontrollera vem som gör begäran. Detta hjälper till att säkerställa att endast godkända användare eller appar kan komma åt skyddade REST API-slutpunkter. JWT-token genereras med hjälp av WordPress användaruppgifter och är starkt krypterad, vilket garanterar stark säkerhet utan att kompromissa med åtkomsten.

  • Logga in på din WordPress-webbplats som administratör.
  • Från WordPress-instrumentpanelen, gå till Plugins och klicka på Lägg till nytt.
  • Sök efter en REST API-autentisering för WP.
  • Klicka på Installera nu för att lägga till plugin-programmet på din webbplats.
  • Efter installationen klickar du på Aktivera för att börja använda plugin-programmet.


Om du utvecklar en mobil- eller webbapplikation och behöver kontrollerad åtkomst till WordPress REST API:er, JWT-autentisering för WP REST API:er erbjuder en säker lösning. Med WordPress JWT-autentisering kan du definiera åtkomstnivåer så att användare med specifika funktioner kan skapa eller uppdatera innehåll, medan andra bara kan se data.

  • Använda JWT-tokenbaserad autentiseringREST API-slutpunkter skyddas av WP JWT-åtkomsttokens som genereras från giltiga WordPress-användaruppgifter. Genom att inkludera JWT-token i Authorization-rubriken kan din applikation säkert komma åt skyddade resurser eller utföra rollbaserade åtgärder med hjälp av JWT-autentisering för WP REST API:er.
  • Dessa tokens är säkrade med krypteringsalgoritmer som HSA eller RSA och upphör automatiskt att gälla efter en definierad period, vilket stärker den övergripande säkerheten. Varje token innehåller WordPress-användarinformation som kan avkodas med en hemlig nyckel eller ett certifikat, vilket gör WordPress JWT-autentisering idealisk för att synkronisera användare eller skapa konton över flera system.
  • WP JWT-uppdateringstokens låter användare förnya sina sessioner säkert utan att behöva logga in igen. Sammantaget säkerställer JWT-tokenbaserad autentisering i kombination med WordPress JWT-autentisering säker API-åtkomst samtidigt som det möjliggör sömlös och effektiv kommunikation mellan din applikation och WordPress.

  • Säkra WordPress REST API:er med JWT-autentisering
  • WordPress REST API JWT Autentiseringsmetod med jwt

    1. WordPress REST API-förfrågan initieras med de nödvändiga inloggningsuppgifterna och parametrarna för att generera en JWT-token med WordPress JWT-autentisering. Den utfärdade token är säkrad genom JWT-tokenbaserad autentisering och krypterad med branschstandardalgoritmer som HS256 or RSA för att säkerställa ett starkt dataskydd.

    2. För efterföljande förfrågningar inkluderar WordPress REST API-anrop för att hämta data eller utföra åtgärder JWT-token i Auktoriseringshuvud som en Bearer-tokenMed JWT-autentisering för WP REST API validerar pluginet token innan begäran behandlas. Om token är giltig beviljas åtkomst till den begärda resursen; om inte returneras ett felsvar. I den här processen hanterar WordPress JWT-autentiseringsplugin både skapandet och verifieringen av tokens, vilket säkerställer att varje API-förfrågan förblir säker.



Relaterat användningsfall:

  • Hur gör man JWT-autentiserade förfrågningar till WordPress REST API-slutpunkter?
  • Autentisering av Woocommerce/WordPress REST API:er med JWT (JSON Web Token).



  • I plugin, gå till Konfigurera metoder fliken i det vänstra avsnittet.
  • Klicka på JWT-autentisering som API-autentiseringsmetod.
  • WordPress REST API jwt Autentiseringsmetod
  • Välj Typ av tokengenerering . Som standard är HS256 algoritm och slumpmässigt genererad unik hemlig nyckel används respektive och klicka Nästa i övre högra hörnet.
  • För att testa funktionen, fyll i Användarnamn och Lösenord fält för en befintlig användare.
  • WordPress REST API jwt Autentiseringsmetod
  • Klicka på Hämta token En JWT-token (jwt_token) visas som svar vars värde du kan kopiera till urklipp för att göra en GET-begäran.
  • Klistra in JWT-token som erhållits från steg 6.
  • Klicka Testkonfiguration och svaret kommer att visas på skärmen.
  • Klicka på Finish knapp.
  • WordPress REST API jwt Autentiseringsmetod
  • Gå till i plugin-programmet Konfigurera API-autentisering fliken och klicka på JWT-autentisering som API-autentiseringsmetod.
  • Välj Signeringsalgoritm och KlienthemlighetSom standard används HS256-algoritmen respektive slumpmässigt genererade hemliga nyckelr.
  • Slutligen klickar du på Spara konfiguration så JWT-autentisering för WordPress REST API-autentisering kommer att aktiveras.
  • WordPress REST API JWT Autentiseringsmetod med jwt
  • Här skulle du behöva göra två API-anrop:

  • För att få JWT-token måste du göra en REST API Call to Token-slutpunkt enligt nedan:
  • Request:POST https://<domain-name>/wp-json/api/v1/token
      Body:username = <wordpress username>
      password = <wordpress password>
    
      Sample curl Request Format-
      curl -d "username=<wordpress_username>&password=<wordpress_password>"
      -X POST http://<wp_base_url>/wp-json/api/v1/token
      

    Dessa API-slutpunkter kallas också som användarautentisering API eller WordPress inloggnings-API-slutpunkt så att om vi gör en begäran till denna slutpunkt med WordPress-användarens inloggningsuppgifter och om inloggningsuppgifterna är giltiga, kommer det lyckade svaret att returnera innehållande en JWT-token, annars kommer felsvaret att visas i enlighet därmed.

  • Kolla in Felsvar för att få JWT-token.
  • När du har fått JWT-token kan du använda den för att begära åtkomst till WordPress REST API:er som visas nedan:
  • Request: GET  https://<domain-name>/wp-json/wp/v2/posts
      Header: Authorization : Bearer <JWT token>
    
      Sample curl Request Format-
      curl -H "Authorization:Bearer <jwt_token >"
      -X GET http://<wp_base_url>/wp-json/wp/v2/posts
      
  • OBS: Ovanstående token är giltig i 1 timme som standard och kan även anpassas. När token har löpt ut kan den genereras igen.
  • Kolla in utvecklarens dokumentation för mer detaljer.
  • Kolla in Felsvar för att göra API med JWT-token.

Grattis! Du har konfigurerat JWT-autentiseringsmetoden för REST API-anrop med hjälp av miniOrange WordPress REST API-autentiseringsmetod.


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

    Följ stegen nedan för att göra REST API-begäran med Postman:

  • Klicka på Postman prover fliken i plugin-programmet.
  • WordPress REST API JWT Autentiseringsmetod implementering av postman
  • A JSON-fil kommer att laddas ner automatiskt.
  • WordPress REST API JWT Autentiseringsmetod postman JSON-fil
  • Importera det nedladdade JSON-fil i Postman Application enligt nedan.
    • När du har importerat json-filen klickar du på REST API-begäran under Kollektioner som visas i den sista bilden. Byt ut med din Wordpress-domän i http://<wp_base_url>/wp-json/wp/v2/posts och byt ut med WordPress användarnamn och med WordPress-lösenord i brödtextparametrarna.
    • WordPress REST JWT Autentiseringsmetod postman ersätter bas-url
    • Exempelvis
    • WordPress REST JWT Autentiseringsmetod postman replace base url exempel
    • OBS: Kopiera jwt-token som hämtades från svaret. Den kommer att användas i resurs-API-förfrågningarna för autentisering.
    • När du har importerat json-filen klickar du på REST API-begäran under Kollektioner som visas i den sista bilden. Byt ut med din Wordpress-domän i http://<wp_base_url>/wp-json/wp/v2/posts och byt ut med jwt-tokenet kopierat från svaret som erhölls efter tokenbegäran.
    • WordPress REST JWT Autentiseringsmetod brevbärare ersätter bas-url faktiska resurs
    • Exempelvis
    • WordPress REST API JWT Autentiseringsmetod postman ersätt url faktiska resurs

1. Rollbaserad REST API-begränsning:


Den här funktionen begränsar åtkomst till WordPress REST API 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 är kontrollerad, och åtkomst beviljas endast om rollen finns på tillåtelselistan.


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

  • Gå till fliken Avancerade inställningar för pluginet.
  • I avsnittet Rollbaserad begränsning 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 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:


Funktionen Anpassad rubrik låter dig använda en anpassad rubrik istället för standardrubriken "Auktorisering". Detta lägger till en extra lager av säkerhet eftersom REST API:et bara accepterar förfrågningar med ditt definierade anpassade headernamn. Om någon försöker skicka en förfrågan med standardheadern "Auktorisering" kommer åtkomst att nekas.


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

  • Gå till fliken Avancerade inställningar för pluginet.
  • I avsnittet Anpassad rubrik anger du ditt önskade rubriknamn i textrutan.
  • Spara ändringarna för att tillämpa den nya anpassade rubriken för API-förfrågningar.
  • WordPress REST API grundläggande autentiseringsmetod implementering av postman

3. Uteslut REST API:er:


Funktionen Exkludera REST API:er låter dig tillåta specifika REST API-slutpunkter att nås utan autentiseringDessa undantagna API:er blir allmänt tillgängligt, vilket gör dem tillgängliga utan att kräva en token eller inloggning.


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

  • Gå till fliken Avancerade inställningar för pluginet.
  • I avsnittet Exkludera REST API:er anger du dina API-slutpunkter i önskat format.
  • De angivna API:erna kommer att exkluderas från autentisering och vara tillgängliga för allmänheten.
  • WordPress REST API grundläggande autentiseringsmetod implementering av postman
  • Exempel: Anta att om du vill exkludera REST API ' ' /wp-json/wp/v2/posts' måste du ange '/wp/v2/posts' i textrutan.

4. Anpassad tokens utgång:


Funktionen för anpassad tokenutgång fungerar med JWT och OAuth 2.0 autentiseringsmetoder, vilket gör att du kan ställa in anpassade utgångstider för tokens som används för att komma åt WordPress REST API-slutpunkter. När den konfigurerade tiden har uppnåtts blir token automatiskt ogiltig, vilket förbättrar säkerheten och ger dig kontroll över åtkomsttiden.

Hur ställer man in anpassat tokenutgångsdatum i JWT-autentisering?

  • Gå till fliken Avancerade inställningar för pluginet.
  • Öppna avsnittet Konfiguration av tokenutgång.
  • Justera utgångstiden för åtkomsttoken (standard: 60 minuter).
  • (För OAuth 2.0) Justera utgångstiden för uppdateringstoken (standard: 14 dagar).
  • Spara ändringarna för att tillämpa dina anpassade inställningar för tokenutgång.
  • WordPress REST API grundläggande autentiseringsmetod implementering av postman

5. Signaturvalidering för JWT-baserade tokens:


Funktionen för signaturvalidering signerar säkert JWT-tokens för att skydda WordPress REST API-autentisering. Varje tokensignatur kan endast valideras med hjälp av klienthemlighet eller certifikat, vilket säkerställer att signaturen förblir privat och säker och kan inte nås eller ändras av obehöriga användare.

WordPress REST API grundläggande autentiseringsmetod implementering av postman

Hur konfigurerar man JWT-signaturvalidering med HS256 eller RS256?

Plugin-programmet stöder två signeringsalgoritmer för JWT-tokens: HS256 och RS256Du kan välja endera algoritmen från rullgardinsmenyn. För att slutföra signaturvalideringen, lägg till din klienthemlighet eller certifikat, som används för att säkert signera JWT-signaturen och säkerställa tokenäkthet.

6. Uppdatera token


Uppdatera token är en långlivad token som används för att få en ny åtkomsttoken utan att användaren behöver logga in igen. Denna funktion är avgörande för att upprätthålla en användarens session när åtkomsttokenet går ut. Åtkomsttoken har vanligtvis en kort livslängd (typ 15 minuter till 1 timme) av säkerhetsskäl, men uppdateringstokens är utformade för att hålla längre (dagar, veckor eller till och med månader).

7. Återkalla token


Återkalla en token innebär att ogiltigförklara den innan den har löpt ut. Denna funktion är avgörande för säkerhet, särskilt i fall som:

  • En användare loggar ut från sin session.
  • En användare ändrar sitt lösenord.
  • En token har komprometterats (stulen eller läckt).
  • Administratörer vill tvinga fram en utloggning eller ogiltigförklara tokens för vissa användare (t.ex. efter ett säkerhetsintrång).


JWT säkerställer säkerhet genom att använda JWT-tokenbaserad autentisering för att verifiera varje begäran utan att användarnamn och lösenord upprepade gånger skickas. I JWT-autentisering för WP REST API signeras token digitalt (HS256) eller signeras med en privat nyckel (RSA), så den kan inte ändras utan att upptäckas. Tokens upphör också att gälla efter en viss tid, vilket begränsar risken om en token någonsin exponeras. Detta gör WordPress JWT-autentisering till ett säkert sätt att skydda WordPress REST API-slutpunkter.

Du måste lägga till token i förfrågningshuvudena med hjälp av Authorization-huvudet som en Bearer-token. Detta är standardmetoden i JWT-autentisering för WP REST API:er och är central för jwt-tokenbaserad autentisering. till exempel:
Authorization: Bearer YOUR_JWT_TOKEN

När åtkomsttoken går ut returnerar API:et ett auktoriseringsfel (vanligtvis 401). Med WordPress JWT-autentisering kan du använda en uppdateringstoken (WP JWT-uppdateringstoken) för att begära en ny åtkomsttoken utan att logga in igen. Detta flöde är en viktig fördel med JWT-tokenbaserad autentisering, vilket håller sessioner säkra och användarvänliga i JWT-autentisering för WP REST API:er.

Ja. Plugin-programmet stöder både tokensignering med HS256 och RSA, beroende på konfiguration. HS256 använder en delad hemlighet, medan RSA använder ett offentligt/privat nyckelpar. Denna flexibilitet stärker JWT-tokenbaserad autentisering och passar olika säkerhetskrav för JWT-autentisering för WP REST API.

Du kan testa WordPress JWT-autentisering i ett enkelt tvåstegsflöde:

  • Generera en token: Använd plugin-programmets token-slutpunkt med giltiga WordPress-inloggningsuppgifter och bekräfta att du får en JWT. curl -d" användarnamn=&lösenord="-X POST http:///wp-json/api/v1/token
  • Anropa en skyddad REST API-slutpunkt: Skicka en begäran till en skyddad slutpunkt med:-
    Authorization: Bearer YOUR_JWT_TOKEN




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