Das WordPress-REST-API-Authentifizierungs-Plugin bietet Sicherheit vor unbefugtem Zugriff auf Ihre WordPress-REST-APIs.
Suchergebnisse :
×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.
Das WordPress-REST-API-Authentifizierungs-Plugin bietet Sicherheit vor unbefugtem Zugriff auf Ihre WordPress-REST-APIs.
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.
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:
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.
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
Glückwunsch! Sie haben die JWT-Authentifizierungsmethode für REST-API-Aufrufe mit der miniOrange WordPress REST-API-Authentifizierungsmethode erfolgreich konfiguriert.
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ühren Sie die folgenden Schritte aus, um eine REST-API-Anfrage mit Postman zu stellen:
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?
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?
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?
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?
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.
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.
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.
Brauchen Sie Hilfe? Wir sind hier!
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
Diese Datenschutzerklärung gilt für miniorange-Websites und beschreibt, wie wir mit personenbezogenen Daten umgehen. Wenn Sie eine Website besuchen, werden möglicherweise Informationen in Ihrem Browser gespeichert oder abgerufen, meist in Form von Cookies. Diese Informationen können sich auf Sie, Ihre Vorlieben oder Ihr Gerät beziehen und werden hauptsächlich dazu verwendet, dass die Website so funktioniert, wie Sie es erwarten. Die Informationen identifizieren Sie nicht direkt, können Ihnen aber ein personalisierteres Web-Erlebnis ermöglichen. Klicken Sie auf die Kategorieüberschriften, um zu erfahren, wie wir mit Cookies umgehen. Die Datenschutzerklärung unserer Lösungen finden Sie in der Datenschutz.
Notwendige Cookies tragen dazu bei, eine Website vollständig nutzbar zu machen, indem sie grundlegende Funktionen wie Seitennavigation, Anmelden, Ausfüllen von Formularen usw. ermöglichen. Die für diese Funktionalität verwendeten Cookies speichern keine personenbezogenen Daten. Einige Teile der Website funktionieren jedoch ohne Cookies nicht ordnungsgemäß.
Diese Cookies sammeln nur aggregierte Informationen über den Verkehr auf der Website, einschließlich Besucher, Quellen, Seitenklicks und -aufrufe usw. Dies ermöglicht es uns, mehr über unsere beliebtesten und am wenigsten beliebten Seiten sowie über die Interaktion der Benutzer mit den umsetzbaren Elementen und damit über die Veröffentlichung zu erfahren Wir verbessern die Leistung unserer Website sowie unserer Dienste.