Zaten varsa yeni bir geçiş anahtarı oluşturulmasını engelle

Aynı geçiş anahtarında halihazırda mevcut bir geçiş anahtarı varsa yeni bir geçiş anahtarı oluşturulmasını önlemek için WebAuthn'un isteğe bağlı excludeCredentials özelliğini kullanın: PublicKeyCredentialCreationOptions sözlüğünüzden yararlanırsınız.

excludeCredentials özelliği, ortak anahtarlar için bir tanımlayıcı dizisidir bir liste oluşturabilirsiniz. Bu bilgiler relying tarafın sunucusu bir kullanıcı için yeni kimlik bilgilerinin oluşturulmasını engellemek istediğinde tek bir kimlik doğrulayıcı kullanın.

excludeCredentials dizisi aşağıdaki özelliklere sahiptir:

  • type: Oluşturulacak ortak anahtar kimlik bilgisinin türünü açıklayan dize elde edilir. Varsayılan değer "public-key" olarak ayarlanmıştır.
  • id: Mevcut bir ortak anahtar kimlik bilgisiyle eşleşen bir ArrayBuffer tanımlayıcı (PublicKeyCredential.rawId). Bu tanımlayıcı şu tarihte oluşturulmuştur: PublicKeyCredential örneğinin oluşturulması.

İstemci bir hata oluşturmaya çalışırsa bir platform kimlik doğrulayıcıda yeni kimlik bilgileri içeren bir bu parametrede listelenen kimlik bilgileridir. Kimlik doğrulayıcıda zaten bir kimlik doğrulayıcısı, bu tür ortak anahtar kimlik bilgilerini kullanarak kullanıcı iznini görüntülenir ve kullanıcıya yeni kimlik bilgileri oluşturulmadan bir başarı göstergesi gösterilir. InvalidStateError istisna atıldığını ve bu durumda kullanıcının zaten excludeCredentials ile eşleşen geçerli kimlik bilgisi.

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

Bu JSON, sağlanan kimlik bilgilerinin birden fazla kez kaydedilmesini engeller. Her bir "<id-*>" değer, hariç tutulacak kimlik bilgisinin tanımlayıcısıyla doldurulacaktır.

W3C’de excludeCredentials hakkında daha fazla bilgi edinin öneri