Suchergebnisse :

×

WordPress REST API JWT-Authentifizierungsmethode


Diese Methode der Authentifizierung von WordPress-REST-API-Endpunkten beinhaltet den Zugriff auf die REST-APIs bei der Validierung basierend auf dem JWT (JSON-Web-Token). Jedes Mal, wenn eine Anfrage zum Zugriff auf den WordPress-REST-API-Endpunkt gestellt wird, erfolgt die Authentifizierung anhand dieses JWT-Tokens. und auf der Grundlage der Überprüfung dieses JWT-Tokens wird den Ressourcen für diese API-Anfrage der Zugriff gestattet. Das JWT-Token wird basierend auf den Anmeldeinformationen des WordPress-Benutzers generiert und ist hochgradig verschlüsselt, sodass die Sicherheit nicht beeinträchtigt wird.




WordPress Rest API-Authentifizierung
Von miniOrange

Das WordPress-REST-API-Authentifizierungs-Plugin bietet Sicherheit vor unbefugtem Zugriff auf Ihre WordPress-REST-APIs.

Weitere Informationen

Download und Installation

  • Melden Sie sich als Administrator bei Ihrer WordPress-Instanz an.
  • Gehen Sie zu WordPress Dashboard -> Plugins und klicken Sie auf Neu hinzufügen.
  • Suchen Sie nach einem WordPress REST API-Authentifizierung Plugin und klicken Sie auf Jetzt installieren.
  • Klicken Sie nach der Installation auf Mehr erfahren.

idp_sso_image1 Anwendungsfall: Sichern/Schützen oder Authentifizierung von WordPress-REST-API-Endpunkten mithilfe des JWT (JSON Web Token).

  • Angenommen, Sie haben eine Mobil-/Webanwendung und möchten den Zugriff auf die WordPress-REST-API-Endpunkte basierend auf den Benutzerfunktionen zulassen, sodass nur Benutzer mit dieser bestimmten Fähigkeit Erstellungs-/Aktualisierungsvorgänge ausführen dürfen, während Benutzer mit anderen Rollen diese nur anzeigen können. In solchen Fällen können Sie dann die REST-API-Endpunkte mithilfe der JWT (JSON Web Tokens) authentifizieren, die gemäß den Benutzeranmeldeinformationen erhalten wurden, und die WordPress-JWT-Authentifizierung ermöglicht Ihnen eine sehr sichere Durchführung. Wenn Sie also die REST-API-Anfrage mit diesem im Authorization-Header übergebenen JWT stellen, wird der Zugriff auf die Ressource/Daten ermöglicht oder die Fähigkeit/Autorisierung bereitgestellt, WordPress-Vorgänge auszuführen, die bestimmte Benutzerfähigkeiten erfordern. Die JWT-Authentifizierung für WordPress REST API bietet die Verschlüsselung des Tokens mit zwei Methoden – HSA oder RSA – und ist für eine begrenzte Zeit gültig. Daher ist Sicherheit kein Problem.


    Das für die JWT-Authentifizierung generierte JWT-Token besteht aus WordPress-Benutzerinformationen und kann daher mithilfe des gültigen geheimen Schlüssels/öffentlichen Zertifikats in einer anderen Anwendung dekodiert werden, um dort einen Benutzer zu erstellen oder aktualisierte Benutzerinformationen zu synchronisieren. Das JWT-Token ist ebenfalls ein zeitbasiertes Token, das heißt, es läuft nach einem bestimmten Zeitraum ab, der gemäß den Anforderungen festgelegt werden kann. Nach seinem Ablauf ist den APIs kein Zugriff mehr gestattet und die Benutzerinformationen können nicht dekodiert werden, was zu Problemen führt JWT-Authentifizierung für WordPress REST API ist eine sichere Authentifizierungsmethode.


  • Der Ablauf für die WordPress-REST-API-Authentifizierung, der mithilfe der JWT-Methode erreicht werden kann, wird im Folgenden erläutert:
  • WordPress REST API JWT-Authentifizierungsmethode mit JWT

      1. Die WordPress-REST-API-Anfrage wird mit allen erforderlichen Parametern gestellt, um das JWT-Token zu erhalten. Das erhaltene JWT-Token wird in verschlüsseltem Format mit dem HSA- oder RSA-Algorithmus bereitgestellt, sodass höchste Sicherheit gewährleistet ist.

      2. Dann erfolgt die eigentliche WordPress-REST-API-Anfrage zum Zugriff auf die Ressource/Daten oder zum Ausführen von Vorgängen mit der WordPress-Datenbank, wobei das im letzten Schritt erhaltene JWT-Token im Authorization-Header mit den Token-Typen als Bearer übergeben wird und unser Plugin dies tut Validieren Sie dieses JWT-Token. Wenn die Validierung oder Authentifizierung erfolgreich ist, wird dem API-Anforderer die Ressource bereitgestellt, andernfalls wird eine Fehlerantwort zurückgegeben. Unser Plugin fungiert also sowohl als JWT-Token-Anbieter als auch als JWT-Token-Validator.


