Extension biometrics unlock in Chromium and derivatives (Thorium, Iridium, Iron, etc.)

One of my favorite Bitwarden extension features is its fingerprint unlock with devices that support biometrics. As long as I have the desktop app installed, I can unlock the vault like a breeze whether I’m using Chrome, Firefox, Edge, Opera or Brave. But lately I’ve been through a journey of focusing on privacy, and I switched to Thorium (Chromium-based browser), which has a good balance between functionality and privacy. Bitwarden works perfectly, but I can’t enable the biometrics unlock. I don’t know if privacy-centered apps prevent access to biometrics data, but I tried other things that seem to work nice in Thorium with fingerprint. Maybe Bitwarden itself needs to support those kind of less popular browsers?

Following: the error I get while trying to enable the fingerprint unlock. It’s in my browser’s language (Italian), but it basically says: ‘Browser integration is not enabled in the Bitwarden application: go enable it in Bitwarden desktop through the Preferences.’ As I said, it is already enabled and I use it everyyday with other browsers, which I still use for work.

 I don’t know if privacy-centered apps prevent access to Biometrics data, but I tried other things that seem to work nice in Thorium with fingerprint.

The browser does not actually see any biometrics data or invoke any biometrics APIs. It sends a request to the desktop app and the desktop app handles that.

The issue why it is not working is because the Bitwaden desktop app needs to copy a file manifest file into the browser directory for inter-process communication to work, and these are hardcoded in the Bitwarden desktop app. This could be changed in the Bitwarden app source code.

Alternatively, you could probably copy the manifest from a working browser (chrome) to a non working browser’s directory. This should also work, though I haven not tested this.

3 Likes

Thanks for the reply! Sorry to ask but I’m a bit of an ignorant here. Where/how do I find the manifest of a working browser and copy to Thorium? I’m on macOS

From the source code:

Firefox: `${this.homedir()}/Library/Application\ Support/Mozilla/`,
      Chrome: `${this.homedir()}/Library/Application\ Support/Google/Chrome/`,
      "Chrome Beta": `${this.homedir()}/Library/Application\ Support/Google/Chrome\ Beta/`,
      "Chrome Dev": `${this.homedir()}/Library/Application\ Support/Google/Chrome\ Dev/`,
      "Chrome Canary": `${this.homedir()}/Library/Application\ Support/Google/Chrome\ Canary/`,
      Chromium: `${this.homedir()}/Library/Application\ Support/Chromium/`,
      "Microsoft Edge": `${this.homedir()}/Library/Application\ Support/Microsoft\ Edge/`,
      "Microsoft Edge Beta": `${this.homedir()}/Library/Application\ Support/Microsoft\ Edge\ Beta/`,
      "Microsoft Edge Dev": `${this.homedir()}/Library/Application\ Support/Microsoft\ Edge\ Dev/`,
      "Microsoft Edge Canary": `${this.homedir()}/Library/Application\ Support/Microsoft\ Edge\ Canary/`,
      Vivaldi: `${this.homedir()}/Library/Application\ Support/Vivaldi/`,

In this folder there is a subfolder “NativeMessagingHosts”, and in that subfolder a file “com.8bit.bitwarden.json”. This is the manifest.

By the pattern I would guess for thorium it would have to be copied to:
~/Library/Application Support/Thorium/NativeMessagingHosts/

3 Likes

I took Chrome’s manifest file and it worked! Thanks again.
But does the file need to be updated every time the extension or the desktop application get updated?

It should not need updating unless there are major changes to the biometrics part of the app or browser extension, as far as I know.

How did you do this?
I symlinked the Chromium one, but this didn’t help.

ln -s Library/Application\ Support/Chromium/NativeMessagingHosts/com.8bit.bitwarden.json Library/Application\ Support/Thorium/NativeMessagingHosts/com.8bit.bitwarden.json

Edit:

Copying works and be sure to fully close Thorium and Bitwarden!

cp Library/Application\ Support/Chromium/NativeMessagingHosts/com.8bit.bitwarden.json Library/Application\ Support/Thorium/NativeMessagingHosts/com.8bit.bitwarden.json