Suchergebnisse :

×

Grundlegende Authentifizierungsmethode der WordPress REST API


Mit der WordPress-REST-API-Basisauthentifizierung können Sie den Zugriff auf die WordPress-REST-APIs überprüfen, indem Sie ein API-Token validieren, das aus dem Benutzernamen, dem Passwort oder den Client-Anmeldeinformationen generiert wird.

Immer wenn eine Anfrage zum Zugriff auf einen WordPress-REST-API-Endpunkt gestellt wird, wird diese einer Authentifizierung anhand des zugehörigen Tokens unterzogen. Anschließend wird der Zugriff auf die Ressourcen für diese spezifische API-Anfrage basierend auf der erfolgreichen Validierung dieses API-Tokens bestimmt. Um die Sicherheit zu gewährleisten, wird das Zugriffstoken verschlüsselt, um Sicherheits-/Datenverletzungen zu verhindern.


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.
  • Sobald installiert, klicke auf Mehr erfahren.


Anwendungsfall: Schützen/Sichern des WordPress-REST-API-Endpunktzugriffs mithilfe der Standardauthentifizierung

    1. Basierend auf Benutzeranmeldeinformationen:

    Angenommen, Sie verfügen über eine Android-/iOS-App und haben Ihren Benutzern die Funktion gegeben, ihre persönlichen Feeds oder Blogs in der mobilen App zu veröffentlichen.

    In diesem Fall sollten Anfragen auf Ihrer mobilen App authentifiziert werden.

    Die WordPress Basic Authentication REST API mit Benutzername und Passwort ist für diesen Fall die beste Authentifizierungsmethode. Es wird hilfreich sein, WordPress-Vorgänge über REST-APIs auszuführen, die Benutzerberechtigungen oder -funktionen erfordern.

    Die Benutzersitzung wird erstellt und auf der Grundlage ihrer WordPress-Funktionen wird es ihm/ihr ermöglicht, auf den REST-API-Inhalt zuzugreifen oder die gewünschten Vorgänge auszuführen.


      WordPress-REST-API-Basisauthentifizierungsmethode unter Verwendung von Benutzeranmeldeinformationen

    2. Basierend auf den Anmeldeinformationen des Kunden:

    Stellen Sie sich vor, Sie haben eine Android- oder iOS-Anwendung und möchten über deren REST-API-Endpunkte mit WordPress-Inhalten interagieren. Allerdings scheuen Sie sich davor, WP-Benutzeranmeldeinformationen zu verwenden, um eine potenzielle Gefährdung zu verhindern, die es einem Eindringling ermöglichen könnte, sich unbefugten Zugriff auf die WP-Site zu verschaffen.

    In einem solchen Szenario ist es ratsam, die WordPress Basic Authentication Rest API zu verwenden und eine Client-ID und ein Client-Geheimnis zu verwenden, um Ihre WP-Benutzeranmeldeinformationen zu schützen.

    Bei dieser Methode müssen Sie in jeder Anfrage nur die vom Plugin bereitgestellte Client-ID und das Client-Geheimnis angeben. Folglich bleibt die Sicherheit kompromisslos, da die Client-ID und das Geheimnis in einem verschlüsselten Format im Basic Authorization-Header jeder API-Anfrage übertragen werden. Diese Anmeldeinformationen werden dann validiert und nach erfolgreicher Validierung gewährt WP API Basic Auth Zugriff auf die angeforderten APIs.


      WordPress-REST-API-Basisauthentifizierungsmethode mit Client-Anmeldeinformationen

Einige Anwendungsfälle für die folgenden Rest-API-Basisauthentifizierungsmethoden:

Richten Sie die grundlegende Authentifizierungsmethode der REST-API ein