Verwandter Anwendungsfall:

  • Wie stellt man JWT-authentifizierte Anfragen an die WordPress-REST-API-Endpunkte?
  • Authentifizierung von Woocommerce/WordPress-REST-APIs mithilfe von JWT (JSON Web Token).

idp_sso_image1 Lesen Sie Anwendungsfälle für die folgenden Rest-API-Authentifizierungsmethoden:


Richten Sie die REST-API-JWT-Authentifizierungsmethode ein


  • Gehen Sie im Plugin zu Methoden konfigurieren Registerkarte im linken Bereich.
  • Klicken Sie auf JWT-Authentifizierung als API-Authentifizierungsmethode.
  • WordPress REST API JWT-Authentifizierungsmethode
  • Wähle aus Typ der Token-Generierung . Standardmäßig ist der HS256 Algorithmus und zufällig generierter einzigartiger geheimer Schlüssel werden jeweils verwendet und klicken Weiter in der oberen rechten Ecke.
  • Um die Funktionalität zu testen, füllen Sie das aus Benutzername und Passwort Felder für einen vorhandenen Benutzer.
  • WordPress REST API JWT-Authentifizierungsmethode
  • Klicken Sie auf Token abrufen . Als Antwort wird ein JWT-Token (jwt_token) angezeigt, dessen Wert Sie in die Zwischenablage kopieren können, um eine GET-Anfrage zu stellen.
  • Fügen Sie das aus Schritt 6 erhaltene JWT-Token ein.
  • Klicken Sie auf Kostenlos erhalten und dann auf Installieren. Testkonfiguration und die Antwort wird auf dem Bildschirm angezeigt.
  • Klicken Sie auf die Endziel .
  • WordPress REST API JWT-Authentifizierungsmethode

  • Hier müssten Sie zwei API-Aufrufe durchführen:

I: Holen Sie sich den JWT-Token

  • Um das JWT-Token zu erhalten, müssen Sie wie folgt einen REST-API-Aufruf an den Token-Endpunkt durchführen:
  • 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
    

    Dieser API-Endpunkt wird auch als bezeichnet Benutzerauthentifizierung API oder Endpunkt der WordPress-Anmelde-API Wenn wir also mit den WordPress-Benutzeranmeldeinformationen eine Anfrage an diesen Endpunkt stellen und die Anmeldeinformationen gültig sind, wird die erfolgreiche Antwort mit dem JWT-Token zurückgegeben, andernfalls wird die Fehlerantwort entsprechend angezeigt.

  • Probieren Sie auch die Fehlerantwort für den Erhalt des JWT-Tokens.

II: API-Anfrage senden

  • Sobald Sie das JWT-Token erhalten haben, können Sie damit wie unten gezeigt Zugriff auf die WordPress-REST-APIs anfordern:
  • 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
    
  • Anmerkungen: Das obige Token ist standardmäßig 1 Stunde lang gültig und kann auch angepasst werden. Sobald das Token abgelaufen ist, kann es erneut generiert werden.
  • Probieren Sie auch die Entwicklerdokumentation für weitere Informationen an.
  • Probieren Sie auch die Fehlerantwort zum Erstellen einer API mit JWT-Token.

  • Glückwunsch! Sie haben die JWT-Authentifizierungsmethode für REST-API-Aufrufe mit der miniOrange WordPress REST-API-Authentifizierungsmethode erfolgreich konfiguriert.

    miniorange img Codebeispiele in Programmiersprachen



     
      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 Postboten-Beispiele:

      Führen Sie die folgenden Schritte aus, um eine REST-API-Anfrage mit Postman zu stellen:

    • Klicken Sie auf Postman-Proben Registerkarte im Plugin.
    • WordPress REST API JWT-Authentifizierungsmethode Postman-Implementierung
    • A JSON-Datei wird automatisch heruntergeladen.
    • WordPress REST API JWT Authentifizierungsmethode Postman JSON-Datei
    • Importieren Sie das heruntergeladene JSON-Datei in die Postman-Anwendung ein, wie unten gezeigt.
    • REST-API-Anfrage zum Abrufen des JWT-Tokens
      • Sobald Sie die JSON-Datei importiert haben, klicken Sie auf die REST-API-Anfrage unter Kollektionen wie in der letzten Abbildung gezeigt. Ersetze das mit Ihrer Wordpress-Domain im http://<wp_base_url>/wp-json/wp/v2/posts und ersetzen Sie die mit WordPress-Benutzername und mit WordPress-Passwort in den Body-Parametern.
      • WordPress REST JWT-Authentifizierungsmethode Postman ersetzt Basis-URL
      • Beispiel
      • Beispiel für die WordPress-REST-JWT-Authentifizierungsmethode Postman zum Ersetzen der Basis-URL
      • Anmerkungen: Kopieren Sie das aus der Antwort erhaltene JWT-Token. Es wird in den Ressourcen-API-Anfragen zur Authentifizierung verwendet.
    • REST-API-Anfrage zum Abrufen der tatsächlichen Ressource
      • Sobald Sie die JSON-Datei importiert haben, klicken Sie auf die REST-API-Anfrage unter Kollektionen wie in der letzten Abbildung gezeigt. Ersetze das mit Ihrer Wordpress-Domain im http://<wp_base_url>/wp-json/wp/v2/posts und ersetzen Sie die wobei das JWT-Token aus der nach der Token-Anfrage erhaltenen Antwort kopiert wird.
      • WordPress REST JWT-Authentifizierungsmethode Postman ersetzt die tatsächliche Basis-URL der Ressource
      • Beispiel
      • WordPress REST API JWT Authentifizierungsmethode Postman ersetzt URL tatsächliche Ressource

    idp_sso_image1 Funktionsbeschreibung

      1. Einschränkung der rollenbasierten REST-API:

      Mit dieser Funktion können Sie den REST-API-Zugriff basierend auf den Benutzerrollen einschränken. Sie können die Rollen, für die Sie den Zugriff auf die angeforderte Ressource für die REST-APIs gewähren möchten, auf die Whitelist setzen. Wenn also ein Benutzer eine REST-API-Anfrage stellt, wird seine Rolle abgerufen und darf nur dann auf die Ressource zugreifen, wenn seine Rolle auf der Whitelist steht.


      Wie konfiguriere ich es?

      • Gehen Sie zunächst zur Registerkarte „Erweiterte Einstellungen“ des Plugins.
      • Anschließend wird im Abschnitt „Rollenbasierte Einschränkung“ allen Rollen standardmäßig der Zugriff auf die APIs gestattet. Sie können die Kontrollkästchen der Rollen aktivieren, für die Sie den Zugriff einschränken möchten.
      • Postman-Implementierung der WordPress-REST-API-Basisauthentifizierungsmethode
      • Im obigen Screenshot ist das Kontrollkästchen für die Abonnentenrolle aktiviert. Wenn also ein Benutzer mit seiner Rolle als Abonnent eine API-Anfrage stellt, darf dieser Benutzer nicht auf die angeforderte Ressource zugreifen.

      Hinweis: Die rollenbasierte Einschränkungsfunktion gilt für die Standardauthentifizierung (Benutzername: Passwort), die JWT-Methode und OAuth 2.0 (Passwortgewährung).

      2. Benutzerdefinierter Header

      Diese Funktion bietet die Möglichkeit, einen benutzerdefinierten Header anstelle des standardmäßigen „Autorisierungs“-Headers auszuwählen.

      Dies erhöht die Sicherheit, da der Header mit Ihrem „benutzerdefinierten Namen“ benannt wird. Wenn also jemand die REST-API-Anfrage mit dem Header „Autorisierung“ stellt, kann er nicht auf die APIs zugreifen.


      Wie konfiguriere ich es?

      • Gehen Sie zunächst zur Registerkarte „Erweiterte Einstellungen“ des Plugins.
      • Anschließend können Sie im Abschnitt „Benutzerdefinierter Header“ das Textfeld bearbeiten, um den gewünschten benutzerdefinierten Namen einzugeben.
      • Postman-Implementierung der WordPress-REST-API-Basisauthentifizierungsmethode

      3. Schließen Sie REST-APIs aus

      Mit dieser Funktion können Sie Ihre REST-APIs auf die Whitelist setzen, sodass auf diese ohne Authentifizierung direkt zugegriffen werden kann. Daher sind alle diese auf der Whitelist aufgeführten REST-APIs öffentlich verfügbar.


      Wie konfiguriere ich es?

      • Gehen Sie zunächst zur Registerkarte „Erweiterte Einstellungen“ des Plugins.
      • Anschließend können Sie unter „REST-APIs ausschließen“ Ihre APIs im vorgeschriebenen Format eingeben, das für den öffentlichen Zugriff auf die Whitelist gesetzt werden muss.
      • Postman-Implementierung der WordPress-REST-API-Basisauthentifizierungsmethode
      • Beispiel: Angenommen, Sie möchten die REST-API ausschließen. /wp-json/wp/v2/posts‘, dann müssen Sie ‚/wp/v2/posts‘ in das Textfeld eingeben.

      4. Ablauf des benutzerdefinierten Tokens

      Diese Funktion gilt für JWT- und OAuth 2.0-Methoden, die zeitbasierte Token zur Authentifizierung der WordPress-REST-API-Endpunkte verwenden. Mit dieser Funktion können Sie das benutzerdefinierte Ablaufdatum für die Token festlegen, sodass das Token nicht mehr gültig ist, sobald das Token abläuft.


      Wie konfiguriere ich es?

      • Gehen Sie zunächst zur Registerkarte „Erweiterte Einstellungen“ des Plugins.
      • Anschließend können im Abschnitt „Token-Ablaufkonfiguration“ die Gültigkeit des Zugriffstokens und das Aktualisierungstoken (verwendet für die OAuth 2.0-Methode) geändert werden. Standardmäßig ist die Ablaufzeit des Zugriffstokens auf 60 Minuten und die Ablaufzeit des Aktualisierungstokens auf 14 Tage eingestellt. Daher kann mit dieser Funktion der Ablauf entsprechend den Anforderungen angepasst werden.
      • Postman-Implementierung der WordPress-REST-API-Basisauthentifizierungsmethode

      Daher wird mit dieser benutzerdefinierten Token-Ablauffunktion die Sicherheit weiter erhöht.

      5. Signaturvalidierung für JWT-basierte Token

      Diese Funktion ermöglicht eine sichere Signierung der JWT-Signatur für das JWT-Token, sodass Ihr JWT-Token viel sicherer ist und die Signatur nur mithilfe des Client-Geheimnisses/-Zertifikats entschlüsselt werden kann. Das bedeutet, dass Ihre Signatur privat ist und für andere nicht sichtbar ist.

      Postman-Implementierung der WordPress-REST-API-Basisauthentifizierungsmethode

      Wir bieten Unterstützung für zwei Signaturalgorithmen: HS2 und RS256. Daher kann jeder der Signaturalgorithmen aus der Dropdown-Liste ausgewählt werden, wie im obigen Bild gezeigt.

      Außerdem müssen Sie Ihr Client-Geheimnis oder Zertifikat hinzufügen, das zum Signieren der Signatur des JWT verwendet wird.

      Hilfe benötigt?

      Mailen Sie uns weiter apisupport@xecurify.com Für eine schnelle Beratung (per E-Mail/Besprechung) zu Ihren Anforderungen hilft Ihnen unser Team bei der Auswahl der für Ihre Anforderungen am besten geeigneten Lösung/Plan.

    Hallo!

    Brauchen Sie Hilfe? Wir sind hier!

    Support
    Kontaktieren Sie den miniOrange-Support
    Erfolg

    Vielen Dank für Ihre Anfrage.

    Wenn Sie innerhalb von 24 Stunden nichts von uns hören, können Sie gerne eine Folge-E-Mail an senden info@xecurify.com