Kunzisoft / KeePassDX

Lightweight vault and password manager for Android, KeePassDX allows editing encrypted data in a single file in KeePass format and fill in the forms in a secure way.
https://www.keepassdx.com/
GNU General Public License v3.0
4.7k stars 276 forks source link

Autofill on two-screen forms #1272

Open ghost opened 2 years ago

ghost commented 2 years ago

Describe the bug Autofill pop up or Inline suggestion doesn't show up for some fields be it a browser or be it an app

To Reproduce

  1. Go to Google Sign In Page
  2. Click on 'Email or Phone' field to fill out email
  3. Keyboard shows up
  4. No autofill pop up or Inline suggestion

Expected behavior Autofill Pop up or Inline suggestion should show up on keyboard

KeePass Database

KeePassDX:

Android:

Additional context I tried to reproduce the same problem with Keepass2Android and Bitwarden but no such problem with them. Moreover the page I linked is Google sign in but the same problem exists for many other websites and apps.

Screenshot_20220311-094358977 KeePassDX as autofill provider.

Screenshot_20220311-094418147 Keepass2Android as autofill provider.

J-Jamet commented 2 years ago

I just tested it and have no problem.

Screenshot_20220311-083908_Fennec.png

ghost commented 2 years ago

I just tested it and have no problem.

Screenshot_20220311-083908_Fennec.png

Can you please check on a chromium browser? Especially on Brave or Bromite?

uduerholz commented 2 years ago

What happens, when you "long press" the form field? Do you see the option to autofill then?

J-Jamet commented 2 years ago

Can you please check on a chromium browser? Especially on Brave or Bromite?

The algorithm is the same for all browsers, so if it doesn't show up for a browser there is a problem with the browser's autofill or compatibility mode. If you don't have play services on your device, the compatibility mode can't work with Chromium based browsers. https://github.com/Kunzisoft/KeePassDX/wiki/AutoFill#compatibility-mode

duplicate : https://github.com/Kunzisoft/KeePassDX/issues/769

J-Jamet commented 2 years ago

I thought about it, it is possible that the compatibility mode does not recognize all the fields of the form. Here it should recognize a hidden password field but it doesn't seem to do so with this mode, so it doesn't work for multi-screen forms. But when you go to the password field, it works fine. I'll debug but I don't want to make special cases depending on the website, especially if it works when autofill is correctly implemented in the browser.

ghost commented 2 years ago

Now that you mentioned the 'hidden password field' and 'multi screen login process', it all makes sense. I tried it again with those websites & apps and found out out that majority of them were of this eralier mentioned type. But for some; autofill still worked even being a multi screen process. Anyway it is great that you are taking it into consideration. I am kinda new to password managers and still figuring out things. Thanks!

I don't if it is the right place to ask but can KeePassDX autofill forms? By forms here I mean a job form or form for admission where they ask you name, father's name, mail, address etc.

J-Jamet commented 2 years ago

I don't if it is the right place to ask but can KeePassDX autofill forms? By forms here I mean a job form or form for admission where they ask you name, father's name, mail, address etc.

This is technically possible if the form is well done and has the associated metadata, but this is rarely the case and you need a full autofill compatible browser. I just checked it's complicated to manage two screen forms without managing specific domain names, which I don't want to do. So it will stay like that or you need a full autofill compatible browser.

J-Jamet commented 2 years ago

I thought about the problem. I would like to not have to save in the application different rules for each form but I think it is possible to make a pseudo configuration language to manually indicate the fields to be parsed for each form. With this system it will be necessary to create autofill configurations according to the needs and forms, there could be a ready-made list to download that can be updated by the community and imported.

J-Jamet commented 2 years ago

This could give much more flexibility to the recognition and would allow to detect any form if the manual configuration is done correctly. There will probably be a lot of rules to implement, so it will take a lot of development and design time, but it is a feasible idea.

J-Jamet commented 2 years ago

Linked to #1287

cbiere commented 2 years ago

I have the same problem. It applies to Google and PayPal, for example. It also occurs at the TOTP step with github. Even if I long-press the input field and tap on Autofill, KeePassDX doesn't activate and there's no button "Signin with KeePassDX". This doesn't seem occur on websites with multiple input fields for the login. It happens in Kiwi browser and FOSS Browser, too. So I don't think it's browser-specific. I've tried AuthPass, used this as autofill service and it didn't show this problem.

KeePassDX version: 3.4.4 OS: ArrowsOS12.1 | GAPPS | OFFICIAL Device: sweet (M2101K6G)