Untuk mencegah pembuatan kunci sandi baru jika sudah ada kunci sandi yang sama
penyedia, gunakan properti excludeCredentials
opsional dari WebAuthn
PublicKeyCredentialCreationOptions
kata kunci.
Properti excludeCredentials
adalah array deskripsi untuk kunci publik
yang sudah ada untuk pengguna tertentu. Informasi ini disediakan oleh
server pihak tepercaya
saat sistem tersebut ingin mencegah pembuatan
kredensial baru untuk pengguna yang ada di
satu otentikator.
Array excludeCredentials
memiliki atribut berikut:
- type: String yang menjelaskan jenis kredensial kunci publik yang akan
dibuat. Nilai defaultnya adalah "
public-key
". - id:
ArrayBuffer
yang cocok dengan kredensial kunci publik yang sudah ada ID (PublicKeyCredential.rawId
). ID ini dibuat selama pembuatan instancePublicKeyCredential
.
Klien menampilkan error jika pengguna mencoba membuat
kredensial baru pada otentikator platform
yang sudah berisi salah satu
yang tercantum dalam parameter ini. Jika otentikator sudah berisi
jenis ini, otentikator mengumpulkan izin pengguna sebagai
seperti biasa, dan menunjukkan kepada pengguna indikator keberhasilan tanpa kredensial baru yang dibuat. Channel
Pengecualian InvalidStateError
ditampilkan, yang menunjukkan bahwa pengguna sudah memiliki
kredensial valid yang cocok dari excludeCredentials
.
"excludeCredentials": [
{"id": "<id-1>", "type": "public-key"},
{"id": "<id-2>", "type": "public-key"}
]
JSON ini dapat digunakan untuk mencegah
otentikator dengan salah satu
kredensial agar tidak terdaftar lebih dari sekali. Setiap "<id-*>
" nilai seharusnya
diisi dengan ID kredensial yang akan dikecualikan.
Pelajari lebih lanjut excludeCredentials
di W3C
rekomendasi