使用浏览器连接到 USB RFID 阅读器

问题描述

我是一名开发新手,正在尝试构建一个可以通过浏览器读取和写入 RFID 卡的 Web 应用程序。

我目前正在使用 ACR122U Card Reader,并已使用 nfc-pcsc node package 将它直接读取到我在 NodeJS 中的服务器。

当然,我不希望我的用户必须运行他们自己的服务器并安装大量库来读取卡片。 理想情况下,他们只需将读卡器插入 USB 端口,然后从 USB>浏览器>节点服务器进行通信,然后再返回。

谁能推荐一种通过浏览器与 USB RFID 阅读器通信的好方法(并发送到后端服务器?)。谢谢

解决方法

据我所知,目前(2021 年 3 月)仅在浏览器中提供对 USB 的实验性支持(WebUSB API)。请参阅https://developer.mozilla.org/en-US/docs/Web/API/USB

由于此 API 是实验性的,您可能不想依赖它进行生产。在这种情况下,将需要在最终用户机器上运行的组件(例如,通过“localhost”上的 https 进行响应的或多或少的简单服务。这种方法会带来几个可用性/安全问题(例如,正确地为 localhost 提供受信任的证书)管理 CORS 标头等)。

您可能需要参考此问题以获取其他建议:Architectures to access Smart Card from a generic browser? Or: How to bridge the gap from browser to PC/SC stack?