2026年11月12日

2026年11月12日

WordPress एप्लिकेशन पासवर्ड क्या है: बनाना, हटाना और REST API में उपयोग

यह लेख जापानी मूल लेख का स्थानीयकृत संस्करण है। जापानी मूल लेख पढ़ें

एप्लिकेशन पासवर्ड WordPress 5.6 में जोड़ा गया वह अलग पासवर्ड है जो REST API और बाहरी टूल को दिया जाता है। इससे असली लॉगिन पासवर्ड बताना नहीं पड़ता, हर टूल के लिए अलग पासवर्ड बनाया जा सकता है, और जो ज़रूरी न रहे सिर्फ़ उसे रद्द किया जा सकता है। इस लेख में इस्तेमाल की शर्तें, बनाने और हटाने के तरीके (एडमिन स्क्रीन, WP-CLI, PHP), REST API में इस्तेमाल और न चलने पर जाँचने की बातें बताई गई हैं। जानकारी नवंबर 2026 में WordPress के डेवलपर दस्तावेज़ और सोर्स कोड से जाँची गई है।

एप्लिकेशन पासवर्ड से क्या हो सकता है और क्या नहीं

  • इसे REST API और XML-RPC के प्रमाणीकरण में इस्तेमाल किया जा सकता है। REST API में उपयोगकर्ता नाम और एप्लिकेशन पासवर्ड Basic ऑथेंटिकेशन से भेजे जाते हैं।
  • एडमिन स्क्रीन में लॉगिन (wp-login.php) के लिए इसे इस्तेमाल नहीं किया जा सकता। यह इंसान के लॉगिन के लिए नहीं, प्रोग्राम और टूल के लिए है।
  • अनुमतियाँ वही होती हैं जो इसे बनाने वाले उपयोगकर्ता की हैं। एडमिन ने बनाया तो उस पासवर्ड वाला टूल एडमिन जैसे सारे काम कर सकता है। सिर्फ़ पोस्ट का काम सौंपना हो तो लेखक (Author) या संपादक (Editor) का उपयोगकर्ता बनाकर उसी से पासवर्ड बनाएँ।
  • इन्हें एक-एक करके रद्द किया जा सकता है। आख़िरी बार इस्तेमाल का समय और IP पता भी दर्ज होता है।

इस्तेमाल की शर्तें

एप्लिकेशन पासवर्ड मानक रूप से सिर्फ़ HTTPS वाली साइट पर, या उस साइट पर इस्तेमाल हो सकता है जिसका वातावरण प्रकार local हो। WordPress की जाँच यह है (wp_is_application_passwords_supported())।

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

सिर्फ़ HTTP वाली साइट में प्रोफ़ाइल स्क्रीन पर यह मद नहीं दिखती, क्योंकि तब पासवर्ड बिना एन्क्रिप्शन के संचार में भेजा जाता।

एडमिन स्क्रीन से बनाएँ

  1. “उपयोगकर्ता → प्रोफ़ाइल” (Users → Profile) खोलें (दूसरे उपयोगकर्ता के लिए “उपयोगकर्ता → सभी उपयोगकर्ता” (Users → All Users) से उस उपयोगकर्ता को संपादित करें)।
  2. नीचे की तरफ़ “एप्लिकेशन पासवर्ड” (Application Passwords) वाले हिस्से में “नए एप्लिकेशन पासवर्ड का नाम” (New Application Password Name) में ऐसा नाम डालें जिससे उपयोग समझ आए (जैसे: पोस्ट वाली स्क्रिप्ट, Zapier)।
  3. “नया एप्लिकेशन पासवर्ड जोड़ें” (Add New Application Password) दबाएँ (वर्शन के अनुसार लिखावट थोड़ी अलग हो सकती है)।
  4. दिखाए गए 24 अक्षर के पासवर्ड को नोट कर लें। इस स्क्रीन से हटते ही यह दोबारा नहीं दिखता।

पासवर्ड abcd EFGH 1234 ijkl MNOP 6789 की तरह हर 4 अक्षर पर ख़ाली जगह के साथ दिखता है, पर ख़ाली जगह हो या न हो, प्रमाणीकरण हो जाता है।

रद्द करना हो तो उसी हिस्से की सूची में संबंधित पंक्ति का रद्द करने का बटन दबाएँ। “सभी एप्लिकेशन पासवर्ड रद्द करें” (Revoke all application passwords) से सबको एक साथ भी रद्द किया जा सकता है।

WP-CLI से बनाएँ, देखें और हटाएँ

# बनाएँ (सिर्फ़ पासवर्ड दिखाना हो तो --porcelain)
wp user application-password create admin "पोस्ट वाली स्क्रिप्ट" --porcelain

# सूची दिखाएँ (uuid हटाने में इस्तेमाल होता है)
wp user application-password list admin --fields=uuid,name,created,last_used,last_ip

# एक हटाएँ
wp user application-password delete admin 6633824d-c1d7-4f79-9dd5-4586f734d69e

# उस उपयोगकर्ता के सभी हटाएँ
wp user application-password delete admin --all

admin की जगह उपयोगकर्ता नाम, ईमेल पता या उपयोगकर्ता ID में से कुछ भी दिया जा सकता है। uuid को list के नतीजे में दिखने वाले मान से बदलें।

PHP से बनाएँ, देखें और हटाएँ

