पब्लिश की गई: 9 मई, 2025, आखिरी बार अपडेट की गई: 22 दिसंबर, 2025
पासकी, फ़िशिंग से सुरक्षित और मज़बूत पुष्टि की सुविधा देती हैं. हालांकि, उपयोगकर्ताओं को पासकी इस्तेमाल करने के लिए राजी करने में मुश्किल आ सकती है. पासकी अपने-आप बनने की सुविधा की मदद से, उपयोगकर्ताओं के लिए सही समय पर पासकी बनाई जा सकती हैं. हालांकि, इसके लिए यह ज़रूरी है कि आपकी साइट के लिए उनका पासवर्ड पहले से सेव हो. शर्त के हिसाब से पासकी बनाने की सुविधा, WebAuthn की खास जानकारी का हिस्सा है. इसकी मदद से, पासकी अपने-आप बनने की सुविधा चालू की जा सकती है.
यह कैसे काम करता है
उपयोगकर्ताओं को पासकी इस्तेमाल करने में आसानी हो, इसके लिए WebAuthn API की शर्त के हिसाब से पासकी बनाने की सुविधा का इस्तेमाल करें. शर्त के हिसाब से पासकी बनाने की सुविधा की मदद से, आपकी साइट उपयोगकर्ता से कोई कार्रवाई कराए बिना, उसके लिए पासकी का अनुरोध कर सकती है.
यह सुविधा, इन शर्तों के पूरा होने पर काम करती है:
- उपयोगकर्ता ने अपने डिफ़ॉल्ट पासवर्ड मैनेजर में पासवर्ड सेव किया हो.
- पासवर्ड का इस्तेमाल हाल ही में किया गया हो. सबसे सही तरीका यह है कि पासवर्ड के ज़रिए लॉगिन करने के बाद, तुरंत शर्त के हिसाब से पासकी बनाने की सुविधा का इस्तेमाल किया जाए.
अगर ये दोनों शर्तें पूरी होती हैं, तो शर्त के हिसाब से पासकी बनाने की सुविधा का इस्तेमाल करके, पासवर्ड मैनेजर से उपयोगकर्ता के लिए पासकी बनाने का अनुरोध किया जा सकता है. पासकी बन जाने के बाद, पासवर्ड मैनेजर के हिसाब से उपयोगकर्ता को इसकी सूचना दी जाती है.
इनके साथ काम करता है
शर्त के हिसाब से पासकी बनाने की सुविधा, macOS पर Safari और iOS पर सभी ब्राउज़र के साथ-साथ, डेस्कटॉप पर Chrome और Android पर Chrome पर काम करती है.
इसका मतलब है कि यह सुविधा, पासकी सेव करने की डिफ़ॉल्ट सुविधा देने वाले इन प्लैटफ़ॉर्म पर काम करती है: macOS और iOS पर Safari के लिए iCloud Keychain (पासवर्ड) और डेस्कटॉप और Android पर Chrome के लिए Google Password Manager.
iOS 18 या इसके बाद के वर्शन और Android 14 या इसके बाद के वर्शन में, तीसरे पक्ष के पासकी सेव करने की सुविधा देने वाले प्लैटफ़ॉर्म इस्तेमाल किए जा सकते हैं. इसलिए, उपयोगकर्ता जिस भी ब्राउज़र का इस्तेमाल करे, शर्त के हिसाब से पासकी बनाने की सुविधा, पासकी सेव करने की सुविधा देने वाले प्लैटफ़ॉर्म पर काम करेगी. अगर पासकी सेव करने की सुविधा देने वाले प्लैटफ़ॉर्म पर, शर्त के हिसाब से पासकी बनाने की सुविधा काम नहीं करती है, तो नई पासकी नहीं बनेगी.
शर्त के हिसाब से पासकी बनाने की सुविधा लागू करना
पासकी अपने-आप बनने की सुविधा, WebAuthn API की शर्त के हिसाब से पासकी बनाने की सुविधा पर आधारित है. ये, WebAuthn के सामान्य create() अनुरोध होते हैं. इनमें the
mediation पैरामीटर को "conditional" पर सेट किया जाता है. यह passkey
autofill के लिए, get() अनुरोधों की तरह काम करता है.
उपयोगकर्ता के पासवर्ड से साइन इन करने के बाद, शर्त के हिसाब से पासकी बनाने की सुविधा का इस्तेमाल करें. पासकी बनेगी या नहीं, यह पासवर्ड मैनेजर और कुछ शर्तों के पूरा होने पर निर्भर करता है. ये शर्तें, पासवर्ड मैनेजर के हिसाब से अलग-अलग हो सकती हैं और इनमें समय के साथ बदलाव हो सकता है. उदाहरण के लिए, Google Password Manager (GPM) के साथ Chrome में, उपयोगकर्ता ने हाल ही में साइट के लिए सेव किए गए पासवर्ड का इस्तेमाल करके साइन इन किया हो.
अगर ब्राउज़र, पासकी बना लेता है, तो वह सार्वजनिक पासकोड क्रेडेंशियल दिखाता है. रजिस्ट्रेशन पूरा करने और आने वाले समय में पुष्टि की सुविधा चालू करने के लिए, इस क्रेडेंशियल को अपने बैकएंड पर भेजें.
सुविधा की पहचान करना
PublicKeyCredential.getClientCapabilities() को लागू करके, यह पता लगाया जा सकता है कि ब्राउज़र पर शर्त के हिसाब से पासकी बनाने की सुविधा उपलब्ध है या नहीं. देखें कि दिखाए गए ऑब्जेक्ट में, conditionalCreate प्रॉपर्टी के लिए true है या नहीं.
if (window.PublicKeyCredential && PublicKeyCredential.getClientCapabilities) {
const capabilities = await PublicKeyCredential.getClientCapabilities();
if (capabilities.conditionalCreate) {
// Conditional create is available
}
}
अगर getClientCapabilities उपलब्ध नहीं है, तो शर्त के हिसाब से पासकी बनाने की सुविधा भी उपलब्ध नहीं होगी.
शर्त के हिसाब से पासकी बनाना
पासकी अपने-आप बनाने के लिए,
navigator.credentials.create() को लागू करें. हालांकि, इसमें mediation: "conditional" इस तरह जोड़ें.
const cred = await navigator.credentials.create({
publicKey: options,
// Request conditional creation
mediation: 'conditional'
});
उपयोगकर्ता के साइन इन करने के तुरंत बाद, पासकी अपने-आप बनने की सुविधा का इस्तेमाल करें. इससे, पासकी अपने-आप बनने के लिए, पासवर्ड मैनेजर की शर्तों को पूरा करने की संभावना बढ़ जाती है.
पासकी की पुष्टि करने और उसे रजिस्टर करने के लिए, सार्वजनिक पासकोड क्रेडेंशियल को सर्वर पर भेजा जा सकता है . सर्वर पर, पक्का करें कि उपयोगकर्ता ने साइन इन किया हो.
चेतावनियां
शर्त के हिसाब से पासकी बनाने की सुविधा को लागू करना मुश्किल नहीं है. हालांकि, इस सुविधा को मौजूदा सिस्टम में इंटिग्रेट करते समय, कई चेतावनियां होती हैं.
सर्वर पर, उपयोगकर्ता की मौजूदगी और उपयोगकर्ता की पुष्टि को नज़रअंदाज़ करना
रजिस्ट्रेशन के जवाब में, "उपयोगकर्ता की मौजूदगी" और "उपयोगकर्ता की पुष्टि हो चुकी है", दोनों के लिए
false दिखता है. इसलिए, क्रेडेंशियल की पुष्टि के दौरान, सर्वर को इन फ़्लैग को नज़रअंदाज़ करना चाहिए.
पासकी अपने-आप बनने की सुविधा का इस्तेमाल करने से पहले, WebAuthn के मौजूदा कॉल को रद्द करना
जब आरपी को उम्मीद होती है कि उपयोगकर्ता पासकी या पासवर्ड से साइन इन करेगा, तो शर्त के हिसाब से पासकी पाने की सुविधा का इस्तेमाल करना सबसे सही विकल्प है. इससे, शर्त के हिसाब से पासकी बनाने की सुविधा का इस्तेमाल करने से पहले, शर्त के हिसाब से पासकी पाने की सुविधा का कॉल रद्द हो सकता है.
इसके लिए, आपको AbortController का इस्तेमाल करना होगा और .abort() को कॉल करना होगा.
// To abort a WebAuthn call, instantiate an AbortController.
const controller = new AbortController();
const cred = await navigator.credentials.get({
publicKey: options,
signal: controller.signal,
// Request conditional get
mediation: 'conditional'
});
// Abort the call
controller.abort();
अपवादों को नज़रअंदाज़ करना
शर्त के हिसाब से पासकी बनाने की सुविधा का इस्तेमाल करते समय, कुछ मामलों में अपवादों को नज़रअंदाज़ करना चाहिए:
InvalidStateError: पासकी सेव करने की सुविधा देने वाले प्लैटफ़ॉर्म पर, पासकी पहले से मौजूद है. के बारे में बताना न भूलेंexcludeCredentials.NotAllowedError: पासकी बनाने की शर्त पूरी नहीं हुई है.AbortError: WebAuthn कॉल रद्द कर दिया गया है.
इन मामलों में गड़बड़ियां दिखाने से, उपयोगकर्ता भ्रमित हो सकता है, क्योंकि ब्राउज़र इन्हें चुपचाप हैंडल करता है. यह सिर्फ़ पासकी बनने पर सूचना दिखाता है. पासकी न बनने पर, कोई मैसेज नहीं दिखता.
पासकी रजिस्टर न होने पर सूचना देना
अगर पासकी बन गई है, लेकिन सर्वर पर रजिस्टर नहीं हो पाई है, तो उपयोगकर्ता को साइन इन करने में समस्या आएगी. ऐसा तब हो सकता है, जब पासकी सेव करने की सुविधा देने वाले प्लैटफ़ॉर्म और सर्वर के बीच, पासकी की सूची में अंतर हो.
ऐसी स्थितियों से बचने के लिए, Signal API का इस्तेमाल करके, पासकी की सूची को एक जैसा रखें.
बिना पासवर्ड के साइन इन करने की सुविधा से अपग्रेड करने की सुविधा मौजूद नहीं है
फ़िलहाल, शर्त के हिसाब से पासकी बनाने की सुविधा का इस्तेमाल करने के लिए, उपयोगकर्ता को मान्य पासवर्ड डालना होगा. इसका मतलब है कि बिना पासवर्ड के साइन इन करने के तरीके, जैसे कि मैजिक लिंक, फ़ोन नंबर की पुष्टि करने की सुविधा या आइडेंटिटी फ़ेडरेशन, शर्त को पूरा नहीं करेंगे.
खास जानकारी
पासकी अपने-आप बनने की सुविधा की मदद से, आपकी वेबसाइट पर पासकी इस्तेमाल करने की सुविधा को बढ़ावा दिया जा सकता है. इससे, आपकी वेबसाइट के उपयोगकर्ताओं को पासवर्ड से, पुष्टि के ज़्यादा सुरक्षित तरीके पर माइग्रेट करने में मदद मिलेगी.
पासकी के बारे में ज़्यादा जानने के लिए, पासकी से बिना पासवर्ड के लॉगिन करना लेख पढ़ें.