Серийный номер флэш-накопителя WebUSB

Поэтому я хочу использовать флешку в качестве опции для 2FA на моем сайте (используя серийный номер устройства). Я использую WebUSB, но флешка не будет отображаться в окне выбора устройства. Я видел, что веб-USB не может читать / записывать файлы, поэтому он может даже видеть флэш-накопители?

Вот мой код, если это поможет:

console.log("test");
 usbLookup.addEventListener('click', function() {
 navigator.usb.requestDevice({ filters: [{ }] })
.then(device => {
  console.log(device.serialNumber);      
 
})
.catch(error => { console.log(error); });
});
<iframe allowpaymentrequest allow='usb'></iframe>

<a id="usbLookup">Get Serial</a>

1 ответ

Решение

На некоторых платформах WebUSB не видит флеш-накопители из-за особенностей его реализации.

В общем, это плохой второй фактор, потому что серийный номер легко угадать и подделать. Вместо этого я рекомендую использовать API WebAuthn, который обеспечивает поддержку действительно безопасных токенов, доступных от разных поставщиков.

Другие вопросы по тегам