पब्लिश किया गया: 15 जनवरी, 2025
WebAuthn, हाइब्रिड प्रोटोकॉल के लिए ब्लूटूथ के साथ इंटरैक्ट करने, पासकी देने वाली सेवाओं के साथ संपर्क करने, और ऑटोमैटिक भरने की सुविधा में पासकी के सुझाव देने जैसी खास सुविधाएं उपलब्ध कराता है. हालांकि, अलग-अलग क्लाइंट और पुष्टि करने वाले टूल, WebAuthn की सुविधाओं के लिए अलग-अलग लेवल पर सहायता देते हैं. इस अंतर की वजह से, उपयोगकर्ताओं को अलग-अलग अनुभव मिल सकता है. कुछ उपयोगकर्ताओं को गड़बड़ियां दिख सकती हैं या वे पुष्टि करने के कुछ विकल्पों का इस्तेमाल नहीं कर पाएंगे. डेवलपर को क्लाइंट की क्षमताओं का पता लगाने का तरीका उपलब्ध कराने से, वे ऐसे बेहतर ऑथेंटिकेशन फ़्लो बना पाते हैं जो इन बदलावों के हिसाब से ढल जाते हैं.
PublicKeyCredential.getClientCapabilities()
तरीके की मदद से, भरोसा करने वाले पक्ष यह तय कर सकते हैं कि ब्राउज़र पर WebAuthn की कौनसी सुविधाएं काम करती हैं. यह तरीका, काम करने वाली सुविधाओं की सूची दिखाने वाला प्रॉमिस दिखाता है. इससे डेवलपर, क्लाइंट की खास सुविधाओं के आधार पर पुष्टि करने के अनुभव और वर्कफ़्लो को पसंद के मुताबिक बना सकते हैं.
इनके साथ काम करता है
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 एक्सटेंशन आइडेंटिफ़ायर देखें.
ज़्यादा जानें
पासकी के बारे में ज़्यादा जानने के लिए, पासकी की मदद से पासवर्ड के बिना लॉगिन करना लेख पढ़ें.