2026年5月20日
2026年5月20日
WordPressのアプリケーションパスワードを管理する方法
はじめに
WordPress 5.6から導入されたアプリケーションパスワードは、REST APIや外部ツールに対してメインパスワードを共有せずに認証を付与できる機能です。不要になったら個別に削除できるため、セキュリティ管理が容易です。
解決手順
ステップ1:管理画面でアプリケーションパスワードを作成する
1. ユーザー → プロフィール を開く
2. ページ下部「アプリケーションパスワード」セクションまでスクロール
3. アプリケーション名を入力(例:「Zapier連携」「投稿スクリプト」)
4. 「新しいアプリケーションパスワードを追加」をクリック
5. 表示される24文字のパスワードをコピー(再表示不可)
ステップ2:WP-CLIでアプリケーションパスワードを管理する
# アプリケーションパスワードを作成
wp user application-password create username "My App"
# 作成済みアプリケーションパスワード一覧を表示
wp user application-password list username
# 特定のアプリケーションパスワードを削除
wp user application-password delete username {uuid}
# 全アプリケーションパスワードを削除
wp user application-password delete username --all
ステップ3:コードでアプリケーションパスワードを管理する
// アプリケーションパスワードを作成
$result = WP_Application_Passwords::create_new_application_password(
$user_id,
['name' => 'My External App']
);
if (!is_wp_error($result)) {
[$password, $item] = $result;
// $password は平文パスワード(一度しか取得できない)
// $item には uuid, name, created 等が含まれる
error_log('Created: ' . $item['uuid']);
}
// アプリケーションパスワード一覧を取得
$passwords = WP_Application_Passwords::get_user_application_passwords($user_id);
foreach ($passwords as $item) {
// $item['uuid'], $item['name'], $item['last_used'], $item['last_ip']
}
// 特定のアプリケーションパスワードを削除
WP_Application_Passwords::delete_application_password($user_id, $uuid);
ステップ4:REST APIでアプリケーションパスワードを使用する
# Basic認証でREST APIを呼び出す(ユーザー名 + アプリケーションパスワード)
curl -u "username:xxxx xxxx xxxx xxxx xxxx xxxx" \
https://example.com/wp-json/wp/v2/posts
# PHPでREST APIを呼び出す
$response = wp_remote_get('https://example.com/wp-json/wp/v2/posts', [
'headers' => [
'Authorization' => 'Basic ' . base64_encode('username:app-password-here'),
],
]);
ステップ5:アプリケーションパスワード機能を無効化する
// functions.php — アプリケーションパスワード機能を完全に無効化
add_filter('wp_is_application_passwords_available', '__return_false');
// 特定ロールのみ許可(管理者のみ)
add_filter('wp_is_application_passwords_available_for_user', function($available, $user) {
return user_can($user, 'manage_options');
}, 10, 2);
注意事項
- アプリケーションパスワードはSSL(HTTPS)環境でのみ使用できます。HTTP環境では管理画面に表示されません
- パスワードは作成時の1回しか表示されません。必ずコピーして安全な場所に保管してください
- 不要になったアプリケーションパスワードは即座に削除してください
まとめ
アプリケーションパスワードはWordPress 5.6以降でREST API連携に最適な認証手段です。管理画面のプロフィールページから簡単に作成・削除でき、WP-CLIや WP_Application_Passwords クラスを使えばコードからも管理できます。