पब्लिश किया गया: 09 मई, 2025
पासकी, फ़िशिंग से बचने के लिए सबसे मज़बूत तरीके से पुष्टि करती हैं. हालांकि, उपयोगकर्ताओं को इनका इस्तेमाल करने के लिए मनाना मुश्किल हो सकता है. पासकी अपग्रेड की सुविधा की मदद से, सही समय पर अपने उपयोगकर्ताओं के लिए पासकी बनाई जा सकती हैं. हालांकि, इसके लिए ज़रूरी है कि उनके पास आपकी साइट के लिए पहले से पासवर्ड सेव हो. शर्तों के साथ पासकी बनाने की सुविधा, WebAuthn स्पेसिफ़िकेशन का हिस्सा है. इससे पासकी को अपग्रेड किया जा सकता है.
यह कैसे काम करता है
उपयोगकर्ताओं को पासकी को आसानी से अपनाने में मदद करने के लिए, WebAuthn एपीआई की शर्तों के साथ पासकी बनाना सुविधा का इस्तेमाल करें. शर्त के साथ पासकी बनाने की सुविधा की मदद से, आपकी साइट उपयोगकर्ता के लिए पासकी का अनुरोध कर सकती है. इसके लिए, उपयोगकर्ता को कोई कार्रवाई करने की ज़रूरत नहीं होती.
यह फ़्लो तब काम करता है, जब ये शर्तें पूरी होती हैं:
- उपयोगकर्ता के पास अपने डिफ़ॉल्ट पासवर्ड मैनेजर में सेव किया गया पासवर्ड हो.
- पासवर्ड का इस्तेमाल हाल ही में किया गया हो. आम तौर पर, पासवर्ड के ज़रिए लॉगिन करने के तुरंत बाद, शर्त के साथ डेटा बनाने का फ़ंक्शन कॉल करें.
अगर दोनों शर्तें पूरी होती हैं, तो पासवर्ड मैनेजर से उपयोगकर्ता के लिए पासकी बनाने का अनुरोध किया जा सकता है. इसके लिए, 'शर्त के हिसाब से बनाएं' सुविधा का इस्तेमाल करें. पासकी बनाने के बाद, उपयोगकर्ता को इसकी सूचना दी जाती है. यह सूचना, पासवर्ड मैनेज करने वाले ऐप्लिकेशन के हिसाब से दी जाती है.
इनके साथ काम करता है
शर्त के हिसाब से बनाए जाने की सुविधा, macOS और iOS पर Safari के साथ-साथ डेस्कटॉप पर Chrome पर भी काम करती है.
शर्त के हिसाब से डेटा बनाने की सुविधा लागू करना
पासकी अपग्रेड, WebAuthn API की Conditional
Create सुविधा पर आधारित होते हैं. ये सामान्य WebAuthn create()
अनुरोध होते हैं. इनमें mediation
पैरामीटर को "conditional"
पर सेट किया जाता है. ये get()
अनुरोधों के लिए, पासकी ऑटोमैटिक भरने की सुविधा की तरह ही काम करते हैं.
उपयोगकर्ता के पासवर्ड से साइन इन करने के बाद, शर्त के साथ डेटा बनाने की सुविधा का इस्तेमाल करें. Password Manager को अपग्रेड किया जा सकता है या नहीं, यह इस बात पर निर्भर करता है कि Password Manager और कुछ शर्तें पूरी की जा रही हैं या नहीं. ये शर्तें, पासवर्ड मैनेजर के हिसाब से अलग-अलग हो सकती हैं. साथ ही, इनमें समय के साथ बदलाव हो सकता है. उदाहरण के लिए, 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
: पासकी देने वाली सेवा में पासकी पहले से मौजूद है.NotAllowedError
: पासकी बनाने की शर्त पूरी नहीं होती.AbortError
: WebAuthn कॉल को रोक दिया गया है.
इन मामलों में गड़बड़ियां दिखाने से, उपयोगकर्ता को भ्रम हो सकता है, क्योंकि ब्राउज़र इन्हें चुपचाप मैनेज करता है: यह सिर्फ़ सफल होने पर सूचना दिखाता है और गड़बड़ियों पर दिखने वाले मैसेज ट्रिगर नहीं करता.
पासकी रजिस्टर न होने पर सिग्नल
जब पासकी बनाई जाती है, लेकिन उसे सर्वर पर रजिस्टर नहीं किया जा सकता, तो उपयोगकर्ता को साइन इन करने में समस्या आती है. ऐसा तब हो सकता है, जब पासकी देने वाली कंपनी और सर्वर के पास पासकी की अलग-अलग सूचियां हों.
ऐसी स्थितियों से बचने के लिए, Signal API का इस्तेमाल करके उन्हें एक जैसा रखें.
बिना पासवर्ड के साइन इन करने की सुविधा से अपग्रेड करने की सुविधा उपलब्ध नहीं है
इस समय, शर्तों के हिसाब से पासकी बनाने के लिए, उपयोगकर्ता को मान्य पासवर्ड डालना होगा. इसका मतलब है कि पासवर्ड के बिना साइन इन करने के तरीके, जैसे कि मैजिक लिंक, फ़ोन नंबर की पुष्टि या पहचान की पुष्टि करने की सुविधा, इस शर्त को पूरा नहीं करती.
खास जानकारी
पासकी को अपग्रेड करने से, आपकी वेबसाइट पर पासकी का इस्तेमाल तेज़ी से शुरू हो सकता है. इससे, आपकी वेबसाइट के उपयोगकर्ताओं को पासवर्ड से पुष्टि करने के बजाय, पुष्टि करने के ज़्यादा सुरक्षित तरीके का इस्तेमाल करने में मदद मिलती है.
पासकी के बारे में ज़्यादा जानने के लिए, पासकी की मदद से पासवर्ड के बिना लॉगिन करना लेख पढ़ें.