उपयोगकर्ताओं को पासकी को आसानी से इस्तेमाल करने में मदद करना

पब्लिश किया गया: 09 मई, 2025

पासकी, फ़िशिंग से बचने के लिए पुष्टि करने का एक सुरक्षित तरीका है. हालांकि, उपयोगकर्ताओं को इन सुविधाओं का इस्तेमाल करने के लिए कहना मुश्किल हो सकता है. पासकी अपने-आप जनरेट होने की सुविधा की मदद से, सही समय पर अपने उपयोगकर्ताओं के लिए पासकी जनरेट की जा सकती हैं. हालांकि, इसके लिए ज़रूरी है कि उन्होंने आपकी साइट के लिए पहले से कोई पासवर्ड सेव किया हो. कंडिशनल क्रिएट, WebAuthn स्पेसिफ़िकेशन का हिस्सा है. इससे पासकी अपने-आप जनरेट हो जाती है.

यह कैसे काम करता है

उपयोगकर्ताओं को पासकी का इस्तेमाल करने में आसानी हो, इसके लिए WebAuthn API की Conditional Create सुविधा का इस्तेमाल करें. शर्त के साथ पासकी बनाने की सुविधा की मदद से, आपकी साइट उपयोगकर्ता से पासकी का अनुरोध कर सकती है. इसके लिए, उपयोगकर्ता को कोई कार्रवाई करने की ज़रूरत नहीं होती.

यह फ़्लो तब काम करता है, जब ये शर्तें पूरी होती हैं:

  • उपयोगकर्ता ने अपने डिफ़ॉल्ट Password Manager में पासवर्ड सेव किया हो.
  • हाल ही में इस पासवर्ड का इस्तेमाल किया गया हो. आदर्श रूप से, पासवर्ड के आधार पर लॉगिन हो जाने के तुरंत बाद, Conditional Create को कॉल करें.

अगर ये दोनों शर्तें पूरी होती हैं, तो पासवर्ड मैनेजर से उपयोगकर्ता के लिए पासकी बनाने का अनुरोध किया जा सकता है. इसके लिए, Conditional Create को कॉल करें. पासकी बन जाने के बाद, उपयोगकर्ता को पासवर्ड मैनेजर के हिसाब से सूचना दी जाती है.

शर्तों के साथ पासकी बनाने का अनुरोध करने का फ़्लो.

इनके साथ काम करता है

कंडीशनल क्रिएट की सुविधा, macOS पर Safari और iOS पर सभी ब्राउज़र के साथ-साथ डेस्कटॉप पर Chrome और Android पर Chrome पर काम करती है.

शर्त के आधार पर खाता बनाने की सुविधा लागू करना

पासकी अपने-आप बनने की सुविधा, WebAuthn API की एक सुविधा पर आधारित होती है. इसे शर्त के साथ पासकी बनाना कहा जाता है. ये सामान्य WebAuthn create() अनुरोध हैं. इनमें mediation पैरामीटर को "conditional" पर सेट किया जाता है. यह get() अनुरोधों के लिए, पासकी अपने-आप भरने की सुविधा की तरह काम करता है.

उपयोगकर्ता के पासवर्ड से साइन इन करने के बाद, शर्त के साथ खाता बनाने की सुविधा का इस्तेमाल करें. पासवर्ड मैनेजर और कुछ शर्तों के पूरा होने पर ही, पासवर्ड बनाया जा सकता है. ये शर्तें, पासवर्ड मैनेजर के हिसाब से अलग-अलग हो सकती हैं. साथ ही, इनमें समय के साथ बदलाव हो सकता है. उदाहरण के लिए, Google Password Manager (GPM) के साथ Chrome में, उपयोगकर्ता को हाल ही में साइट के लिए सेव किए गए पासवर्ड का इस्तेमाल करके साइन इन करना होगा.

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

फ़ीचर का पता लगाने की सुविधा

PublicKeyCredential.getClientCapabilities() को लागू करके, यह पता लगाया जा सकता है कि ब्राउज़र पर कंडीशनल क्रिएट उपलब्ध है या नहीं. देखें कि क्या दिखाए गए ऑब्जेक्ट में true प्रॉपर्टी के लिए conditionalCreate मौजूद है.

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

उपयोगकर्ता के साइन इन करने के तुरंत बाद, पासकी अपने-आप बनने की सुविधा का इस्तेमाल करना चाहिए. इससे, पासकी अपने-आप बनने की सुविधा के लिए, Password Manager की ज़रूरी शर्तें पूरी होने की संभावना बढ़ जाती है.

सर्वर को सार्वजनिक पासकोड क्रेडेंशियल भेजा जा सकता है, ताकि पासकी की पुष्टि की जा सके और उसे रजिस्टर किया जा सके. सर्वर पर, पक्का करें कि उपयोगकर्ता ने साइन इन किया हो.

चेतावनियां

शर्त के हिसाब से क्रिएट करने की सुविधा को लागू करना मुश्किल नहीं है. हालांकि, इस सुविधा को किसी मौजूदा सिस्टम में इंटिग्रेट करते समय कई बातों का ध्यान रखना होता है.

सर्वर पर उपयोगकर्ता की मौजूदगी और उपयोगकर्ता की पुष्टि को अनदेखा करें

रजिस्ट्रेशन के जवाब में, "उपयोगकर्ता की मौजूदगी" और "उपयोगकर्ता की पुष्टि हो चुकी है", दोनों को 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 कॉल को रद्द कर दिया गया है.

इन मामलों में गड़बड़ियां दिखाने से उपयोगकर्ता भ्रमित हो सकता है, क्योंकि ब्राउज़र इन्हें चुपचाप हैंडल करता है: यह सिर्फ़ सफल होने पर सूचना दिखाता है, और विफलताओं से दिखने वाले मैसेज ट्रिगर नहीं होते हैं.

पासकी रजिस्टर करने में गड़बड़ी होने पर सिग्नल

जब पासकी बन जाती है, लेकिन सर्वर पर रजिस्टर नहीं हो पाती, तो उपयोगकर्ता को साइन इन करने में समस्या आती है. ऐसा तब हो सकता है, जब पासकी उपलब्ध कराने वाली कंपनी और सर्वर के बीच पासकी की सूची में अंतर हो.

ऐसी स्थितियों से बचने के लिए, सिग्नल एपीआई का इस्तेमाल करके, उन्हें एक जैसा रखें.

बिना पासवर्ड के साइन इन करने की सुविधा से अपग्रेड नहीं किया जा सकता

इस समय, पासकी बनाने की सुविधा सिर्फ़ तब उपलब्ध होती है, जब उपयोगकर्ता मान्य पासवर्ड डालता है. इसका मतलब है कि बिना पासवर्ड के साइन इन करने के तरीके, जैसे कि मैजिक लिंक, फ़ोन नंबर की पुष्टि या आइडेंटिटी फ़ेडरेशन, इस शर्त को पूरा नहीं करेंगे.

खास जानकारी

पासकी अपने-आप बनने की सुविधा से, आपकी वेबसाइट पर पासकी को तेज़ी से अपनाया जा सकता है. इससे, आपकी वेबसाइट के उपयोगकर्ताओं को पासवर्ड से ज़्यादा सुरक्षित पुष्टि करने के तरीके पर स्विच करने में मदद मिलती है.

पासकी के बारे में ज़्यादा जानने के लिए, पासकी की मदद से बिना पासवर्ड के लॉगिन करना लेख पढ़ें.