LedgerHQ / ledgerjs

⛔️ MOVED to monorepo "ledger-live"
https://github.com/LedgerHQ/ledger-live
Apache License 2.0
574 stars 379 forks source link

Support Firefox Quantum v58+ #89

Open ghost opened 6 years ago

ghost commented 6 years ago

Firefox Quantum now has U2F support built in. However it seems the current Ledger U2F transport is incompatible.

The browser test shows the following error on the Firefox web console:


Object { name: "TransportError", message: "Failed to sign with Ledger device: U2F BAD_REQUEST", stack: "TransportError@https://192.168.178.17:9966/index-browser.js:21822:16\nwrapU2FTransportError@https://192.168.178.17:9966/index-browser.js:21471:13\n_callee2$@https://192.168.178.17:9966/index-browser.js:21655:23\ntryCatch@https://192.168.178.17:9966/index-browser.js:14276:37\ninvoke@https://192.168.178.17:9966/index-browser.js:14510:22\ndefineIteratorMethods/</prototype[method]@https://192.168.178.17:9966/index-browser.js:14328:16\nstep@https://192.168.178.17:9966/index-browser.js:809:22\nstep/<@https://192.168.178.17:9966/index-browser.js:822:13\nrun@https://192.168.178.17:9966/index-browser.js:4980:22\nnotify/<@https://192.168.178.17:9966/index-browser.js:4993:30\nflush@https://192.168.178.17:9966/index-browser.js:4219:9\n", id: "U2F_2", originalError: Error }```
gre commented 6 years ago

So I can reproduce the problem and even the FIDO U2F app don't work with the official https://demo.yubico.com/u2f demo on FF (but works on Chrome). Not sure where the problem is.

ghost commented 6 years ago

Important to note for anyone wanting to try this is that U2F by default is disabled in Firefox. To enable it go to about:config and enable the setting security.webauth.u2f.

syntaxval commented 6 years ago

Just to add to this discussion, I managed today to get the OTHER_ERROR code on Firefox Quantum 58.0.2 today and TransportU2F.isSupported(), when resolved, returns true. I tried playing with AppID but still no success and I am not sure if that is due to my app running on subdomain. Perhaps worth investigating.