miniorange img REST-API-Basisauthentifizierung mit Benutzername und Passwort:

  • Gehen Sie im Plugin zu Methoden konfigurieren Registerkarte im linken Bereich.
  • Klicken Sie auf Basic Authentication als API-Authentifizierungsmethode.
  • WordPress-REST-API-Basisauthentifizierungsmethode mit Benutzername und Passwort
  • Auswählen Benutzername und Passwort mit Base64-Kodierung und klicken auf Weiter in der oberen rechten Ecke.
  • WordPress-REST-API-Basisauthentifizierungsmethode mit Benutzername und Passwort
  • Um die Funktionalität zu testen, füllen Sie die Felder Benutzername und Passwort für einen vorhandenen Benutzer aus.
  • WordPress-REST-API-Basisauthentifizierungsmethode mit Benutzername und Passwort
  • Sie können den REST-API-Endpunkt bearbeiten, um Details von diesem Endpunkt abzurufen. Beispiel: Der /pages-Endpunkt wurde hier ausgewählt:
  • Klicken Sie auf Testkonfiguration Klicken Sie auf die Schaltfläche und überprüfen Sie das auf dem Bildschirm angezeigte Ergebnis.
  • Klicken Sie auf die Endziel .
  • WordPress-REST-API-Basisauthentifizierungsmethode mit Benutzername und Passwort
  • Nachdem Sie die REST-API-Basisauthentifizierungskonfiguration mit Benutzername und Passwort gespeichert haben, müssen Sie für den Zugriff auf die WordPress-REST-APIs eine REST-API-Anfrage mit Ihrem jeweiligen Autorisierungsschlüssel senden. Sie müssen das unten gezeigte Anfrageformat verwenden.
  •    Request: GET https://<domain-name>/wp-json/wp/v2/posts
       Header: Authorization: Basic base64encoded <username:password>
    Sample Request Format- Example => username : testuser and password : password@123

    
         Sample curl Request Format-
         curl -H "Authorization:Basic base64encoded <username:password>"
         -X POST http://<wp_base_url>/wp-json/wp/v2/posts -d "title=sample post&status=publish" 
     
  • Die PHP-Funktion base64_encode(string) für die Base64-Codierung kann wie folgt verwendet werden:
  • 
    base64_encode(‘testuser:password@123’) will results into ‘eGw2UllOdFN6WmxKOlNMRWcwS1ZYdFVrbm5XbVV2cG9RV FNLZw==’ as output.
    Sample request: GET https://<domain-name>/wp-json/wp/v2/posts Header: Authorization : Basic eGw2UllOdFN6WmxKOlNMRWcwS1ZYdFVrbm5XbVV2cG9RVFNLZw==
  • Probieren Sie auch die Fehlerantwort für Basic Auth mit Benutzername und Passwort.

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.POST);
	request.AlwaysMultipartFormData = true;
	request.AddParameter("title", "Sample Post");
	request.AddParameter("status", "publish");
	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("title","Sample Post")
    .addFormDataPart("status", "publish") 
    .build();
    Request request  = new Request.Builder()
    .url("http://<wp_base_url>/wp-json/wp/v2/posts ")
    .method("POST", body)
     .build();
    Response responseclient.newCall(request).execute();
            
 
    var form = new FormData();
    form.append("title","Sample Post");
    form.append("status", "publish"); 

    var settings  = {
        "url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
        "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/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 => 'POST',
            CURLOPT_POSTFIELDS => array('title' => 'Sample Post','status' => 'publish'),
            ));
          
    $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=title;')) 

    dataList.append(encode('Content-Type: {}'.format('text/plain')))    
    dataList.append(encode(''))    

    dataList.append(encode("Sample Post"))
    dataList.append(encode('--' + boundary))    
    dataList.append(encode('Content-Disposition: form-data; name=status;'))    

    dataList.append('Content-Type: {}'.format('text/plain')))
    dataList.append(encode(''))    

    dataList.append(encode("publish")) 
    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/wp/v2/posts ", payload, headers)
    res= conn.getresponse()    
    data = res.read()    
    print (data.decode("utf-8"))   
 

