अगर कोई पासकी पहले से मौजूद है, तो नई पासकी बनाने से रोकें

अगर उसी पासकी में पहले से कोई पासकी मौजूद है, तो नई पासकी बनाने से रोकने के लिए कंपनी, WebAuthn की वैकल्पिक excludeCredentials प्रॉपर्टी का इस्तेमाल करें PublicKeyCredentialCreationOptions शब्दकोश.

excludeCredentials प्रॉपर्टी, सार्वजनिक पासकोड के लिए डिस्क्रिप्टर का कलेक्शन होती है जो किसी उपयोगकर्ता के लिए पहले से मौजूद है. यह जानकारी निर्भरता पक्ष का सर्वर जब वह किसी मौजूदा उपयोगकर्ता के लिए नए क्रेडेंशियल बनाने पर रोक लगाना चाहती है की पुष्टि करता है.

excludeCredentials कलेक्शन में ये एट्रिब्यूट हैं:

  • type: ऐसी स्ट्रिंग जो सार्वजनिक-कुंजी क्रेडेंशियल के टाइप की जानकारी देती है जनरेट किया गया. डिफ़ॉल्ट वैल्यू "public-key" है.
  • id: ऐसा ArrayBuffer जो किसी मौजूदा सार्वजनिक पासकोड के क्रेडेंशियल से मेल खाता है आइडेंटिफ़ायर (PublicKeyCredential.rawId). यह आइडेंटिफ़ायर इस दौरान जनरेट होता है PublicKeyCredential इंस्टेंस बनाना.

अगर उपयोगकर्ता कोई गड़बड़ी प्लैटफ़ॉर्म Authenticator पर मौजूद नया क्रेडेंशियल, जिसमें पहले से ही इनमें से कोई एक इस पैरामीटर में मौजूद क्रेडेंशियल. अगर Authenticator में पहले से ही इस तरह की सार्वजनिक कुंजी का क्रेडेंशियल, पुष्टि करने वाला उपयोगकर्ता इस तरह से उपयोगकर्ता की सहमति इकट्ठा करता है साथ ही, किसी नए क्रेडेंशियल के बिना ही उपयोगकर्ता को सफलता का संकेत दिखाता है. अगर आप InvalidStateError अपवाद दिया गया है. इससे पता चलता है कि उपयोगकर्ता के पास पहले से ही मान्य क्रेडेंशियल का मिलान excludeCredentials से हुआ.

"excludeCredentials": [
    {"id": "<id-1>", "type": "public-key"},
    {"id": "<id-2>", "type": "public-key"}
  ]

इस JSON का इस्तेमाल, पुष्टि करने वाले उन लोगों को रोकने के लिए किया जा सकता है जो दिए गए में से किसी एक का इस्तेमाल करते हैं अगर आपके क्रेडेंशियल एक से ज़्यादा बार रजिस्टर नहीं हैं. हर "<id-*>" मान में बाहर रखे जाने वाले क्रेडेंशियल के आइडेंटिफ़ायर से जुड़ी जानकारी अपने-आप भर जाएगी.

W3C में excludeCredentials के बारे में ज़्यादा जानें सुझाव