2026年11月12日

2026年11月12日

WordPress-Anwendungspasswörter: Erstellen, Löschen, REST API

Dieser Artikel ist eine lokalisierte Fassung des japanischen Originals. Japanisches Original lesen

Anwendungspasswörter sind eigene Passwörter, die mit WordPress 5.6 eingeführt wurden und die Sie an die REST API oder externe Tools weitergeben. Sie müssen Ihr eigentliches Login-Passwort nicht herausgeben, können für jedes Tool ein eigenes Passwort erstellen und nur die nicht mehr benötigten widerrufen. Dieser Artikel erklärt die Voraussetzungen, das Erstellen und Löschen (im Admin-Bereich, mit WP-CLI und mit PHP), die Verwendung mit der REST API und was Sie prüfen, wenn es nicht klappt. Der Inhalt entspricht dem Stand der Entwicklerdokumentation und des Quellcodes von WordPress im November 2026.

Was Anwendungspasswörter können und was nicht

  • Sie dienen der Authentifizierung bei der REST API und bei XML-RPC. Bei der REST API senden Sie Benutzername und Anwendungspasswort per Basic-Authentifizierung.
  • Für die Anmeldung im Admin-Bereich (wp-login.php) lassen sie sich nicht verwenden. Sie sind nicht dafür gedacht, dass sich Menschen anmelden, sondern für Programme und Tools.
  • Die Berechtigungen sind dieselben wie die des Benutzers, für den sie erstellt wurden. Erstellt ein Administrator das Passwort, kann ein Tool mit diesem Passwort dieselben Aktionen ausführen wie ein Administrator. Wenn ein Tool nur Beiträge verwalten soll, legen Sie einen Benutzer mit der Rolle Autor oder Redakteur an und erstellen das Passwort für diesen Benutzer.
  • Sie lassen sich einzeln widerrufen. Zeitpunkt der letzten Verwendung und IP-Adresse werden ebenfalls aufgezeichnet.

Voraussetzungen für die Nutzung

Anwendungspasswörter sind standardmäßig nur auf Websites mit HTTPS oder mit dem Umgebungstyp local verfügbar. WordPress prüft das so (wp_is_application_passwords_supported()).

return is_ssl() || 'local' === wp_get_environment_type();

Bei Websites, die nur HTTP verwenden, erscheint der Bereich im Profilbildschirm nicht. Das Passwort würde sonst über eine unverschlüsselte Verbindung gesendet.

Im Admin-Bereich erstellen

  1. Öffnen Sie „Benutzer → Profil“ (Users → Profile). Für andere Benutzer bearbeiten Sie den gewünschten Benutzer unter „Benutzer → Alle Benutzer“.
  2. Geben Sie im Bereich „Anwendungspasswörter“ weiter unten bei „Neuer Name des Anwendungspassworts“ einen Namen ein, aus dem der Zweck hervorgeht (z. B. Beitrags-Skript, Zapier).
  3. Klicken Sie auf „Neues Anwendungspasswort hinzufügen“ (je nach Version kann die Beschriftung abweichen).
  4. Notieren Sie das angezeigte Passwort mit 24 Zeichen. Wenn Sie diesen Bildschirm verlassen, wird es nie wieder angezeigt.

Das Passwort wird wie bei abcd EFGH 1234 ijkl MNOP 6789 mit Leerzeichen nach je vier Zeichen angezeigt, die Authentifizierung funktioniert aber mit und ohne Leerzeichen.

Zum Widerrufen klicken Sie in der Liste desselben Bereichs in der betreffenden Zeile auf die Schaltfläche zum Widerrufen. Mit „Alle Anwendungspasswörter widerrufen“ widerrufen Sie auch alle auf einmal.

Mit WP-CLI erstellen, anzeigen und löschen

# Erstellen (mit --porcelain wird nur das Passwort ausgegeben)
wp user application-password create admin "Beitrags-Skript" --porcelain

# Liste anzeigen (die uuid wird zum Löschen benötigt)
wp user application-password list admin --fields=uuid,name,created,last_used,last_ip

# Eines löschen
wp user application-password delete admin 6633824d-c1d7-4f79-9dd5-4586f734d69e

# Alle Passwörter dieses Benutzers löschen
wp user application-password delete admin --all

Für admin können Sie Benutzername, E-Mail-Adresse oder Benutzer-ID angeben. Ersetzen Sie die uuid durch den Wert, der im Ergebnis von list angezeigt wird.

Mit PHP erstellen, anzeigen und löschen

Wenn Sie sie aus einem Plugin o. Ä. verwalten, verwenden Sie die Klasse WP_Application_Passwords.

<?php
$user_id = 2; // ID des Zielbenutzers

// Erstellen. Bei Erfolg wird ein Array [Passwort im Klartext, gespeicherte Informationen] zurückgegeben
$result = WP_Application_Passwords::create_new_application_password(
	$user_id,
	array( 'name' => 'Beitrags-Skript' )
);