miniorange img 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.
  • Postman-Implementierung der WordPress-REST-API-Basisauthentifizierungsmethode
  • Bewegen Sie nun den Mauszeiger über die Karte „Basic Authentication Postman Samples“.
    • a) Für Benutzername-Passwort

        WordPress REST API Basic-Authentifizierungsmethode Postman JSON-Datei für Benutzername: Passwort
      • Importieren Sie das heruntergeladene JSON-Datei in die Postman-Anwendung ein, wie unten gezeigt.
      • WordPress REST API Basic-Authentifizierungsmethode Postman importiert JSON-Datei
      • Sobald Sie die JSON-Datei importiert haben, klicken Sie auf die REST-API-Anfrage unter den Sammlungen, 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 base64kodiert im Header mit dem basiscodierten Wert.
        • Beispiel:
          Für Benutzername: testuser und Passwort: passwort@123 lautet der Base64-codierte Wert „dGVzdHVzZXI6cGFzc3dvcmRAMTIz“.

      WordPress REST API-Authentifizierungsschlüsselmethode Postman ersetzt Basis-URL

      b) Für Client-ID und Client-Geheimnis

      • WordPress REST API Basic-Authentifizierungsmethode Postman JSON-Datei für Client-ID und Client-Geheimnis
      • Importieren Sie das heruntergeladene JSON-Datei in die Postman-Anwendung ein, wie unten gezeigt.
      • WordPress REST API Basic-Authentifizierungsmethode Postman importiert JSON-Datei
      • Sobald Sie die JSON-Datei importiert haben, klicken Sie auf die REST-API-Anfrage unter den Sammlungen, 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 base64kodiert im Header mit dem basiscodierten Wert.
      • WordPress REST API Basisauthentifizierungsmethode Postman ersetzt Basis-URL

miniorange img Feature Beschreibung

    1. Einschränkung der rollenbasierten REST-API:

    Mit dieser Funktion können Sie den REST-API-Zugriff entsprechend den Benutzerrollen einschränken. Sie haben die Möglichkeit, die Rollen anzugeben, die über REST-APIs auf die angeforderte Ressource zugreifen dürfen. Wenn ein Benutzer daher eine REST-API-Anfrage stellt, wird seine Rolle überprüft und der Zugriff auf die Ressource wird ausschließlich dann gewährt, wenn seine Rolle in der Whitelist enthalten ist.


    Wie konfiguriere ich es?

    • Gehen Sie zunächst zum Plugin 'Erweiterte Einstellungen' Tab.
    • Dann, in der Rollenbasierte Einschränkung In diesem Abschnitt ist 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 Bild ist das Kontrollkästchen für die Abonnentenrolle aktiviert. Wenn also ein Benutzer mit seiner Rolle als Abonnent eine API-Anfrage stellt, ist es diesem Benutzer nicht gestattet, auf die angeforderte Ressource zuzugreifen.

    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, anstelle der Standardkopfzeile eine personalisierte Kopfzeile auszuwählen 'Genehmigung' Header. Dies erhöht die Sicherheit, da Sie den Header nach Ihren Wünschen benennen können. Wenn also jemand versucht, eine REST-API-Anfrage mit einem Header namens 'Genehmigung,' Sie dürfen auf die APIs zugreifen.


    Wie konfiguriere ich es?

    • Gehen Sie zunächst zum Plugin 'Erweiterte Einstellungen' Tab.
    • 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. REST-APIs ausschließen:

    Mit dieser Funktion können Sie bestimmte REST-APIs als Whitelist kennzeichnen, sodass direkt auf sie zugegriffen werden kann, ohne dass eine Authentifizierung erforderlich ist. Folglich werden alle diese auf der Whitelist aufgeführten REST-APIs öffentlich zugänglich.


    Wie konfiguriere ich es?

    • Gehen Sie zunächst zum Plugin 'Erweiterte Einstellungen' Tab.
    • Dann in der „REST-APIs ausschließen“können Sie 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. Aktivieren Sie die erweiterte Verschlüsselung für die Token mit HMAC:

    Diese Funktion wird im Rahmen der Standardauthentifizierungsmethode angeboten, bei der das Token normalerweise standardmäßig mit Base64-Kodierung verschlüsselt wird. Mit der erweiterten Option kann der Token jedoch mit dem hochsicheren HMAC-Verschlüsselungsverfahren verschlüsselt werden, was ein sehr hohes Maß an Sicherheit gewährleistet.


    WordPress-REST-API-Basisauthentifizierungsmethode unter Verwendung von Benutzeranmeldeinformationen

miniorange img Weitere Informationen

Hilfe benötigt?

Mailen Sie uns weiter oauthsupport@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