keepassxreboot / keepassxc-browser

KeePassXC Browser Extension
GNU General Public License v3.0
1.66k stars 170 forks source link

Different way to configure custom string-fields at login-forms #2052

Open Roseidon opened 6 months ago

Roseidon commented 6 months ago

There are some sites that require 3 fields for login (user, password and some other identifier like region). I understand that there is the way of identifying those fields with choosing Custom Login Fields -> String Fields and setting them at KeePassXC in Advanced with KPH: region [1]. These String Fields are identified by the path to that input-field (/html/body/div/div/div[3]/div/div/input) and then the style classes (INPUT text form ng-formcontrol). And here comes the problem: Those identifier get useless as soon as the page has changed (on one page I use it changes e.g. previous used users -> new div above it -> everything shifted -> my user-field is now filled with the region)

Is there any other way to identify those String Fields? Or how can I raise a Feature Request?

[1]: https://keepassxc.org/docs/ -> How do I fill in additional values on a webpage?

varjolintu commented 6 months ago

There's no other way to identify the fields at this point. The identification string is constructed by using name, classList or id (in that order) after nodeName and type. Obviously some frameworks are using identical names, and classnames can be dynamically generated.

With these kind of pages where the Custom Login Fields fail, it's possible to use the normal username and password fields, and fill the third value from the context menu manually using Fill Attribute. If you have configured the value as a string field, it should be automatically shown in the menu.