REST-API-Authentifizierung für WordPress mithilfe eines Drittanbieters
Übersicht
Die REST-API-Authentifizierung für WordPress mittels Drittanbietermethode beinhaltet die Verwendung von Token (Zugriffstoken/ID-Token/JWT-Token), die von Drittanbietern wie Google, Facebook, Firebase, Apple, Azure AD, Keycloak, Okta, AWS Cognito, GitHub, Slack, GitLab usw. empfangen werden, um sicher auf die WordPress-REST-API zuzugreifen.
WordPress-Endpunkte sind standardmäßig nicht sicher, und Daten können über REST-APIs im JSON-Format gestohlen werden. Das Plugin „REST API Authentication for WordPress“ ermöglicht den Aufruf von REST-APIs mit verschiedenen Sicherheitsmethoden wie Basic Auth, API-Schlüssel, JWT-Token und OAuth-Token. In dieser Anleitung verwenden wir OAuth-Token von Anbietern wie OAuth, OpenID Connect oder Firebase, um die REST-API-Anfragen zu validieren und so Ihre WordPress-Website zu schützen. Bei jeder Anfrage an die REST-API erfolgt die Authentifizierung anhand des Tokens eines Drittanbieters (z. B. Google, Facebook, Firebase, Apple, Okta usw.). Nach erfolgreicher Validierung des API-Tokens wird der Zugriff auf die Ressourcen der jeweiligen REST-API-Anfrage gewährt. Das Token, das Sie nach der SSO-Anmeldung in Ihrer App erhalten haben, kann somit für den Zugriff auf alle WP-REST-API-Endpunkte verwendet werden.
REST-API-Authentifizierung für WordPress

Das WP REST API Authentication Plugin schützt Ihre WordPress REST APIs vor unberechtigtem Zugriff. Unser Plugin bietet verschiedene Authentifizierungsmethoden wie Basisauthentifizierung, API-Schlüssel-Authentifizierung, OAuth 2.0-Authentifizierung und JWT-Authentifizierung.
Mehr ErfahrenVoraussetzungen: Download und Installation
- Melden Sie sich als Administrator bei Ihrer WordPress-Instanz an.
- Gehen Sie zu WordPress Dashboard -> Plugins und klicken Sie auf Inserat erstellen.
- Suche nach einem WP REST API-Authentifizierung Plugin und klicken Sie auf Jetzt installieren.
- Klicken Sie nach der Installation auf Mehr erfahren.
Anwendungsfall: Authentifizierung/Schutz von WP REST API-Endpunkten mithilfe des JWT-Tokens, das von Social Login/OAuth 2.0/OpenID Connect-Identitätsanbietern (Server) erhalten wird.
- Angenommen, Sie haben eine Android-/iOS-App und bieten Ihren Nutzern die Möglichkeit, sich über verschiedene Social-Media-Anbieter wie Google, Facebook, Apple, LinkedIn, Instagram oder andere OAuth/OpenID Connect-Anbieter wie AWS Cognito, Auth0, Microsoft Azure, Okta, Keycloak, Firebase usw. anzumelden. Sie möchten, dass Ihre Nutzer von der App aus auf die WP REST API-Endpunkte zugreifen. Daher können Sie die Authentifizierung für den Zugriff auf die WP REST API-Endpunkte anhand des Zugriffstokens (JWT-Token) durchführen, das Sie vom OAuth/OpenID Connect-Identitätsanbieter (Server) erhalten. Dies geschieht im Rahmen des Single Sign-On (SSO) für die Anmeldung in Ihrer App. Das Zugriffstoken (JWT) wird im Authorization-Header der API-Anfrage mit dem Token-Typ „Bearer“ übergeben. Die Validierung dieses Tokens erfolgt direkt über den entsprechenden OAuth/OpenID Connect-/Firebase-Identitätsanbieter. Die Validierungsanfrage wird also intern an den entsprechenden OAuth/OpenID Connect-Server gesendet. Bei erfolgreicher Token-Validierung wird über die REST-API-Anfrage auf Ressourcen/Daten zugegriffen. Schlägt die Validierung fehl, wird eine Fehlermeldung zurückgegeben. Dadurch werden Ressourcen/Daten durch die direkte Authentifizierung über OAuth-/OpenID-Connect-Identitätsanbieter optimal geschützt.
- Wie dieser Anwendungsfall für die Authentifizierung mit unserem Plugin erreicht werden kann:

