Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sporadic failures with popup credentials #2466

Open
1 task done
johnferg opened this issue Feb 26, 2025 · 17 comments
Open
1 task done

Sporadic failures with popup credentials #2466

johnferg opened this issue Feb 26, 2025 · 17 comments

Comments

@johnferg
Copy link

Have you searched for an existing issue?

  • Yes, I tried searching and reviewed the pinned issues

Brief Summary

I use KeePassXC on Windows 11 with the Chrome extension. I have it set up to automatically log in to our local Trac (edgewall) instance. When not using KeePassXC, Trac will ordinarily pop up a window for me to enter my credentials (username and password). KeePassXC was working reasonably reliably until recently. Until recently, I would get KeePassXC's popup offering me to log in for me. Now, most of the time, the standard (Trac) login popup shows (unfilled). I occasionally get KeePassXC's popup which works. So it sometimes works, sometimes does not (most of the time does not I would say).

I have tried upgrading to the latest version of KeePassXC (2.7.9) and the latest browser extension (1.9.7), but the issue remains.

Steps to Reproduce

  1. Set up a local Trac (edgewall) instance and configure it to require the user to log in via a popup to gain access to it
  2. Install KeePassXC on Windows 11 and add the KeePassXC browser extension to Chrome
  3. Add your Trac credentials to KeePassXC
  4. Visit your local Trac instance via Chrome (e.g. visit the home page)

Expected Versus Actual Behavior

Expected:
A KeePassXC popup shows with an "Allow Selected" button, which, when clicked, closes the popup and logs me into Trac. (Sometimes this happens, and all is well.)

Actual (most of the time):
The standard login popup show unfilled.

Workaround:
Sometimes, hitting "Sign In" or "Cancel" (without entering my credentials) triggers the KeePassXC popup, which then logs me in.
Failing that, I enter my credentials manually, and that works.

KeePassXC Debug Information


Operating System

Windows

Linux Desktop Environment

None

Linux Windowing System

None

@droidmonkey droidmonkey transferred this issue from keepassxreboot/keepassxc Feb 26, 2025
@droidmonkey
Copy link
Member

Have you reported this problem to Trac since they likely changed their login flow to be less friendly to password managers (it would seem). Otherwise, have you tried using the custom browser fields feature of the extension? Click the yellow button in the extension pop up window.

@johnferg
Copy link
Author

johnferg commented Feb 26, 2025

@droidmonkey thanks for your reply.

I have not reported the problem to Trac. I think I would only do that if this cannot be (or is unlikely to be) fixed in KeePassXC.

I have just tried the custom browser fields feature, but with no joy. Whether I am using it correctly, however, I don't know. I tried the following:

  1. Close all browser windows
  2. Open Chrome and visit my local trac instance (The login dialog pops up)
  3. Click on the extensions button, then "KeePassXC-Browser", then click on the yellow icon
    • At this point, there are no buttons to assign the username/password fields (presumably because it is a popup)...
  4. ...so, instead, I enter my username and password manually and hit Enter

This did not solve the problem. The issue still remains after I close all browser windows and try logging in again. I also tried deleting my Trac entry from the KeePassXC desktop application and then using the custom browser fields feature. I also tried deleting my Trac entry from the KeePassXC desktop application and recreating it. None of these worked.

Any more suggestions? Am I using the custom browser fields feature correctly?

@droidmonkey
Copy link
Member

A screenshot would be helpful

Am I using the custom browser fields feature correctly?

No, you need to actually pick the fields. Once the top bar shows that has username/password/etc buttons on it, choose username then click the username field in the popup. Do the same for password. Accept/save. Reload the page.

@johnferg
Copy link
Author

OK, here are screenshots:

Step 1: Open browser and visit local trac instance

Image

Step 2: Navigate to that yellow button

Image

Step 3: After clicking on the yellow button

Image

There are no username/password/etc buttons showing, presumably because it is a popup?

