पब्लिश करने की तारीख: 15 जनवरी, 2025
WebAuthn, हाइब्रिड प्रोटोकॉल के लिए ब्लूटूथ के साथ इंटरैक्ट करने, पासकी देने वाली सेवाओं के साथ बातचीत करने, और ऑटोमैटिक भरने की सुविधा में पासकी का सुझाव देने जैसी खास सुविधाएं देता है. हालांकि, अलग-अलग क्लाइंट और पुष्टि करने वाले टूल, WebAuthn की सुविधाओं के लिए अलग-अलग लेवल की सहायता देते हैं. इस अंतर की वजह से, उपयोगकर्ताओं को अलग-अलग अनुभव मिल सकता है. इसमें, कुछ उपयोगकर्ताओं को गड़बड़ियां दिख सकती हैं या पुष्टि करने के कुछ विकल्पों का इस्तेमाल करने में समस्या आ सकती है. डेवलपर को क्लाइंट की क्षमताओं का पता लगाने का तरीका उपलब्ध कराने से, वे पुष्टि करने के ऐसे बेहतर फ़्लो बना पाते हैं जो इन वैरिएशन के हिसाब से काम करते हैं.
PublicKeyCredential.getClientCapabilities()
तरीके की मदद से, भरोसेमंद पक्ष यह तय कर सकते हैं कि ब्राउज़र पर WebAuthn की कौनसी सुविधाएं काम करती हैं. यह तरीका, काम करने वाली सुविधाओं की सूची दिखाने वाला प्रॉमिस दिखाता है. इससे डेवलपर, क्लाइंट की खास सुविधाओं के आधार पर पुष्टि करने के अनुभव और वर्कफ़्लो को पसंद के मुताबिक बना सकते हैं.
इनके साथ काम करता है
Browser Support
getClientCapabilities()
getClientCapabilities()
एक WebAuthn API है. इसकी मदद से, भरोसेमंद पक्ष यह तय कर सकते हैं कि कौनसी सुविधाएं उपलब्ध हैं. एपीआई का इस्तेमाल करने के लिए, आपको PublicKeyCredential.getClientCapabilities()
को कॉल करना होगा. रिटर्न किया गया प्रॉमिस, एक ऐसे ऑब्जेक्ट में बदल जाता है जिसमें सुविधाएं होती हैं. हर सुविधा के लिए, true
या false
के साथ उसकी उपलब्धता के बारे में बताया जाता है. अगर सुविधा undefined
है, तो मान लें कि इसकी उपलब्धता के बारे में जानकारी नहीं है.
if (window.PublicKeyCredential &&
if (PublicKeyCredential.getClientCapabilities) {
const capabilities = await PublicKeyCredential.getClientCapabilities();
if (capabilities.conditionalGet === true &&
capabilities.passkeyPlatformAuthenticator === true) {
// The browser supports passkeys and the conditional mediation.
}
}
}
conditionalCreate
अगर उपयोगकर्ता ने पहले ही क्रेडेंशियल बनाने की सहमति दी है, तो ब्राउज़र प्रमुख मोडल यूज़र इंटरफ़ेस (यूआई) के बिना क्रेडेंशियल बना सकता है.
conditionalGet
ब्राउज़र, पासकी को प्रमुख मोडल यूज़र इंटरफ़ेस (यूआई) के बजाय, ऑटोमैटिक भरने की सुविधा वाले डायलॉग के हिस्से के तौर पर दिखाकर पुष्टि कर सकता है. मौजूदा वैल्यू PublicKeyCredential.isConditionalMediationAvailable()
है.
hybridTransport
डिवाइस पर ब्लूटूथ का इस्तेमाल किया जा सकता है, ताकि ब्राउज़र क्रेडेंशियल बना सके और हाइब्रिड प्रोटोकॉल का इस्तेमाल करके, क्रॉस-डिवाइस की पुष्टि कर सके. आम तौर पर, इसका मतलब है कि ब्राउज़र एक क्यूआर कोड दिखा सकता है, ताकि उपयोगकर्ता उसे स्कैन करके, उस फ़ोन से साइन इन कर सके जिस पर क्रेडेंशियल सेव हैं.
passkeyPlatformAuthenticator
ब्राउज़र, उपयोगकर्ता की पुष्टि करने वाले प्लैटफ़ॉर्म के पुष्टि करने वाले टूल या किसी ऐसे अन्य डिवाइस की मदद से क्रेडेंशियल बना सकता है जो हाइब्रिड प्रोटोकॉल के ज़रिए इसकी पुष्टि करता है. hybridTransport ||
userVerifyingPlatformAuthenticator
के बराबर.
relatedOrigins
ब्राउज़र, RP आईडी से मेल न खाने वाला क्रेडेंशियल बना सकता है और उसकी मदद से पुष्टि कर सकता है. हालांकि, ऐसा तब ही किया जा सकता है, जब मिलती-जुलती ऑरिजिन फ़ाइल में इसकी जानकारी दी गई हो.
signalAllAcceptedCredentials
ब्राउज़र, पासकी उपलब्ध कराने वाली कंपनी को सर्वर पर मौजूद क्रेडेंशियल की जानकारी दे सकता है, ताकि पासकी उपलब्ध कराने वाली कंपनी, पासकी की सूची को सर्वर के हिसाब से अपडेट कर सके.
signalCurrentUserDetails
ब्राउज़र, सर्वर पर मौजूद उपयोगकर्ता की जानकारी, जैसे कि उपयोगकर्ता नाम और डिसप्ले नेम को पासकी देने वाली कंपनी को भेज सकता है, ताकि पासकी देने वाली कंपनी, अपनी पासकी की जानकारी को सर्वर के हिसाब से अपडेट कर सके.
signalUnknownCredential
ब्राउज़र, पासकी उपलब्ध कराने वाली कंपनी को सर्वर पर मिटाए गए क्रेडेंशियल की जानकारी दे सकता है, ताकि पासकी उपलब्ध कराने वाली कंपनी, पासकी की सूची को सर्वर के हिसाब से अपडेट कर सके.
userVerifyingPlatformAuthenticator
ब्राउज़र, प्लैटफ़ॉर्म के पुष्टि करने वाले टूल पर क्रेडेंशियल बना सकता है और उसकी पुष्टि कर सकता है. इसका मतलब यह नहीं है कि ब्राउज़र, हाइब्रिड प्रोटोकॉल के साथ काम करता है.
मौजूदा वैल्यू PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
है.
एक्सटेंशन
आरपी, getClientCapabilities()
की मदद से उपलब्ध एक्सटेंशन भी तय कर सकते हैं.
if (capabilities['extension:appid'] === true) {
// appId extension is supported
}
आइडेंटिफ़ायर के पहले extension:
और उसके बाद एक्सटेंशन का नाम होता है.
एक्सटेंशन के नामों के लिए, IANA पर बताए गए WebAuthn एक्सटेंशन आइडेंटिफ़ायर देखें.
ज़्यादा जानें
पासकी के बारे में ज़्यादा जानने के लिए, पासकी की मदद से पासवर्ड के बिना लॉगिन करना लेख पढ़ें.