if ( is_wp_error( $result ) ) {
	error_log( $result->get_error_message() );
} else {
	list( $password, $item ) = $result;
	// $password liegt im Klartext vor. Er ist nur jetzt abrufbar, geben Sie ihn daher auf sicherem Weg an den Nutzer weiter
	error_log( 'created: ' . $item['uuid'] );
}

// Liste abrufen (name, uuid, created, last_used, last_ip usw.)
foreach ( WP_Application_Passwords::get_user_application_passwords( $user_id ) as $item ) {
	error_log( $item['name'] . ' ' . $item['uuid'] );
}

// Eines löschen
// WP_Application_Passwords::delete_application_password( $user_id, $uuid );

Gespeichert wird nur der Hash-Wert; das Passwort im Klartext lässt sich nur im Moment der Erstellung abrufen.

Mit der REST API verwenden

Bei curl fügen Sie die Basic-Authentifizierung mit -u Benutzername:Anwendungspasswort hinzu. Prüfen Sie zuerst, ob Ihre eigenen Informationen als authentifizierter Benutzer zurückgegeben werden.

# Prüfen, ob die Authentifizierung funktioniert (Erfolg, wenn die eigenen Benutzerinformationen zurückkommen)
curl -u "admin:abcd EFGH 1234 ijkl MNOP 6789" https://example.com/wp-json/wp/v2/users/me

# Einen Beitrag als Entwurf anlegen
curl -u "admin:abcd EFGH 1234 ijkl MNOP 6789" \
  -X POST https://example.com/wp-json/wp/v2/posts \
  -H "Content-Type: application/json" \
  -d '{"title":"Testbeitrag","content":"Inhalt","status":"draft"}'

Wenn Sie aus PHP die REST API einer anderen WordPress-Website aufrufen, bauen Sie den Authorization-Header selbst zusammen.

<?php
$response = wp_remote_get(
	'https://example.com/wp-json/wp/v2/users/me',
	array(
		'headers' => array(
			'Authorization' => 'Basic ' . base64_encode( 'admin:abcd EFGH 1234 ijkl MNOP 6789' ),
		),
	)
);

if ( ! is_wp_error( $response ) ) {
	error_log( wp_remote_retrieve_response_code( $response ) );
}

Das Beispielpasswort ist nur ein Platzhalter. Schreiben Sie echte Passwörter nicht direkt in den Code, sondern legen Sie sie an einem nicht öffentlichen Ort ab, etwa in Umgebungsvariablen oder einer Konfigurationsdatei.

Was Sie prüfen, wenn die Authentifizierung nicht klappt

Symptom Was Sie prüfen
Im Profil fehlt der Bereich „Anwendungspasswörter“ Ob die Website HTTPS verwendet. Ob die Funktion über Filter oder Plugins deaktiviert wurde
/wp/v2/users/me gibt 401 zurück Ob der Benutzername stimmt (der Login-Name, nicht der angezeigte Name). Ob das Passwort widerrufen wurde
Trotz richtiger Angaben gilt man als nicht angemeldet Möglicherweise reicht der Server den Authorization-Header nicht an PHP weiter. Prüfen Sie bei Apache, ob die Zeile RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] in der .htaccess von WordPress noch vorhanden ist
Nur bei einigen URLs schlägt es fehl Ob Sicherheits-Plugins oder eine WAF die REST API einschränken

Allgemeine Fehler der REST API erklärt „REST-API-Fehler beheben“.

Anwendungspasswörter deaktivieren

Auf Websites, die sie nicht verwenden, können Sie die Funktion insgesamt deaktivieren. Schreiben Sie dazu den Code in die functions.php des Themes oder in ein eigenes Plugin.

<?php
// Für die gesamte Website deaktivieren
add_filter( 'wp_is_application_passwords_available', '__return_false' );

Wenn Sie sie nur bestimmten Benutzern erlauben wollen, verwenden Sie den Filter pro Benutzer. Das folgende Beispiel erlaubt sie nur Benutzern mit Administratorrechten (manage_options).

<?php
add_filter( 'wp_is_application_passwords_available_for_user', function ( $available, $user ) {
	return $available && user_can( $user, 'manage_options' );
}, 10, 2 );

Wie Sie den Zugriff auf die REST API selbst einschränken, lesen Sie unter „Den Zugriff auf die REST API einschränken“.

Hinweise für den Betrieb

  • Erstellen Sie für jedes Tool ein eigenes Passwort und wählen Sie den Namen so, dass der Zweck erkennbar ist. Wird eines bekannt, können Sie nur das Passwort dieses Tools widerrufen.
  • Widerrufen Sie Passwörter von Tools, die Sie nicht mehr nutzen, sofort. Bei Einträgen, deren letzte Verwendung in der Liste lange zurückliegt, werden sie möglicherweise nicht mehr genutzt.
  • Prüfen Sie, ob Sie das Passwort eines Administrators überhaupt an einen externen Dienst weitergeben müssen, und erstellen Sie es für einen Benutzer, der nur die nötigen Berechtigungen hat.

Fragen zu WordPress? Der Betreiber dieser Seite sitzt in Japan und antwortet auf Japanisch. Kontakt (Japanisch)

お気軽にご相談ください

お見積りへ お問い合わせへ
▲