When it works, I get a "KeePassXC - Browser Access Request" window popping up (instead of the popup shown above) with an "Allow Selected" button, which successfully logs me in. For technical reasons, I am unable to get a screenshot of that window. If you need one, let me know, and I can try again.

@droidmonkey
Copy link
Member

Ohhhhhh that is an HTTP login window. Enable the option in KeePassXC browser settings to auto fill http login

@johnferg
Copy link
Author

If you are referring to the "Allow filling HTTP Basic Auth credentials" setting in the KeePassXC Chrome extension's settings, I already had that ticked.

I tried now ticking the "Do not ask permission for HTTP Basic Auth" in the KeePassXC desktop app's settings (under Browser Integration -> Advanced), but that didn't help.

There are a lot of options, however, in both the desktop app and Chrome extension, so I do wonder if it's just an option I need to change.

@johnferg
Copy link
Author

johnferg commented Feb 26, 2025

There are a lot of options, however, in both the desktop app and Chrome extension, so I do wonder if it's just an option I need to change.

That said, the fact that it sometimes works and sometimes doesn't makes me suspect that it is a bug. I wonder if it could be a timing issue? Could it be that KeePassXC and Trac are racing to open their popup, and whoever gets there first wins?!

@johnferg
Copy link
Author

Another solution may be to configure Trac to offer login via a web page instead of a popup. I've checked, and apparently this is possible using a Trac plugin called AccountManagerPlugin.

Could this be a more realistic route to getting a quick solution to this problem?

@varjolintu
Copy link
Member

Make sure you haven't any Deny options set for the entry for this site? Edit entry -> Browser Integration -> Properties -> Plugin data. The extension should detect any HTTP Basic Auth popup.

@johnferg
Copy link
Author

Not sure what you mean by "Properties -> Plugin data". I don't see anything like that. However, under "Edit entry -> Browser Integration" I have 4 options, all of which are unticked:

  • Hide this entry from the browser extension
  • Skip Auto-Submit for this entry
  • Use this entry only with HTTP Basic Auth
  • Do not use this entry with HTTP Base Auth

Please remember that it sometimes works, sometimes doesn't without changing any settings. I still suspect a timing issue.

@varjolintu
Copy link
Member

I meant Edit Entry -> Properties -> Plugin data. If if works sometimes, then the site is probably doing some non-standard HTTP Basic Auth.

@varjolintu
Copy link
Member

Another solution may be to configure Trac to offer login via a web page instead of a popup. I've checked, and apparently this is possible using a Trac plugin called AccountManagerPlugin.

Could this be a more realistic route to getting a quick solution to this problem?

Yes.

@droidmonkey
Copy link
Member

I thought Trac was a dead project. HTTP auth is terrible and should be killed off. Switch to page embedded login fields if possible.

@johnferg
Copy link
Author

I meant Edit Entry -> Properties -> Plugin data. If if works sometimes, then the site is probably doing some non-standard HTTP Basic Auth.

OK, they are all set to false.

Switch to page embedded login fields if possible.

It's now looking unlikely that this will happen (it's out of my control). So, I'm still holding out hope for a fix in KeePassXC. Is there any chance of that?

@varjolintu
Copy link
Member

Switch to page embedded login fields if possible.

It's now looking unlikely that this will happen (it's out of my control). So, I'm still holding out hope for a fix in KeePassXC. Is there any chance of that?

Can't say, because at this point it's unclear if the extension has any problems, or if it's the site that handles something differently. I should probably set my own test instance of this service, and it's always time-consuming.

@droidmonkey
Copy link
Member

At this point just use autotype

@johnferg
Copy link
Author

Switch to page embedded login fields if possible.

It's now looking unlikely that this will happen (it's out of my control). So, I'm still holding out hope for a fix in KeePassXC. Is there any chance of that?

Can't say, because at this point it's unclear if the extension has any problems, or if it's the site that handles something differently. I should probably set my own test instance of this service, and it's always time-consuming.

OK thank you.

At this point just use autotype

Ah ha! I didn't know about this feature. I've got that working and it's a decent workaround. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants