Sökresultat :

×

WordPress REST API JWT-autentiseringsmetod


Denna metod för WordPress REST API-ändpunkters-autentisering involverar åtkomst till REST-API:erna vid validering baserat på JWT(JSON Web Token), varje gång en begäran om åtkomst till WordPress REST API-slutpunkten görs, kommer autentiseringen att göras mot den JWT-token, och på basis av verifieringen av det JWT-tokenet kommer resurserna för den API-begäran att tillåtas åtkomst. JWT-tokenen genereras baserat på WordPress-användaruppgifter och är mycket krypterad, varför säkerheten inte äventyras.




WordPress Rest API-autentisering
Av miniOrange

WordPress REST API Authentication plugin ger säkerheten från obehörig åtkomst till dina WordPress REST API:er.

Lär dig mer

Ladda ner och installation

  • 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 WordPress REST API-autentisering plugin och klicka på installera nu.
  • När du har installerat klicka på Aktivera.

idp_sso_image1 Användningsfall: Säkra/Skydda eller autentisering av WordPress REST API-slutpunkter med JWT (JSON Web Token).

  • Anta att du har en mobil-/webbapplikation och vill tillåta åtkomst till WordPress REST API-slutpunkter baserat på användarkapaciteten så att endast användare med den specifika kapaciteten ska utföra skapa/uppdateringsoperationer medan användare med andra roller bara kan se det. Sedan kan du i sådana fall autentisera REST API-slutpunkterna med JWT(JSON Web Tokens) som erhålls i enlighet med användaruppgifterna och WordPress JWT-autentisering låter dig göra det mycket säkert. Så att göra REST API-begäran med denna JWT skickad i auktoriseringshuvudet ger tillgång till resursen/datan eller ger möjligheten/auktoriseringen att utföra WordPress-operationer som kräver speciell användarkapacitet. JWT Authentication for WordPress REST API tillhandahåller kryptering av token med två metoder - HSA eller RSA och är giltig under en begränsad tid. Därför är säkerhet inte ett problem.


    JWT-tokenen som genereras för JWT-autentiseringen består av WordPress-användarinformation och därför kan denna token avkodas med den giltiga hemliga nyckeln/offentliga certifikatet på en annan applikation för att skapa en användare där eller synkronisera uppdaterad användarinformation. JWT-tokenen är också en tidsbaserad token, vilket innebär att den löper ut efter en viss tidsperiod som kan ställas in enligt kraven och följaktligen efter dess utgång kommer API:erna inte att få åtkomst och inte heller användarinformationen kan avkodas vilket gör JWT Authentication for WordPress REST API en säker autentiseringsmetod.


  • Flödet för WordPress REST API-autentisering kan uppnås med JWT-metoden förklaras nedan:
  • WordPress REST API JWT Autentiseringsmetod med jwt

      1. WordPress REST API-begäran görs med alla nödvändiga parametrar för att få JWT-token. Det erhållna JWT-tokenet tillhandahålls i krypterat format med hjälp av HSA- eller RSA-algoritmen, så det kommer att finnas högsta säkerhet.

      2. Sedan görs den faktiska WordPress REST API-begäran för att få tillgång till resursen/data eller för att utföra operationer med WordPress-databasen med JWT-token som erhölls i det sista steget skickas i Auktoriseringshuvudet med tokentyperna som Bearer och vår plugin kommer validera den JWT-token och om valideringen eller autentiseringen lyckas kommer API-begäraren att förses med resursen, annars kommer ett felsvar att returneras. Så vår plugin kommer att fungera både som JWT-tokenleverantör och JWT-tokenvalidator.


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

idp_sso_image1 Läs Användningsfall för följande Rest API-autentiseringsmetoder:


Ställ in REST API JWT-autentiseringsmetod


  • 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 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) kommer att visas som svar vars värde du kan kopiera till klippbordet för att göra en GET-förfrågan.
  • 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

  • Här skulle du behöva göra två API-anrop:

Jag: Skaffa JWT-token

  • 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ändaruppgifterna och om inloggningsuppgifterna är giltiga, kommer det framgångsrika svaret att returnera innehållande JWT-token, annars kommer felsvaret att visas i enlighet med detta.

  • Kolla in Felsvar för att få JWT-token.

