Suchergebnisse :

×

WordPress-REST-API-Schlüsselauthentifizierungsmethode | Sichere REST-API


Die Authentifizierung des WordPress-REST-API-Schlüssels umfasst Überprüfung des API-Schlüssels (Bearer-Token) um Zugriff auf die WP REST APIs zu erhalten. Jedes Mal, wenn eine Anfrage zum Zugriff auf WP-REST-API-Endpunkte initiiert wird, ist eine Authentifizierung mithilfe des Schlüssels (Bearer-Token) erforderlich. Der Zugriff auf Ressourcen für den angeforderten WordPress-REST-API-Endpunkt wird basierend auf der Validierung des API-Schlüssels (Bearer-Token) gewährt.

Der API-Schlüssel ist ein Authentifizierungsprotokoll, das dafür entwickelt wurde Erlauben Sie Entwicklern, Authentifizierungsschlüssel zu generieren Dies könnte für Ressourcen wie serverseitige Prozesse, Mobiltelefonanwendungen und Desktop-Computer verwendet werden.

Die Authentifizierungsmethode mit dem WordPress-API-Schlüssel ist ein wichtiges Mittel, um die Sicherheit Ihrer WordPress-REST-API zu gewährleisten. Wenn der API-Schlüssel kompromittiert wird, kann er neu generiert werden, wodurch alle zuvor generierten Schlüssel automatisch ablaufen. Der neu erstellte Schlüssel wird dann für die WP-API-Schlüsselauthentifizierung verwendet. Wenn Sie Ihre REST-API nicht sichern, kann dies ein erhebliches Sicherheitsrisiko darstellen, da dadurch unbefugten Personen Zugriff auf Ihr System gewährt werden kann, was möglicherweise zu Datenschutzverletzungen führen kann.

Dieser Leitfaden führt Sie durch einen detaillierten Schritt-für-Schritt-Prozess für Installieren und Konfigurieren der WordPress REST API-Authentifizierung um die Sicherheit Ihrer REST-API zu erhöhen.




WordPress Rest API-Authentifizierung
Von miniOrange

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

Weitere Informationen

Schritte zum Herunterladen und Installieren

  • Melden Sie sich als Administrator bei Ihrem WordPress-Konto 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: Schützen/sichern Sie den Zugriff auf WordPress-REST-API-Endpunkte über Inhaberschlüssel/Token


WordPress-REST-API-Authentifizierungsschlüsselmethode

    1.  Die API-Schlüsselauthentifizierung kann als Schutz für Ihre WordPress-REST-API-Endpunkte wie Beiträge, Seiten oder andere REST-APIs von WordPress dienen. Sie schützt sie vor unbefugtem Zugriff und macht die Weitergabe der WP-Anmeldeinformationen oder der Client-ID und des Clients eines Benutzers überflüssig Geheimnis zur Authentifizierung. Dieser WordPress-API-Schlüsselgenerator-Ansatz erstellt einen eindeutigen Authentifizierungsschlüssel, den Sie zur Authentifizierung verschiedener WordPress-REST-APIs auf Ihrer Website verwenden können.

    Die Verwendung der WordPress-REST-API-Schlüsselauthentifizierung stellt einen der einfachsten und am weitesten verbreiteten Ansätze zur Stärkung Ihrer WP-REST-API mit API-Schlüsselauthentifizierung dar. Dieser Ansatz erhöht die Sicherheit von REST-APIs auf Ihrer WordPress-Website.


    2.   Stellen Sie sich vor, Sie haben eine Blog-Anwendung für Android und iOS entwickelt und alle Ihre Blogs auf WordPress veröffentlicht. Sie möchten die Beiträge/Blogs jedoch von WordPress-REST-APIs abrufen und sie gleichzeitig für die Öffentlichkeit unzugänglich halten. In solchen Fällen ist es ratsam, die WordPress-REST-API-Schlüsselauthentifizierung zu implementieren, um Ihre GET-Anfragen zu schützen und die Sicherheit Ihrer Endpunkte zu gewährleisten.


idp_sso_image1  Das Plugin bietet zwei Arten von API-Schlüsseln/Sicherheitstokens, die zur Authentifizierung von WordPress-REST-APIs verwendet werden können:


    I. Universeller API-Schlüssel – Der universelle API-Schlüssel eignet sich am besten zur Authentifizierung der WP-REST-APIs, die die HTTP-GET-Methode beinhalten und keine WordPress-Benutzerfunktionen erfordern.


    Bitte beachte: Dieser Schlüssel beinhaltet keine Benutzerfunktionen und kann nicht für den Zugriff auf die APIs verwendet werden, für die WordPress Benutzerberechtigungen erwartet. "Beispiel - Wenn Sie die GET-APIs nur zum Abrufen allgemeiner WordPress-Beiträge, Kommentare usw. verwenden möchten.“


    II. Benutzerspezifischer API-Schlüssel – Die benutzerbasierte API eignet sich am besten zur Authentifizierung der WP-REST-APIs, die HTTP-Methoden wie GET, POST, PUT, DELETE umfassen, insbesondere in den Fällen, in denen Sie Vorgänge ausführen möchten, die Benutzerfunktionen erfordern.


    Beispiel - Wenn Sie Vorgänge wie das Abrufen von WordPress-Beiträgen basierend auf Benutzerfunktionen (ihren WP-Rollen), Benutzerdaten ausführen oder neue Benutzer, neue Beiträge usw. erstellen möchten.


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

