Keepassxc-browser: Won't fill multiple passwords on multiple pages

Created on 28 Nov 2018  路  13Comments  路  Source: keepassxreboot/keepassxc-browser

Expected Behavior



The ProtonMail login page is composed of:

  1. Page one: the username and password
  2. Page two (optional): the OTP (if a 2FA has been activated)
  3. Page three (optional): the mailbox password (if you have this particular password enabled)

On page two, I can use Alt+Shift+T to fill the password.

One page three, I expect the _Mailbox password_ field to be filled.

Current Behavior



On page three, I cannot find a way to autofill the _Mailbox password_ field (which is different from the account pass word from step 1).

Possible Solution



I'm not sure how I am supposed to play with the UI, the storage.js, or the KPH: attributes in my KeePass custom fields.

I am currently using KeePass with the KeePassNatMsg plugin. Maybe I must use KeePassXC.

A documentation may help, or maybe it is a PEBCAK problem.

Debug info


KeePass - 2.40
KeePassNatMsg plugin - 2.0.3.0
KeePassXC-Browser - 1.3.0
Operating system: Win
Browser: Firefox

PR pending bug user experience

All 13 comments

Is the page URL for mailbox password different from the default one? If so, you could make another entry with that URL and the mailbox password.

If the password and page URL are different from the main entry, a separate entry will be needed.

Is the page URL for mailbox password different from the default one?

Yes. Page one and two are https://mail.protonmail.com/login. Page three is https://mail.protonmail.com/login/unlock.

I realized my issue description was incomplete. At the moment, I have one unique entry in my KeePass DB:

  • User name field: my ProtonMail user name
  • Password field: my ProtonMail account password
  • URL field: https://mail.protonmail.com/login
  • A custom String field: my ProtonMail mailbox password

    • At the moment, its name is _Cl茅 d茅chiffrement_ (_Decryption key_ in English), but can be changed if needed. That was the KPH: attempt I was talking about in the initial issue.

So you are telling me I need to split this entry in two:

  1. Main entry
  2. Secondary entry

Is it the idea?

Yes, that's the idea. Using String Fields would only work if you use autofill for single entires, but I assume that's not your approach.

For now multiple URL's are not supported, so this is the only/easiest way to get it to work.

OK that will do the job. Maybe you can think about that if you have time to improve the UX. Thanks for your help and your good work :)

So I've been trying to implement your solution, but it seems to work in a clumsy way. Let me explain:

Now my password database has two entries as explained above.
I don't think it is related, but at home I use KeePassXC, instead of KeePass with KeePassNatMsg plugin at work (the environment described in the original issue).

  1. Page one: enter https://mail.protonmail.com/login to login

    1. KeePassXC shows a popup to confirm the KeePassXC-Browser access request (_KeePassXC HTTP Confirm Access_ popup) with the two entries. I click _Allow_

    2. Click in the username text field to select my account entry, and click _Connect_

  2. Page two: OTP

    1. Press Alt+Shift+T to fill the OTP, and click _Connect_

  3. Page three: mailbox password

    1. Here is the issue: I was expecting a _KeePassXC HTTP Confirm Access_ popup to be shown. But nothing appears. I've tried to click KeePaasXC-Browser's _Redetect login field_ button. Nothing either.

    2. But it works if you open a new tab, and switch back to ProtonMail tab: the excepted popup is displayed

    3. I can select my mailbox entry when I click the mailbox password field.

Not sure if I should open a new issue or not. Please tell me.

@nagromc Thanks for the explanation. I'll try to reproduce it and see where the problem is.

This happens because the extension doesn't properly detect a situation where the page doesn't change but the form has a new submit URL. I'm already working on a fix.

EDIT: It's not about the form submit URL but the page URL itself. I'm adding a URL listener to the MutationObserver, so this fix will be quick.

OK, everything was fine until ProtonMail changed their login process.

There are still three steps to login described in my first post:

  1. Page one: the username and password
  2. Page two (optional): the OTP (if a 2FA has been activated)
  3. Page three (optional): the mailbox password (if you have this particular password enabled)

But now, every steps have the same URL (https://mail.protonmail.com/login), so your trigger on the current URL doesn't work any longer.

@nagromc As a Protonmail user, I have been affected by this also. For both TOTP and mailbox password, you will have to use the context menu. Filling the password from the context menu triggers the autocomplete menu where you can fill your mailbox password.

Of course this should work in a way that you can fill your mailbox password right away without triggering the context menu, but I haven't fixed that one yet.

I'm already using the context menu to fill the mailbox password as a workaround.

Thanks for your amazing work!

@varjolintu Maybe we should reopen this issue to not forget it is not fixed yet? 馃檪

I finally fixed the bug with Protonmail page, but I need to make sure it doesn't break anything. So testing takes some time.

351 will fix this. You can use the new username field icon to fill even the mailbox password.

Was this page helpful?
0 / 5 - 0 ratings