II : Skicka API-förfrågan

  • 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 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 framgångsrikt konfigurerat JWT-autentiseringsmetoden för REST API-anrop med miniOrange WordPress REST API-autentiseringsmetod.

    miniorange img Kodprover i programmeringsspråk



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

    idp_sso_image1 Postman prover:

      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.
    • REST API-begäran för att få JWT-token
      • När du har importerat json-filen klickar du på REST API-begäran under Kollektioner som visas i den sista bilden. Ersätt 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 kroppsparametrarna.
      • WordPress REST JWT Autentiseringsmetod postman ersätter bas-url
      • Exempelvis
      • WordPress REST JWT Autentiseringsmetod postman replace base 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.
    • REST API-förfrågan för att få den faktiska resursen
      • När du har importerat json-filen klickar du på REST API-begäran under Kollektioner som visas i den sista bilden. Ersätt 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

    idp_sso_image1 Funktionsbeskrivning

      1. Rollbaserad REST API-begränsning:

      Denna funktion tillåter begränsning av REST API-åtkomst baserat på användarrollerna. Du kan vitlista rollerna för vilka du vill tillåta åtkomst till den begärda resursen för REST-API:erna. Så närhelst en REST API-begäran görs av en användare, kommer hans roll att hämtas och får endast komma åt resursen om hans roll är vitlistad.


      Hur konfigurerar man det?

      • Gå först till plugin-fliken "Avancerade inställningar".
      • Sedan, i avsnittet Rollbaserad begränsning, kommer alla roller som standard att tillåtas åtkomst till API:erna. Du kan aktivera kryssrutan för de roller som du vill begränsa åtkomst för.
      • 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.

      Notera: 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

      Den här funktionen ger ett alternativ att välja en anpassad rubrik istället för standardhuvudet "Auktorisering".

      Det kommer att öka säkerheten eftersom du har rubriken namngiven med ditt "anpassade namn", så om någon gör REST API-begäran med en rubrik som "Authorization" kommer han inte att kunna komma åt API:erna.


      Hur konfigurerar man det?

      • Gå först till plugin-fliken "Avancerade inställningar".
      • Sedan i avsnittet "Anpassad rubrik" kan du redigera textrutan för att ange det anpassade namn du vill ha.
      • WordPress REST API grundläggande autentiseringsmetod implementering av postman

      3. Uteslut REST API:er

      Den här funktionen låter dig vitlista dina REST-API:er så att dessa kan nås direkt utan autentisering. Därför är alla dessa vitlistade REST API:er offentligt tillgängliga.


      Hur konfigurerar man det?

      • Gå först till plugin-fliken "Avancerade inställningar".
      • Sedan i "Exclude REST APIs" kan du ange dina API:er i det föreskrivna formatet som måste vitlistas för allmänhetens tillgång.
      • WordPress REST API grundläggande autentiseringsmetod implementering av postman
      • 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

      Den här funktionen är tillämplig för JWT- och OAuth 2.0-metoder som använder tidsbaserade tokens för att autentisera WordPress REST API-slutpunkter. Den här funktionen låter dig ställa in den anpassade utgången för tokens så att token inte längre kommer att vara giltig när token upphör.


      Hur konfigurerar man det?

      • Gå först till plugin-fliken "Avancerade inställningar".
      • Sedan i avsnittet "Token Expiry Configuration" kan åtkomsttokens giltighet och uppdateringstoken (används för OAuth 2.0-metoden) ändras. Som standard är utgångstiden för åtkomsttoken inställd på 60 minuter och utgångstiden för uppdateringstoken är inställd på 14 dagar. Med denna funktion kan utgången därför justeras i enlighet med kraven.
      • WordPress REST API grundläggande autentiseringsmetod implementering av postman

      Därför, med denna anpassade tokens utgångsfunktion, ökar säkerheten ytterligare.

      5. Signaturvalidering för JWT-baserade tokens

      Denna funktion tillåter en säker signering av JWT-signaturen för JWT-token så att din JWT-token är mycket säkrare och signaturen endast kan avkodas med klienthemligheten/certifikatet. Det betyder att din signatur är privat och inte kan ses av andra.

      WordPress REST API grundläggande autentiseringsmetod implementering av postman

      Vi tillhandahåller stöd för 2 signeringsalgoritmer: HS256 och RS256. Så, vilken som helst av signeringsalgoritmerna kan väljas från rullgardinsmenyn som visas i bilden ovan.

      Du måste också lägga till din klienthemlighet eller certifikat som används för att signera signaturen för JWT.

      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.

    Hej där!

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

    stödja
    Kontakta miniOrange Support
    framgång

    Tack för din förfrågan.

    Om du inte hör från oss inom 24 timmar, skicka gärna ett uppföljningsmail till info@xecurify.com