keepassxreboot / keepassxc-browser

KeePassXC Browser Extension
GNU General Public License v3.0
1.74k stars 182 forks source link

Manually Redect login fields after using Choose Custom Login Fields #2357

Open ahouse73 opened 4 days ago

ahouse73 commented 4 days ago

Expected Behavior

After selecting custom login fields, the fields should be automatically detected when visiting the website

Current Behavior

I Have to click Redetect login fields manually and then it gets detected

Possible Solution

Steps to Reproduce (for bugs)

  1. Visit https://sso.itmc.tu-dortmund.de/
  2. Choose Custom Login Fields (because the username input gets detected as TOTP field) and choose the username as username and password as password
  3. refresh the site
  4. No Field detected (before Redetect login fields)

Debug info

Before manually Redetect login fields:

[
    {
        "username": null,
        "password": null,
        "passwordInputs": [
            null
        ],
        "totp": null,
    }
]

Afterwards:

[
  {
    "username": "input#idToken1.form-control.input-lg",
    "password": "input#idToken2.form-control.input-lg",
    "passwordInputs": [
      "input#idToken2.form-control.input-lg"
    ],
    "totp": null,
  }
]

KeePassXC - 2.7.9 KeePassXC-Browser - 1.9.3 Operating system: Win64 Browser: Chrome/Chromium 129.0.0.0

ahouse73 commented 4 days ago

Maybe I understand the feature wrong, any help is appreciated!

varjolintu commented 4 days ago

Those should be automatically detected. So maybe it's a bug then, or the page contents are not loading early enough because of some animation etc. (Didn't try this yet)

droidmonkey commented 3 days ago

I can reproduce this, but I think @varjolintu is correct. They are doing some weird "hide the body until the whole page loads" bullshit. The way they are doing this causes the extension to ignore the fields. In fact, they leave behind a display: none style attribute on the body element. The page is poorly constructed to be honest.

image