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 erhalten haben, kann somit für den Zugriff auf alle REST-API-Endpunkte von WordPress verwendet werden.
REST-API-Authentifizierung für WordPress

Das REST-API-Authentifizierungs-Plugin für WordPress schützt Ihre REST-APIs vor unberechtigtem Zugriff. Unser Plugin bietet verschiedene Authentifizierungsmethoden wie Basisauthentifizierung, API-Schlüssel-Authentifizierung, OAuth 2.0-Authentifizierung und JWT-Authentifizierung.
Mehr wissenVoraussetzungen: 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 REST API-Authentifizierung Plugin für WordPress und klicken Sie auf Jetzt installieren.
- Klicken Sie nach der Installation auf Mehr erfahren.
Anwendungsfall: Authentifizierung/Schutz von REST-API-Endpunkten für WordPress 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 über die App auf die REST-API-Endpunkte von WordPress zugreifen können. Dazu authentifizieren Sie den Zugriff auf die REST-API-Endpunkte anhand des Zugriffstokens (JWT-Token), das Sie vom OAuth/OpenID Connect-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 jeweiligen OAuth/OpenID Connect-/Firebase-Anbieter. 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 REST-API-Endpunktanfrage wird mit dem Zugriffs-/ID-Token gestellt, das von den OAuth/OpenID Connect-Identitätsanbietern bezogen wurde und im Authorization-Header mit dem Token-Typ Bearer übergeben wird.
2. Die REST-API-Anfrage für WordPress 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 Identity-Anbieter (Server) für die zuvor gestellte Anfrage zur Validierung des JWT-Tokens zurückgegeben.
4. Wenn die JWT-Token-Validierung/Authentifizierung erfolgreich ist, darf auf die angeforderte Ressource zugegriffen werden, was bedeutet, dass der Anforderer nun berechtigt ist, auf die Ressource/Daten zuzugreifen. Wenn die Token-Validierung fehlschlägt, wird eine Fehlerantwort zurückgegeben . Die Ressourcendaten sind nun geschützt und können nach Autorisierung abgerufen werden, sodass die Sicherheit kein Problem darstellt.
Verwandter Anwendungsfall:
- Wie kann verhindert werden, dass REST-API-Endpunkte für WordPress 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?
- Wie man sich bei WordPress/WooCommerce REST-API-Endpunkten authentifiziert und darauf zugreift Firebase JWT-Token für mobile Anwendungen?
Lesen Sie Anwendungsfälle für die folgenden REST-API-Authentifizierungsmethoden:
Einrichtung des API-Authentifizierungs-Plugins für WordPress
- 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.
- Sobald Sie das Plugin mit dem von Ihrem Anbieter bereitgestellten Introspection Endpoint konfiguriert haben, versuchen Sie, auf Ihre REST-APIs für WordPress mit dem von Ihrem OAuth-Anbieter bereitgestellten Zugriffstoken/ID-Token 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 Ihnen Ihr OAuth 2.0-Anbieter zur Verfügung stellt.
- 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:
Diese Funktion ermöglicht die Einschränkung des REST-API-Zugriffs basierend auf Benutzerrollen. Sie können die Rollen, denen Sie Zugriff auf die angeforderten Ressourcen der REST-APIs gewähren möchten, auf eine Whitelist setzen. Bei jeder REST-API-Anfrage eines Benutzers wird dessen Rolle ermittelt und der Zugriff auf die Ressource nur dann 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“ haben standardmäßig alle Rollen Zugriff auf die APIs. Sie können die 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. Das bedeutet, dass ein Benutzer mit der Rolle „Abonnent“ bei einer API-Anfrage keinen Zugriff auf die angeforderte Ressource erhält.
Hinweis: Die rollenbasierte Einschränkungsfunktion ist gültig für die Basisauthentifizierung (Benutzername: Passwort), die JWT-Methode und OAuth 2.0 (Passwort-Grant).
2. Benutzerdefinierter Header
Diese Funktion bietet die Möglichkeit, einen benutzerdefinierten Header anstelle des standardmäßigen „Autorisierungs“-Headers auszuwählen.
Dadurch wird die Sicherheit erhöht, da der Header mit Ihrem „benutzerdefinierten Namen“ benannt ist. Wenn also jemand eine REST-API-Anfrage mit einem Header namens „Authorization“ 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
Diese Funktion ermöglicht es Ihnen, Ihre REST-APIs auf eine Whitelist zu setzen, sodass diese ohne Authentifizierung direkt aufgerufen werden können. Somit sind alle auf der Whitelist stehenden 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 vorgegebenen Format eingeben, die für den öffentlichen Zugriff freigegeben 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 REST-API-Endpunkte für WordPress 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.
- Im Abschnitt „Token-Ablaufkonfiguration“ lassen sich die Gültigkeitsdauer des Zugriffstokens und des Aktualisierungstokens (für OAuth 2.0) anpassen. Standardmäßig beträgt die Gültigkeitsdauer des Zugriffstokens 60 Minuten und die des Aktualisierungstokens 14 Tage. Mit dieser Funktion kann die Gültigkeitsdauer den jeweiligen Anforderungen entsprechend 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 bei der Basisauthentifizierungsmethode verfügbar, bei der das Token standardmäßig mit der Base64-Codierungstechnik verschlüsselt wird. Mit der erweiterten Funktion kann das Token jedoch mit der hochsicheren HMAC-Verschlüsselung verschlüsselt werden, die eine sehr hohe Sicherheit gewährleistet.
6. Signaturvalidierung für JWT-basierte Token
Diese Funktion ermöglicht eine sichere Signierung der JWT-Signatur für das JWT-Token, wodurch Ihr JWT-Token deutlich sicherer wird und die Signatur nur mit dem Client-Geheimnis bzw. -Zertifikat entschlüsselt werden kann. Das bedeutet, Ihre Signatur ist privat und für Dritte nicht einsehbar.
Wir bieten Unterstützung für zwei Signaturalgorithmen: HS256 und RS256. Der gewünschte Signaturalgorithmus kann aus dem Dropdown-Menü ausgewählt werden, wie im obigen Bild dargestellt.
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 bei der API-Schlüsselmethode verfügbar, bei der die Tokens anhand der Benutzerinformationen generiert werden können, anstatt eines zufällig generierten Tokens, der ein universeller Schlüssel ist.
- Mit dem universellen API-Schlüssel/Token haben Benutzer keine Berechtigung, auf bestimmte REST-APIs für WordPress mit den Anfragemethoden POST, PUT oder DELETE zuzugreifen, wie z. B. das Erstellen von Benutzern, Beiträgen oder Seiten usw., bei denen eine bestimmte Benutzerberechtigung/Rolle erforderlich ist, um Operationen über die REST-API-Anfrage durchzufü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 REST-API-Anfrage für WordPress 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 Redakteursrechten haben die Berechtigung, einen Beitrag zu erstellen, zu bearbeiten oder zu löschen.
- Wenn also eine Anfrage an diese API gestellt wird, um einen Beitrag zu erstellen/löschen/bearbeiten, lautet die API-Antwort: „Sie sind nicht berechtigt, diese Operation durchzuführen.“
- Wenn nun eine Anfrage mit dem benutzerbasierten Token gestellt wird, das für den Benutzer mit Administrator- oder Redakteursrolle generiert wurde, dann haben nur diese Benutzer Zugriff auf diese API und können die Operation (Erstellen/Aktualisieren/Löschen) über den API-Aufruf durchfü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.
- Dieses Token kann nun für die API-Anfrage verwendet werden, genau wie der universelle Schlüssel für die 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 in Kürze bei Ihnen melden.
Etwas ist schief gelaufen. Bitte senden Sie Ihre Anfrage erneut

Hilfe benötigt?
Kontaktieren Sie uns unter apisupport@xecurify.com für eine schnelle Beratung (per E-Mail/Meeting) zu Ihren Anforderungen. Unser Team hilft Ihnen gerne bei der Auswahl der am besten geeigneten Lösung/des besten Plans für Ihre Bedürfnisse.
