เพื่อป้องกันการสร้างพาสคีย์ใหม่หากมีพาสคีย์เดียวกันอยู่แล้ว
ให้ใช้พร็อพเพอร์ตี้ excludeCredentials
ที่ไม่บังคับของ WebAuthn
PublicKeyCredentialCreationOptions
พจนานุกรม
พร็อพเพอร์ตี้ excludeCredentials
เป็นอาร์เรย์ของคำอธิบายสำหรับคีย์สาธารณะ
ที่มีอยู่แล้วสำหรับผู้ใช้รายหนึ่งๆ ข้อมูลนี้มาจาก
ที่พึ่งพาเซิร์ฟเวอร์
เมื่อต้องการป้องกันไม่ให้มีการสร้างข้อมูลเข้าสู่ระบบใหม่สำหรับผู้ใช้เดิมใน
Authenticator รายเดียว
อาร์เรย์ excludeCredentials
มีแอตทริบิวต์ต่อไปนี้
- type: สตริงที่อธิบายประเภทของข้อมูลเข้าสู่ระบบคีย์สาธารณะที่จะใช้
ที่สร้างขึ้น ค่าเริ่มต้นคือ "
public-key
" - รหัส:
ArrayBuffer
ที่ตรงกับข้อมูลเข้าสู่ระบบคีย์สาธารณะที่มีอยู่ ตัวระบุ (PublicKeyCredential.rawId
) ตัวระบุนี้สร้างขึ้นระหว่าง การสร้างอินสแตนซ์PublicKeyCredential
ไคลเอ็นต์จะแสดงข้อผิดพลาดหากผู้ใช้พยายามสร้าง
ข้อมูลเข้าสู่ระบบใหม่ในตัวตรวจสอบสิทธิ์แพลตฟอร์มที่มี
ข้อมูลเข้าสู่ระบบที่แสดงในพารามิเตอร์นี้ หาก Authenticator มีแอตทริบิวต์
ข้อมูลเข้าสู่ระบบคีย์สาธารณะประเภทนี้ Authenticator จะรวบรวมความยินยอมของผู้ใช้ตาม
ตามปกติ และแสดงตัวบ่งชี้ความสำเร็จแก่ผู้ใช้โดยไม่ได้สร้างข้อมูลเข้าสู่ระบบใหม่ CANNOT TRANSLATE
มีข้อยกเว้น InvalidStateError
รายการ ซึ่งบ่งชี้ว่าผู้ใช้มี
ตรงกับข้อมูลเข้าสู่ระบบที่ถูกต้องจาก excludeCredentials
"excludeCredentials": [
{"id": "<id-1>", "type": "public-key"},
{"id": "<id-2>", "type": "public-key"}
]
JSON นี้สามารถใช้เพื่อป้องกัน Authenticator ที่มี
ข้อมูลเข้าสู่ระบบจากการลงทะเบียนมากกว่า 1 ครั้ง แต่ละ "<id-*>
" ควร
ใส่ตัวระบุของข้อมูลเข้าสู่ระบบที่จะยกเว้น
เรียนรู้เพิ่มเติมเกี่ยวกับ excludeCredentials
ใน W3C
คำแนะนำ