1. Richten Sie das WordPress-API-Authentifizierungs-Plugin ein [Prämie]


    WordPress-REST-API-Authentifizierungsschlüsselmethode
  • Gehen Sie im Plugin zu Registerkarte „API-Authentifizierung konfigurieren“. und klicken Sie auf API-Schlüsselauthentifizierung als API-Authentifizierungsmethode.
  • Sobald Sie die Konfiguration gespeichert haben, finden Sie unter Abschnitt „Universeller API-Schlüssel“. Sie erhalten die Option zum Generieren eines neuen Tokens. Klicken Sie auf Neuen Schlüssel generieren Taste. Dieser Schlüssel/Token läuft ab, wenn Sie einen neuen Schlüssel/Token generieren.
  • Sobald Sie den API-Schlüssel (Token) generiert haben, können Sie ihn zum Sichern Ihrer WordPress-REST-API-Endpunkte verwenden. (Sie können jederzeit den neuen API-Schlüssel generieren und alle vorhandenen generierten Schlüssel verfallen automatisch.)
  • Sie müssen den API-Schlüssel als Bearer-Token an den Authorization-Header übergeben, während Sie die REST-API-Anfrage an Ihre WP-Site stellen, wie im folgenden Schritt gezeigt.
  • Benutzer, die über dieses Token verfügen, können wie unten gezeigt auf die REST-API zugreifen.
  • 
      Request: GET https://<domain-name>/wp-json/wp/v2/posts
      Header:Authorization: Bearer <token>
    Sample request: GET https://<domain-name>/wp-json/wp/v2/posts Header:Authorization: Bearer kGUfhhzXZuWisofgnkAsuHGDyfw7gfhg5s
    
      Sample curl Request Format-
      curl -H "Authorization:Bearer <token-value>"
      -X GET http://<wp_base_url>/wp-json/wp/v2/posts
      
  • Der Header wird unten erklärt.
  •    I. Authorization : Das HTTP Genehmigung Der Anforderungsheader enthält normalerweise die Anmeldeinformationen oder den Tokentyp und den Tokenwert des Benutzeragenten und dient als Mittel zur Authentifizierung des Benutzeragenten bei einem Server. Dies geschieht häufig nach einem erfolglosen Authentifizierungsversuch, bei dem der Server mit dem Status antwortet 401 Nicht autorisiert.

       II. Bearer <token-value>: Das Träger wird vom Authentifizierungsserver erstellt. Wenn eine Clientanwendung den Authentifizierungsserver anfordert, authentifiziert der Server dieses Token und gibt der Clientanwendung eine entsprechende Antwort.

  • Probieren Sie auch die Entwicklerdokumentation für weitere Informationen an.
  • Probieren Sie auch die Fehlerantwort für die API-Schlüsselauthentifizierung.

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 <token-value>");    
  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 <token-value>")    
   .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 <token-value >"
        },        
    };
    
    $.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',
        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 <token-value>'
        ),
      
          ));          
        
  $response = curl_exec($curl);
  curl_close($curl);    
  echo $response;
          
 
  import http.client
  
  conn   = http.client.HTTPSConnection("<wp_base_url>")
  payload= "
  headers = {
      'Authorization': 'Bearer <token-value>'
  }
  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:

  • Laden Sie den POSTMAN-Sammlungsexport herunter von hier.
  • Importieren Sie die heruntergeladene JSON-Datei wie unten gezeigt in die Postman-Anwendung.
  • WordPress REST API Authentifizierungsschlüsselmethode Postman importiert JSON-Datei
  • Sobald Sie die JSON-Datei importiert haben, klicken Sie auf REST-API-Anfrage unter dem Kollektionen wie in der letzten Abbildung gezeigt. Ersetzen Sie nun die mit Ihrer Wordpress-Domain im http://<wp_base_url>/wp-json/wp/v2/posts und ersetzen Sie die API im Header mit dem Token-Wert, wie er im Plugin generiert wurde.
  • Beispiel:
  • WordPress REST API-Authentifizierungsschlüsselmethode Postman ersetzt Basis-URL