1. Die WP REST API-Endpunktanfrage wird mit dem Zugriffs-/ID-Token gestellt, das von den OAuth/OpenID Connect-Identitätsanbietern bezogen wird und im Authorization-Header mit dem Token-Typ Bearer übergeben wird.
2. Die WP REST API-Anfrage wird von unserem Plugin überwacht und die JWT-Token-Validierungs-/Authentifizierungsanfrage wird an den OAuth/OpenID Connect Identitätsanbieter (Server) gesendet.
3. Die Antwort wird vom OAuth/OpenID Connect-Identitätsanbieter (Server) für die zuvor gestellte Anfrage zur Validierung des JWT-Tokens zurückgegeben.
4. Wenn die JWT-Token-Validierung/Authentifizierung erfolgreich ist, kann auf die angeforderte Ressource zugegriffen werden. Der Anforderer ist nun berechtigt, auf die Ressource/Daten zuzugreifen. Sollte die Token-Validierung fehlschlagen, wird eine Fehlermeldung zurückgegeben. Die Ressourcendaten sind nun geschützt und können nach Autorisierung abgerufen werden. Die Sicherheit ist somit unbedenklich.
Verwandter Anwendungsfall:
- Wie kann verhindert werden, dass WP REST API-Endpunkte das von Social Login oder OAuth2.0/OpenID Connect-Identitätsanbietern bereitgestellte JWT-Token verwenden?
- Wie kann die Authentifizierung durchgeführt und die Sicherheit gewährleistet bzw. die Autorisierung durchgeführt werden, um den Zugriff auf die REST-API-Endpunkte von WordPress auf der Grundlage des Zugriffs-/ID-Tokens zu gewähren, das von Social-Login-/OAuth-Anbietern während des OAuth/OpenID-SSO-Anmeldevorgangs bereitgestellt wird?
Lesen Sie Anwendungsfälle für die folgenden Rest-API-Authentifizierungsmethoden:
Einrichtung der API-Authentifizierung für das WordPress-Plugin
- Wählen Sie Ihre Authentifizierungsmethode →Drittanbieter und fügen Endpunkt der Selbstbeobachtung Klicken Sie auf die von Ihrem OAuth/OpenID Connect-Anbieter bereitgestellte Datei Konfiguration speichern.
- Nachdem Sie das Plug-In mit dem von Ihrem Anbieter bereitgestellten Introspection-Endpunkt konfiguriert haben, versuchen Sie, mit dem von Ihrem OAuth-Anbieter bereitgestellten Zugriffstoken/ID-Token auf Ihre WordPress-REST-APIs zuzugreifen, wie unten gezeigt.
Request: GET https://<domain-name>/wp-json/wp/v2/posts
Header:
access_token : < access_token >
OR
id_token : < id_token >
-H 'app-name:TheAppName'
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", "< access_token > OR id_token <id_token>");
request.AddHeader = ("app-name", "TheAppName");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("http://<wp_base_url>/wp-json/wp/v2/posts ")
.method("GET", null)
.addHeader = ("Authorization", "< access_token > OR id_token <id_token>")
.addHeader = ("app-name", "TheAppName");
.build();
Response responseclient.newCall(request).execute();
var settings = {
"url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "< access_token > OR id_token <id_token>"
"app-name": "TheAppName"
},
};
$.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: < access_token > OR id_token <id_token>'
'app-name: TheAppName'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("<wp_base_url>")
payload= "
headers = {
'Authorization': '< access_token > OR id_token <id_token>'
'app-name': 'TheAppName',
}
conn.request("GET", "/wp-json/wp/v2/posts ", payload, headers)
res= conn.getresponse()
data = res.read()
print (data.decode("utf-8"))
Postboten-Beispiele:
- Sie können das Beispiel-Postman-Anfrageformat unter herunterladen werden auf dieser Seite erläutert.
- Extrahieren Sie die heruntergeladene ZIP-Datei und importieren Sie die extrahierte JSON-Datei in die Postman-Anwendung.
- Ersetzen Sie die < access_token > or <id_token> mit dem entsprechenden Token, das Sie von Ihrem OAuth 2.0-Anbieter erhalten haben.
- Ersetzen Sie die <App-Name > mit Ihrem jeweiligen AppNamen.
- Ejemplo:
Führen Sie die folgenden Schritte aus, um eine REST-API-Anfrage mit Postman zu stellen:
Feature Beschreibung
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, denen Sie Zugriff auf die angeforderte Ressource für die REST-APIs gewähren möchten, auf eine Whitelist setzen. Bei jeder REST-API-Anfrage eines Benutzers wird seine Rolle abgerufen und der Zugriff auf die Ressource nur gewährt, wenn seine Rolle auf der Whitelist steht.
Wie konfiguriere ich es?
- Gehen Sie zunächst zur Registerkarte „Erweiterte Einstellungen“ des Plugins.
- Im Abschnitt „Rollenbasierte Einschränkung“ wird standardmäßig allen Rollen der Zugriff auf die APIs gestattet. Sie können das Kontrollkästchen der Rollen aktivieren, für die Sie den Zugriff einschränken möchten.
- Im obigen Screenshot ist das Kontrollkästchen für die Abonnentenrolle aktiviert. Wenn ein Benutzer in seiner Rolle als Abonnent eine API-Anfrage stellt, darf er nicht auf die angeforderte Ressource zugreifen.
Hinweis: Die rollenbasierte Einschränkungsfunktion ist für die Basisauthentifizierung (Benutzername: Kennwort), die JWT-Methode und OAuth 2.0 (Kennwortzuweisung) gültig.
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 Sie den Header mit Ihrem „benutzerdefinierten Namen“ benennen. Wenn also jemand die REST-API-Anforderung mit einem Header wie „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.
3. Schließen Sie REST-APIs aus
Mit dieser Funktion können Sie Ihre REST-APIs auf eine Whitelist setzen, sodass direkt und ohne Authentifizierung darauf zugegriffen werden kann. Somit sind alle diese Whitelist-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, die für den öffentlichen Zugriff auf die Whitelist gesetzt werden müssen.
- 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 ist für JWT- und OAuth 2.0-Methoden anwendbar, die zeitbasierte Token zur Authentifizierung der WP REST API-Endpunkte verwenden. Mit dieser Funktion können Sie ein benutzerdefiniertes Ablaufdatum für die Token festlegen, sodass diese nach Ablauf ihrer Gültigkeit nicht mehr gültig sind.
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 des Aktualisierungstokens (verwendet für die OAuth 2.0-Methode) geändert werden. Standardmäßig ist die Ablaufzeit des Zugriffstokens auf 60 Minuten und die des Aktualisierungstokens auf 14 Tage eingestellt. Mit dieser Funktion kann die Ablaufzeit entsprechend den Anforderungen angepasst werden.
Daher wird mit dieser benutzerdefinierten Token-Ablauffunktion die Sicherheit weiter erhöht.
5. Aktivieren Sie die erweiterte Verschlüsselung für die Token mithilfe von HMAC
Diese Funktion ist mit der Methode der Basisauthentifizierung verfügbar, bei der das Token standardmäßig mit der Base64-Kodierungstechnik verschlüsselt wird. Mit der erweiterten Funktion kann das Token jedoch mit der hochsicheren HMAC-Verschlüsselung verschlüsselt werden, die sehr sicher ist.
6. Signaturvalidierung für JWT-basierte Token
Diese Funktion ermöglicht die sichere Signierung der JWT-Signatur für das JWT-Token. Dadurch ist Ihr JWT-Token deutlich sicherer und die Signatur kann nur mithilfe des Client-Geheimnisses/Zertifikats entschlüsselt werden. Das bedeutet, dass Ihre Signatur privat ist und von anderen nicht eingesehen werden kann.
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.
7. Erstellen Sie benutzerspezifische API-Schlüssel/Tokens
- Diese Funktion ist innerhalb der API-Schlüsselmethode verfügbar, bei der die Token entsprechend den Benutzerinformationen generiert werden können, anstatt eines zufällig generierten Tokens, bei dem es sich um einen universellen Schlüssel handelt.
- Mit dem universellen API-Schlüssel/Token kann der Benutzer keine Berechtigung für bestimmte WordPress-REST-APIs mit Anforderungsmethoden wie POST, PUT, DELETE erhalten, z. B. zum Erstellen von Benutzern, Beiträgen, Seiten usw., für die bestimmte Benutzerberechtigungen/-rollen erforderlich sind, um Vorgänge über die Verwendung der REST-API-Anforderung auszuführen, da der universelle Schlüssel zufällig generiert wird und keine benutzerbasierte Beschreibung enthält.
- Diese benutzerbasierte API-Schlüssel-/Token-Funktion ermöglicht es dem Benutzer, auf die REST-APIs mit den Anfragemethoden POST, PUT und DELETE in WordPress zuzugreifen, die Benutzeranmeldeinformationen oder bestimmte Rollen erfordern, um die Operation durchzuführen. Wenn die WP REST API-Anfrage mit dem benutzerbasierten Schlüssel gestellt wird, wird die Rolle des Benutzers ermittelt, und er darf nur dann auf die API zugreifen, wenn er die Berechtigung dazu hat.
- Zum Beispiel: Nur Benutzer mit Administrator- und Editorrollen haben die Berechtigung, einen Beitrag zu erstellen/bearbeiten/löschen.
- Wenn also an diese API eine Anfrage zum Erstellen/Löschen/Bearbeiten des Beitrags gestellt wird, lautet die API-Antwort: „Sie sind nicht berechtigt, diesen Vorgang auszuführen.“
- Wenn nun eine Anforderung mit dem benutzerbasierten Token gestellt wird, das für den Benutzer mit der Administrator- oder Editorrolle generiert wurde, hat nur dieser Zugriff auf diese API und kann den Vorgang (Erstellen/Aktualisieren/Löschen) über den API-Aufruf ausführen.
- Wählen Sie den Benutzer aus der Dropdown-Liste aus und klicken Sie auf die Schaltfläche „API-Schlüssel erstellen“.
- Auf dem Bildschirm erscheint ein Popup. Sie müssen nur auf die Schaltfläche „OK“ klicken, um den Token zu kopieren.
- Jetzt kann dieses Token mit der API-Anfrage verwendet werden, genau wie der Universalschlüssel zum Stellen der API-Anfrage verwendet wird.
So nutzen Sie diese Funktion:
Fordern Sie eine Demo des Plugins an
Holen Sie sich die Testversion mit vollem Funktionsumfang
Vielen Dank für Ihre Antwort. Wir werden uns umgehend bei Ihnen melden.
Etwas ist schief gelaufen. Bitte senden Sie Ihre Anfrage erneut

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.
