Closed Bug 1554397 Opened 6 years ago Closed 2 years ago

Firefox for Android failed to handle WebAuthn resident-key

Categories

(Core :: DOM: Web Authentication, defect, P2)

Unspecified
Android
defect

Tracking

()

RESOLVED FIXED
114 Branch
Tracking Status
firefox68 --- wontfix
firefox114 --- fixed

People

(Reporter: mail, Assigned: m_kato)

References

(Blocks 3 open bugs)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Steps to reproduce:

  1. Navigate to https://login.without.pw/angular/signup with Firefox for Android Nightly

  2. Fill form

  3. Add authenticator with "+" button

  4. Press "Yes" button to issue a resident-key

  5. Press "Register" button, then you are redirected to "https://login.without.pw/angular/login".

  6. Press "Fast Login" to try with resident-key. (allowCredentials will be empty with this button).

Actual results:

DOMException with the message "The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission." is raised.

Expected results:

navigator.credentials.get should return a credential.

I confirmed it works with Windows 10 19H1 + Firefox + Windows Hello, Windows 10 + Edge + Windows Hello, and Chrome Canary + Yubikey5(PIN).

Thank you for the report - Confirmed, but I'm not yet sure if this is something I'll be able to fix in Firefox for Android 68. I haven't been able to dig into what state is being incorrectly reported to Google's API.

Assignee: nobody → jjones
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
OS: Unspecified → Android
Priority: -- → P1
See Also: → 1555425

ADB output:

05-29 12:23:06.618 12356 12356 I Fido    : [AuthenticateChimeraActivity] FIDO2 operation is called from org.mozilla.fennec_aurora
05-29 12:23:06.618 12356 12356 E Fido    : [AuthenticateChimeraActivity] Request doesn't have a valid list of allowed credentials.
05-29 12:23:06.633 12588 12588 D GeckoBrowserApp: onActivityResult: 4, -1, Intent { (has extras) }
05-29 12:23:06.633 12588 12588 W WebAuthnUtils: FIDO2_KEY_ERROR_EXTRA and right
05-29 12:23:06.633 12588 12588 E WebAuthnUtils: errorCode.name: NOT_ALLOWED_ERR
05-29 12:23:06.633 12588 12588 E WebAuthnUtils: errorMessage: Request doesn't have a valid list of allowed credentials.

I won't have time to fix this in 68, I'm afraid. This will have to get fixed in one of the first releases of Firefox for Android built upon the Fenix architecture. (Initially, the Fenix previews).

Priority: P1 → P2
Assignee: jc → bugs
Flags: needinfo?(dveditz)
Severity: normal → S3
Flags: needinfo?(dveditz)

GMS supports requireResidentKey via AuthenticatorSelectionCriteria.Builder.setRequireResidentKey

Are you still working on this?

Flags: needinfo?(bugs)

:m_kato, no one is working on this at the moment. We'd welcome a patch.

Once Bug 1813282 lands we can use the more specific AuthenticatorSelectionCriteria.Builder.setResidentKeyRequirement.

Assignee: bugs → nobody
Status: ASSIGNED → NEW
Depends on: 1813282
Flags: needinfo?(bugs)

(In reply to John Schanck [:jschanck] from comment #6)

:m_kato, no one is working on this at the moment. We'd welcome a patch.

Once Bug 1813282 lands we can use the more specific AuthenticatorSelectionCriteria.Builder.setResidentKeyRequirement.

Thanks.

Assignee: nobody → m_kato

GMS's FIDO2 19.0.x supports residentKey values. So let's implement it
for Android's native token manager.

But when implementing it, GMS's FIDO2 will synchronize key via Google's
account Passkey. So this is experimental by preferences.

Pushed by m_kato@ga2.so-net.ne.jp: https://hg.mozilla.org/integration/autoland/rev/c6d78d1ad8b2 Implement residentKey support on GeckoView. r=jschanck,geckoview-reviewers,owlish
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 114 Branch
Regressions: 1831724
No longer regressions: 1831724
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: