USB Token for autentication in website form - html

I have a website with HTML login form I want to use USB device as token to login into my website.
How can I use USB device for authentication and login via USB flash memory.
Is it possible to copy something like certificate on USB and when I connect it to my computer its automatically log into Website.
Thank you

Have a look at the yubikey, a good and inexpensive usb-token (http://www.yubico.com/yubikey).
Yubikeys register als usb keyboard, and because of that work on every system (that support usb keyboards) without the installation of any device drivers.
You can find many examples online how to use their one-time-key authentification service with php, ruby-on-rails or whatever language you use for your webpage.
If your system isn't connected to the internet you can still use the static key that the yubikey also can generate.

Related

Tried to connect a device to web via webusb but.. Failed to claim interface: Access denied (insufficient permissions)

I am using the webusb API in Google Chrome to try to connect a device to the browser. It worked with webserial API, but I am having trouble getting it to work with webusb API.
I am using HTTPS (Github pages)
I enabled #new-usb-backend for my browser
I can open the device and select configuration, but device.claimInterface(0) is not working (and I can confirm that 0 is an interface number).
None of the two interfaces this device has seems to be claimed
The error I get looking at chrome://device-log is
Failed to claim interface: Access denied (insufficient permissions)
I'm not sure where to go from here. I would appreciate some help.
Thank you.
device.claimInterface(1) worked. I heard somewhere mac automatically claims interfaces. Perhaps the first interface was claimed, although the api indicated otherwise. Anyhow, something about the second interface worked that didn't work in the first.
That error message indicates that there is either an existing driver that has claimed the interface or (Windows only) the WinUSB driver hasn't attached to the interface in order to enable applications like your browser to claim it. On Windows you can use the Zadig tool to force Windows to change the drivers being used for a USB device.
If the device can be opened using the Web Serial API then that indicates that the operating system has already loaded a serial driver for the device and so it has claimed at least some of the device's interfaces.
Why, if the Web Serial API works to connect to your device, are you trying to connect to it with the WebUSB API instead? Are you now on a different operating system which doesn't provide a USB serial driver compatible with the device?

WebUSB and RFID readers

I was wondering if anyone had any experience getting RFID readers to work through WebUSB. The reader I'm using is the https://www.parallax.com/product/28340 .
From what I've read, I'd have to write a driver to read from the device. I was just wondering if anyone has done any work regarding this and what they ended up doing.
The goal here is to read RFID tags without using another application to feed it to the web application.
Thanks!
The USB variant of that RFID reader uses an FTDI FT232R chip to provide a serial-to-USB interface. If the host operating system has a driver for this chip or the FTDI Virtual COM port drivers are installed then the browser will be unable to connect to the device when your application requests it through the WebUSB API because the USB interface presented by the device will already be claimed by the driver.
If you are able to guarantee that the Virtual COM port driver is not loaded then you will be able to write a driver using the WebUSB API to control the device.

Data Sync Between Desktop-Mobile via USB in Cordova/Ionic Application

I am creating a hybrid mobile application using Cordova/Ionic/Angular Js. My requirement is to Sync the Data (or in other words prefill the mobile DB ) from the Desktop(where the Mysql DB is residing) with the SQLite Db (residing in the phone) when i connect the phone to the desktop through USB. I can't use Web Services since the app has to run in an offline mode.
I have done a lot of searching for that but all i could is the solution for Android app(native) where they are mentioning to use JDBC /Socket Programming. I have found one cordova content sync plugin but i think it again requires the internet connectivity , is there any cordova plugin that can help in that? Please guide.
Who should perform the sync? The mobile device or the desktop computer?
I would suggest the following:
Enable USB Debugging in Android
Desktop computer should have adb drivers installed.
Use adb commands to communicate with your device (i.e. pull the database, perform some updates, push the database)
There is a tool on github which does something similar, maybe you can look at the source to get and idea how to do this: https://github.com/google/adb-sync

Remote desktop connection conundrum

i may be going about this the wrong way and would appreciate guidance on how it should be done. :)
I have a windows 7 computer on which i have installed thinVNC (Remote desktop application)
i liked it because its cross platform and does not need the clients to install anything on their devices to connect to the computer.They simply use a HTML 5 enabled browser to connect.
The purpose of this is so that they can get to a Microsoft access database on the computer, log in to it and perform some transactions.
Now, when one person logs in they see the desktop and interact with it and thats fine. However, when another person connects to the computer, they basically watch as the first user goes about using the database. Which i think is the purpose of this kind of software!
So i guess what i want is that each user gets their own fresh "session" if you like, like having the file on a network drive. So users connect to the computer,don't see others using the system and there's a folder where i have granted access to external users and placed the database in it. They will then doubleclick the file icon and be able to login etc.
So what is the best way to achieve this? ideally i don't want the user to have to install any software to be able to connect, but if its unavoidable then so be it.
thanks
Why not use Microsoft's built in remote desktop? There's a version for most (if not all) devices now and it would let you just setup multiple accounts on the Win 7 pc and get each user to log into them individually.

How can I launch an OSX application from the browser?

I'm coding an admin panel with a web interface that will only be run locally (not client-facing or hosted on an external server), and it would be helpful if it could launch an application from an <a href="">. Is this possible? I understand that this could be a browser security thing, but I also know that there are iTunes and App Store links (not quite sure how those work either), and I assume this is also possible for launching "x" application. How can I do this?
it is only possible if the application you want to start registers its own URI scheme with the OS. Though you could write your own app that starts other apps on demand. You'll have to register your own scheme then.
Found a solution! Instead of using an <a href="">, I've decided to run a shell command from a PHP script that just does open application_name.app and redirect back to the referrer.