प्लगइन आदि से इस्तेमाल करना हो तो WP_Application_Passwords क्लास इस्तेमाल करें।

<?php
$user_id = 2; // लक्षित उपयोगकर्ता की ID

// बनाएँ। सफल होने पर [सादा पासवर्ड, सहेजी गई जानकारी] का ऐरे लौटता है
$result = WP_Application_Passwords::create_new_application_password(
	$user_id,
	array( 'name' => 'पोस्ट वाली स्क्रिप्ट' )
);

if ( is_wp_error( $result ) ) {
	error_log( $result->get_error_message() );
} else {
	list( $password, $item ) = $result;
	// $password सादा पाठ है। यह सिर्फ़ इसी समय मिलता है, इसलिए इसे सुरक्षित तरीके से उपयोगकर्ता को दें
	error_log( 'created: ' . $item['uuid'] );
}

// सूची लें (name, uuid, created, last_used, last_ip आदि)
foreach ( WP_Application_Passwords::get_user_application_passwords( $user_id ) as $item ) {
	error_log( $item['name'] . ' ' . $item['uuid'] );
}

// एक हटाएँ
// WP_Application_Passwords::delete_application_password( $user_id, $uuid );

सहेजा हुआ सिर्फ़ हैश किया हुआ मान होता है, और सादा पासवर्ड सिर्फ़ बनाने के क्षण में ही निकाला जा सकता है।

REST API में इस्तेमाल करें

curl में -u उपयोगकर्ता नाम:एप्लिकेशन पासवर्ड से Basic ऑथेंटिकेशन लगाया जाता है। पहले यह जाँचें कि प्रमाणित उपयोगकर्ता के रूप में अपनी जानकारी लौटती है या नहीं।

# जाँचें कि प्रमाणीकरण हो रहा है (अपनी उपयोगकर्ता जानकारी लौटे तो सफल)
curl -u "admin:abcd EFGH 1234 ijkl MNOP 6789" https://example.com/wp-json/wp/v2/users/me

# ड्राफ़्ट पोस्ट बनाएँ
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":"टेस्ट पोस्ट","content":"मुख्य पाठ","status":"draft"}'

PHP से किसी दूसरी WordPress साइट का REST API बुलाना हो तो Authorization हेडर ख़ुद बनाना होता है।

<?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 ) );
}

उदाहरण का पासवर्ड नमूना है। असली पासवर्ड को कोड में सीधे न लिखें; उसे पर्यावरण वेरिएबल या कॉन्फ़िगरेशन फ़ाइल जैसी ऐसी जगह रखें जो सार्वजनिक न हो।

प्रमाणीकरण न हो तो जाँचने की बातें

लक्षण क्या जाँचें
प्रोफ़ाइल में “एप्लिकेशन पासवर्ड” वाला हिस्सा नहीं है साइट HTTPS पर है या नहीं। फ़िल्टर या प्लगइन से इसे बंद तो नहीं किया गया
/wp/v2/users/me पर 401 आता है उपयोगकर्ता नाम सही है या नहीं (प्रदर्शित नाम नहीं, लॉगिन नाम)। पासवर्ड रद्द तो नहीं हो गया
सही होने पर भी लॉगिन के बिना माना जाता है हो सकता है सर्वर Authorization हेडर PHP को न दे रहा हो। Apache में WordPress की .htaccess की RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] वाली पंक्ति बची है या नहीं, यह जाँचें
कुछ ही URL पर विफल होता है सिक्योरिटी प्लगइन या WAF ने REST API को सीमित तो नहीं किया

REST API की त्रुटियों की सामान्य जानकारी “REST API की त्रुटि ठीक करने का तरीका” में है।

एप्लिकेशन पासवर्ड बंद करें

जिस साइट पर इस्तेमाल न हो, वहाँ पूरी सुविधा बंद की जा सकती है। इसे थीम के functions.php या अपने प्लगइन में लिखें।

<?php
// पूरी साइट पर बंद करें
add_filter( 'wp_is_application_passwords_available', '__return_false' );

सिर्फ़ ख़ास उपयोगकर्ताओं को अनुमति देनी हो तो हर उपयोगकर्ता वाला फ़िल्टर इस्तेमाल करें। नीचे का उदाहरण सिर्फ़ एडमिन अनुमति (manage_options) वाले उपयोगकर्ताओं को अनुमति देता है।

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

REST API तक पहुँच को ही सीमित करने का तरीका “REST API तक पहुँच सीमित करने का तरीका” में देखें।

संचालन की सावधानियाँ

  • हर टूल के लिए अलग पासवर्ड बनाएँ और नाम से उपयोग साफ़ रखें। लीक होने पर सिर्फ़ उसी टूल वाला रद्द किया जा सकता है।
  • जो टूल इस्तेमाल में नहीं रहा, उसका पासवर्ड तुरंत रद्द करें। सूची में जिनके आख़िरी इस्तेमाल का समय पुराना है, वे शायद इस्तेमाल नहीं हो रहे।
  • जाँचें कि क्या एडमिन का पासवर्ड बाहरी सेवा को देना सच में ज़रूरी है, और सिर्फ़ ज़रूरी अनुमतियों वाले उपयोगकर्ता से पासवर्ड बनाएँ।

WordPress के बारे में सवाल हैं? इस साइट के प्रकाशक जापान में हैं और जापानी में जवाब देते हैं। संपर्क (जापानी)

お気軽にご相談ください

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