Sökresultat :

×

REST API JWT-autentiseringsmetod för WordPress

JWT-autentisering för 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 JWT-autentisering för WordPress 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 WordPress användaruppgifter och är starkt krypterad, vilket garanterar stark säkerhet utan att kompromissa med åtkomsten.



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äs mer   

Vad är JWT-autentisering för WordPress?

JWT-autentisering för REST API är ett enkelt sätt att hålla REST API-slutpunkter för WordPress säkra och skyddade. Istället för att skicka användarnamn och lösenord varje gång använder JWT-autentisering för WordPress 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 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 REST API:er för WordPress, erbjuder JWT Authentication för REST API: er en säker lösning. Med JWT Authentication för WordPress kan du definiera åtkomstnivåer så att användare med specifika funktioner kan skapa eller uppdatera innehåll, medan andra är begränsade till att bara visa data.

  • Använda JWT-tokenbaserad autentiseringREST API-slutpunkter skyddas av 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 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 JWT-autentisering idealisk för att synkronisera användare eller skapa konton över flera system.
  • JWT-uppdateringstokens för WordPress 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 JWT-autentisering för WordPress säker API-åtkomst samtidigt som det möjliggör sömlös och effektiv kommunikation mellan din applikation och WordPress.

  • Säkra REST API:er med JWT-autentisering för WordPress
  • REST API JWT-autentiseringsmetod för WordPress med hjälp av jwt

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

    2. För efterföljande förfrågningar inkluderar REST API-anropet för att hämta data eller utföra åtgärder JWT-token i Authorization-headern som en Bearer-token . Med JWT-autentisering för REST API validerar plugin-programmet 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 JWT-autentiseringsplugin-programmet för WordPress 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 REST API-slutpunkterna för WordPress?
  • Autentisering av REST API:er för Woocommerce/WordPress med hjälp av JWT (JSON Web Token).



  • I plugin, gå till Konfigurera metoder fliken i det vänstra avsnittet.
  • Klicka på JWT-autentisering som API-autentiseringsmetod.
  • REST API jwt-autentiseringsmetod för WordPress
  • 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.
  • REST API jwt-autentiseringsmetod för WordPress
  • 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.
  • REST API jwt-autentiseringsmetod för WordPress
  • 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 REST API kommer att aktiveras.
  • REST API JWT-autentiseringsmetod för WordPress med hjälp av 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 även för användarautentiserings- API eller inloggnings-API-slutpunkt för WordPress, så att om vi gör en begäran till denna slutpunkt med WordPress-användaruppgifter och om inloggningsuppgifterna är giltiga, kommer det lyckade svaret att returneras innehållande JWT-token, annars visas felsvaret i enlighet därmed.

  • Kolla in Felsvar för att få JWT-token.
  • När du väl har fått JWT-token kan du använda den för att begära åtkomst till REST API:erna för WordPress enligt 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 giltigt i 1 timme som standard och det kan också anpassas. När token har gått 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 miniOrange REST API-autentiseringsmetod för WordPress.


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

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

  • Klicka på Postman prover fliken i plugin-programmet.
  • REST API JWT-autentiseringsmetod för WordPress Postman-implementering
  • A JSON-fil kommer att laddas ner automatiskt.
  • REST API JWT-autentiseringsmetod för WordPress 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.
    • REST JWT-autentiseringsmetod för WordPress Postman ersätter bas-URL
    • Exempelvis
    • REST JWT-autentiseringsmetod för WordPress postman ersätter bas-URL exempel
    • OBS: Kopiera jwt-token som erhålls från svaret. Det kommer att användas i resurs-API-förfrågningar för att autentisera.
    • 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.
    • REST JWT-autentiseringsmetod för WordPress Postman ersätter bas-URL faktisk resurs
    • Exempelvis
    • REST API JWT-autentiseringsmetod för WordPress postman ersätter URL faktisk resurs

1. Rollbaserad REST API-begränsning:


Den här funktionen begränsar åtkomst till REST API 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 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.
  • REST API Basic Authentication method för WordPress Postman-implementering
  • 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! 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 ett extra säkerhetslager eftersom REST API bara accepterar förfrågningar med ditt definierade anpassade rubriknamn. Om någon försöker skicka en begäran med standardrubriken "Auktorisering" kommer åtkomst att nekas.


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

  • 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.
  • 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 en token eller inloggning krävs.


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.
  • 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. 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.
  • REST API Basic Authentication method för WordPress Postman-implementering

5. Signaturvalidering för JWT-baserade tokens:


Funktionen för signaturvalidering signerar säkert JWT-tokens för att skydda REST API-autentisering för WordPress. 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.

REST API Basic Authentication method för WordPress Postman-implementering

Hur konfigurerar man JWT-signaturvalidering med HS256 eller RS256?

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

6. Uppdatera token


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

7. Återkalla token


Att återkalla en token innebär att den ogiltigförklaras innan den löper ut. Denna funktion är avgörande för säkerheten , 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 behöver skickas upprepade gånger. I JWT-autentisering för 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 JWT-autentisering till ett säkert sätt att skydda REST API-slutpunkter för WordPress.

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 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 JWT-autentisering för WordPress kan du använda en uppdateringstoken (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 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 REST API.

Du kan testa JWT-autentisering för WordPress 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



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

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

Vi kontaktar dig tidigast!



Behöver hjälp?

Maila oss på apisupport@xecurify.com för snabb vägledning (via e-post/möte) om dina behov så hjälper vårt team dig att välja den bästa lösningen/planen utifrån dina behov.


ADFS_sso ×
Hej där!

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

stödja