Closed Bug 1676216 Opened 1 year ago Closed 3 months ago

HTTP auth does not work with login autocomplete and selection

Categories

(GeckoView :: General, enhancement, P1)

Unspecified
All

Tracking

(firefox93 fixed)

RESOLVED FIXED
93 Branch
Tracking Status
firefox93 --- fixed

People

(Reporter: ekager, Assigned: agi)

References

Details

(Whiteboard: [geckoview:m90][geckoview:m91][geckoview:m92][geckoview:m93])

Attachments

(6 files)

Filed in Fenix as https://github.com/mozilla-mobile/fenix/issues/8642 and I'm filing this ticket here so that Eugen and I can discuss options (if this requires any GV work, etc)

Why/User Benefit/User Problem

It works on Firefox desktop and the Fennec. And it is kind of expected by users.

What/Requirements

Password Manager should work to remember HTTP authentication username / password just as it does for normal HTML login forms.

Acceptance Criteria (how do I know when I’m done?)

  1. If a password of the HTTP authentication site is in the Password Manager, Fenix should display the suggested username and password on the popup login dialog.
  2. If a password of the HTTP authentication site is NOT in the Password Manager, Fenix should wait until user entry then ask if she / he wants to store the login information to the Password Manager.
Flags: needinfo?(esawin)

i opend 7 years ago a bugreport for fennex 31 with some informations
see https://bugzilla.mozilla.org/show_bug.cgi?id=993902

Priority: -- → P2

We've agreed that this is best solved in GeckoView, by integrating it with the Autocomplete API.
Putting that on my list for Q1, but happy to mentor anyone interested in tackling this before that.

Flags: needinfo?(esawin)

Can it be followed in some bugzilla or github issue tracker ?

Whiteboard: [geckoview:m90?]
Priority: P2 → P1
Whiteboard: [geckoview:m90?] → [geckoview:m90]
Rank: 6
Whiteboard: [geckoview:m90] → [geckoview:m90][geckoview:m91]
Rank: 6 → 3

Deprioritised

Whiteboard: [geckoview:m90][geckoview:m91] → [geckoview:m90][geckoview:m91][geckoview:m92]
Assignee: nobody → agi

As I understand, this is preventing https://github.com/mozilla-mobile/fenix/issues/8642 to be implemented, which is a regression from a user perspective. I switched back to a Firefox mobile version powered by Fennec as a workaround, but this is just a bad one and will get worse with time. We want to use Firefox but we need this feature back. Please allow this to happen.

@devs
If I may ask, what is the underlying reason for deprioritization ?

This is being worked on. It was deprioritized for 92 to make space for other higher priority bugs.

The checkbox is never actually displayed (I think) so we don't need any of this
code.

Almost all delegates have getters except for these two. These are also helpful
when implementing delegateUntilTestEnd for runtime delegates.

It's a relic of the past when we didn't require default methods for delegates,
we don't need it anymore.

Historically, only session delegates have been allowed in GeckoSessionTestRule
utilities like delegateUntilTestEnd or delegateDuringNextWait.

There's no reason it has to be that way though, and allowing runtime delegates
to use the same utilities removes a lot of boilerplate code that we don't need.

This commit allows Android to use the login storage for HTTP auth by migrating
some common toolkit code to promptUsernameAndPassword and promptPassword which
use the login storage.

Whiteboard: [geckoview:m90][geckoview:m91][geckoview:m92] → [geckoview:m90][geckoview:m91][geckoview:m92][geckoview:m93]
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/708468680122
Add missing delegate getters. r=owlish
https://hg.mozilla.org/integration/autoland/rev/9f187777d447
Remove o.m.g.test.util.Callbacks. r=owlish
https://hg.mozilla.org/integration/autoland/rev/42527af9a64a
Allow runtime delegates in GeckoSessionTestRule. r=owlish
https://hg.mozilla.org/integration/autoland/rev/4784149fa5ae
Use login storage for HTTP auth on Android r=dimi,owlish

The code in this patch is not needed anymore because now we can handle multiple
in-app runtimes after Bug 1676216.

This reverts commit d49a34c51bc537caffcd559cda07be994105cebb.

Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/41fee786f8ec
Add missing delegate getters. r=owlish
https://hg.mozilla.org/integration/autoland/rev/a7c71027c898
Remove o.m.g.test.util.Callbacks. r=owlish
https://hg.mozilla.org/integration/autoland/rev/d83b518be746
Allow runtime delegates in GeckoSessionTestRule. r=owlish
https://hg.mozilla.org/integration/autoland/rev/dfc0ce411a75
Use login storage for HTTP auth on Android r=dimi,owlish
https://hg.mozilla.org/integration/autoland/rev/bb5fc7f9df83
Remove unused checkbox on promptAuth and similar. r=dimi,owlish,necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/b18aea9590ee
Revert "Bug 1607537: Fix timeouts in ParentCrashTest.crashParent and re-enable the test" r=owlish
Flags: needinfo?(agi)

Backed out for causing build bustages.

Push with failures
Affected platforms:
Linux x64 opt
Linux x64 asan
Linux x64 tsan
Linux x64 debug
OS X Cross Compiled opt
OS X Cross Compiled debug
Windows MinGW all
This have the same failure lines as Windows MingGW ^

Windows 2012 opt
Windows 2012 debug
Windows 2012 x64 opt
Windows 2012 x64 asan
Windows 2012 x64 debug
This have the same failure lines as Windows 2012 opt^

Failure log for Windows MinGW all MinGW-Clang
Failure log for Windows 2012 opt

Backout link

Flags: needinfo?(agi)
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d73bcec82282
Add missing delegate getters. r=owlish
https://hg.mozilla.org/integration/autoland/rev/058fed165893
Remove o.m.g.test.util.Callbacks. r=owlish
https://hg.mozilla.org/integration/autoland/rev/018a1a02eb29
Allow runtime delegates in GeckoSessionTestRule. r=owlish
https://hg.mozilla.org/integration/autoland/rev/20c2b55df46b
Use login storage for HTTP auth on Android r=dimi,owlish
https://hg.mozilla.org/integration/autoland/rev/a8368856c553
Revert "Bug 1607537: Fix timeouts in ParentCrashTest.crashParent and re-enable the test" r=owlish
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e728184459dc
Remove unused checkbox on promptAuth and similar. r=dimi,owlish,necko-reviewers,kershaw

https://hg.mozilla.org/mozilla-central/rev/e728184459dc

Thunderbird still uses the "save password" checkbox and others rather extensively atm.
Unless there's a pressing need to get rid of this, could we back this changeset out?

Magnus, does thunderbird support promptToSavePassword and promptToSaveLoginAndPassword? (if not, why not?) could we call that in promptUsernameAndPassword (and promptPassword) to give an opportunity to the user to save the login/password? Could you point me to a place where this is used in Thunderbird, I'm having a hard time find one for some reason.

Flags: needinfo?(agi) → needinfo?(mkmelin+mozilla)
Blocks: 1728938

See bug 1728938 where we're doing some adaptions. I don't think promptToSavePassword nor promptToSaveLoginAndPassword are used. Not used probably because there were no reason to do so + promptToSavePassword requires a browser, which we don't necessarily have available. promptToSaveLoginAndPassword - I don't get any hits for this anywhere.

promptPassword:

promptAuth:

Flags: needinfo?(mkmelin+mozilla)
You need to log in before you can comment on or make changes to this bug.