idp_sso_image1 Feature Beschreibung

    1. Rollenbasierte REST-API-Einschränkungen:

    Diese Funktion ermöglicht die Einschränkung des REST-API-Zugriffs entsprechend den Benutzerrollen. Sie haben die Möglichkeit anzugeben, welche Rollen über REST-APIs auf die angeforderte Ressource zugreifen dürfen. Wenn ein Benutzer daher eine REST-API-Anfrage initiiert, wird seine Rolle abgerufen und der Zugriff auf die Ressource wird nur gewährt, wenn seine Rolle in der Whitelist enthalten ist.


    Wie konfiguriere ich es?

    • Gehen Sie zunächst zur Registerkarte „Erweiterte Einstellungen“ des Plugins.
    • Im Abschnitt „Rollenbasierte Einschränkung“ wird zunächst allen Rollen standardmäßig Zugriff auf die APIs gewährt. Sie können den Zugriff jedoch gezielt einschränken, indem Sie das Kontrollkästchen neben den Rollen aktivieren, die Sie 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, OAuth 2.0 (Passwortgewährung) und API Key Auth (benutzerspezifischer API-Schlüssel).


    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 durch die Einführung eines benutzerdefinierten Headers. Wenn eine Person versucht, eine REST-API-Anfrage mit dem Header „Authorization“ zu senden, kann sie nicht auf die APIs zugreifen.


    Wie konfiguriere ich es?

    • Gehen Sie zunächst zur Registerkarte „Erweiterte Einstellungen“ des Plugins.
    • Dann in der „Benutzerdefinierter Header“ Abschnitt können Sie 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 eine Whitelist für Ihre REST-APIs erstellen und so den direkten Zugriff darauf ermöglichen, ohne dass eine Authentifizierung erforderlich ist. Folglich werden alle in dieser Whitelist enthaltenen REST-APIs öffentlich zugänglich.


    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 „/wp-json/wp/v2/posts“ ausschließen, dann müssen Sie „/wp/v2/posts“ in das Textfeld eingeben.

    4. Erstellen Sie benutzerspezifische API-Schlüssel/Token

    • Diese Funktion ist innerhalb der API-Schlüsselmethode verfügbar und ermöglicht die Generierung von Token auf der Grundlage benutzerspezifischer Informationen anstelle eines zufällig generierten Tokens, bei dem es sich um einen universellen Schlüssel handelt.
    • Bei Verwendung des universellen API-Schlüssels/Tokens fehlen Benutzern möglicherweise die erforderlichen Berechtigungen, um mit Anforderungsmethoden wie POST, PUT oder DELETE auf bestimmte WordPress-REST-APIs zuzugreifen. Diese APIs umfassen Aktionen wie das Erstellen von Benutzern, Beiträgen, Seiten usw., für deren Betrieb bestimmte Benutzerberechtigungen oder Rollen erforderlich sind. Die Einschränkung entsteht, weil der Universalschlüssel zufällig generiert wird und keine benutzerspezifischen Details enthält.
    • Die benutzerbasierte API-Schlüssel-/Token-Funktion ermöglicht es Benutzern, WordPress-REST-APIs mit Anforderungsmethoden wie POST, PUT und DELETE zu verwenden, die Benutzeranmeldeinformationen oder bestimmte Rollen für die Funktionalität erfordern. Wenn eine WordPress-REST-API-Anfrage mit dem benutzerbasierten Schlüssel ausgeführt wird, ruft das System die Rolle des Benutzers ab und gewährt den Zugriff nur, wenn der Benutzer über die erforderlichen Berechtigungen verfügt.
    • Zum Beispiel: Nur Benutzer mit Administrator- und Editor-Rollen haben die Berechtigung, einen Beitrag zu erstellen/bearbeiten/löschen.
    • Wenn also eine Anfrage an diese API zum Erstellen/Löschen/Bearbeiten des Beitrags gestellt wird, lautet die API-Antwort „Sie sind nicht berechtigt, diesen Vorgang auszuführen“.
    • Wenn nun eine Anfrage mit dem benutzerbasierten Token gestellt wird, das für den Benutzer generiert wurde, der eine Administrator- oder Editor-Rolle hat, hat nur dieser Zugriff auf diese API und kann über den API-Aufruf Vorgänge durchführen (erstellen/aktualisieren/löschen).
    • So nutzen Sie diese Funktion:

    • Wählen Sie den Benutzer aus der Dropdown-Liste aus und klicken Sie auf API-Schlüssel erstellen .
    • Postman-Implementierung der WordPress-REST-API-Basisauthentifizierungsmethode
    • Auf dem Bildschirm erscheint ein Popup, Sie müssen nur darauf klicken OK Klicken Sie auf die Schaltfläche, um das Token zu kopieren.
    • Postman-Implementierung der WordPress-REST-API-Basisauthentifizierungsmethode
    • Jetzt kann dieses Token mit der API-Anfrage verwendet werden, genau wie der Universalschlüssel zum Stellen der API-Anfrage verwendet wird.

    Glückwunsch! Sie haben die WordPress-REST-API-Schlüsselauthentifizierung mithilfe dieser Anleitung erfolgreich konfiguriert. Jetzt sind Ihre WordPress-REST-API-Endpunkte sicher und Ihre Daten vor unbefugtem Zugriff geschützt.

    miniorange img Weitere Informationen

    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