Closed Bug 2022389 Opened 5 months ago Closed 5 months ago

Passkeys no longer function properly

Categories

(Firefox for Android :: WebAuthn, defect)

Firefox 148
All
Android
defect

Tracking

()

VERIFIED FIXED
150 Branch
Tracking Status
firefox148 + wontfix
firefox149 + verified
firefox150 + verified

People

(Reporter: e.ballen, Assigned: m_kato)

References

Details

(Whiteboard: [fxdroid])

Attachments

(4 files, 1 obsolete file)

User Agent: Mozilla/5.0 (Android 16; Mobile; rv:148.0) Gecko/148.0 Firefox/148.0

Steps to reproduce:

Try to login anywhere that requires a passkey, like Google.com. When it asks if I want to use my passkey it'll stay on that page trying to verify a passkey but the passkey prompt will never pop up on the phone. No matter the website, it seems to only not work in Firefox. Passkeys still work fine in Chrome and Edge on mobile.

Since Firefox is my default browser on my phone, it also seems to affect some apps installed on the phone that use the browser to login in-app.

I store my passkeys directly on my Pixel 8 Pro, I don't use third party password manager apps for that.

Actual results:

Nothing happened, the passkey prompt never appears so I can't login to anything requiring it on Firefox.

Expected results:

When asked for a passkey, it should make a prompt appear on my device that allows me to enter the passkey pin or my fingerprint.

It seems I have the same problem - can't log in to Google using passkey with Firefox for Android, but it works with, e.g., Chrome

Component: General → WebAuthn

Reporter, I have questions.

  • Does https://www.passkeys.io/ work well?
  • What device and android version?
  • What your Preferred service for password and passkeys?
Flags: needinfo?(e.ballen)
  • Passkeys.io also doesn't work when pressing "Sign in with a Passkey", nothing pops up to prompt me to, it just sits there. Works in Chrome.
  • Pixel 8 Pro on Android 16
  • I just use the built in service on my phone from Google, so Google Password Manager.
Flags: needinfo?(e.ballen)

Also I should clarify, it's just Android 16 on the latest March Security update, no special beta version or anything like that. Says build is CP1A.260305.018

It looks like there was a play store update to Firefox 148.0.2 today on Android. I updated to it. The passkey issue is still there.

@Bryan Thanks for filing this issue!
I tried to reproduce it on Google Pixel 10 (Android 16) and Google Pixel 7 Pro (Android 14) using the latest Nightly 150.0a1, Beta 149.0b6, and RC 148.0.2 builds while logged in, but I was unable to reproduce it.

Could you please attach a video showing the issue?

Thank you!

Flags: needinfo?(e.ballen)

It's exactly how I explained, but here's a video of nothing happening. https://files.catbox.moe/pkvo3x.mp4

Flags: needinfo?(e.ballen)

I have the same issue.

Before the update I was able to login to PayPal with my passkey saved on 1Password. Now the prompts doesn't show up, this is consistent on all websites with passkey logins that I've tried.

Setting up new passkeys also doesn't work, either nothing happens or stuck on infinite load.

Tried on chrome and I was able to setup and use passkeys without issue there.

Same results here. Passkeys don't prompt on Firefox but do on Chrome.

Pixel 6 Pro

Android 16

Build CP1A.260305.018

Firefox v148.0.2

One more question. Do you apply the latest Pixel update (Android 16 QPR3, March 2026)? Before applying it, does Firefox works passkeys?

Flags: needinfo?(e.ballen)

As long as I test, Credentail Manager's methods doesn't work well
after upgrading to Android 16 QPR3 if it runs on non-Android UI
thread. We should run it on its thread.

Aslo Fido2PrivilegedApiClient for old Android should be run safety
on Android UI thread.

Assignee: nobody → m_kato
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
See Also: → 2022804

(In reply to Makoto Kato [:m_kato] from comment #10)

One more question. Do you apply the latest Pixel update (Android 16 QPR3, March 2026)? Before applying it, does Firefox works passkeys?

I was already on the March update when this happened. But unfortunately they installed around the same time so it's hard telling if it was 148.0.1 causing it or Android 16 March update. I believe both were installed on March 3rd for me.

Flags: needinfo?(e.ballen)

I did just downloaded Firefox Nightly For Developers 1.50.0a1 and passkeys don't work on it either for me.

Whiteboard: [fxdroid]

The QA team initially attempted to reproduce the issue on a device running the February build of Android 16, but were unable to reproduce it.

After updating to the latest March Android 16 build, the issue was successfully reproduced on Firefox for Android Nightly 150 (2026-03-12), Firefox 149 Beta 7, Firefox 148.0.2, and Firefox 148.0.1 on Google Pixel 9 Pro and Google Pixel 10 Pro devices. Confirming that the login fails on both google.com and https://www.passkeys.io/

It is worth mentioning that the issue was not reproduced on the Google Pixel 10 with the latest Android version, suggesting that only the Pro models may be affected.

(In reply to Vasilica Tamas (Android QA) [:vtamas] from comment #15)

It is worth mentioning that the issue was not reproduced on the Google Pixel 10 with the latest Android version, suggesting that only the Pro models may be affected.

To add to your data point regarding Pro models, I have this issue and am on the Pixel 7 Pro, Android 16 (March update), Firefox 148.0.2.

I am experiencing this on a Pixel 10A, Android 16 (build CP1A.260305.018), Firefox 148.0.2

me on a Pixel 7a, March update

Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 150 Branch

The patch landed in nightly and beta is affected.
:m_kato, is this bug important enough to require an uplift?

For more information, please visit BugBot documentation.

Flags: needinfo?(m_kato)

After upgrading to Android 16 QPR3, Firefox won't work Passkeys.

We are using getMainExecutor for Credential Manager APIs, so we should
run Credential Manager's code on Android UI thread.

Also Fido2PrivilegedApiClient for old Android should be run safety
on Android UI thread.

Original Revision: https://phabricator.services.mozilla.com/D287295

Attachment #9552955 - Flags: approval-mozilla-beta?

firefox-beta Uplift Approval Request

  • User impact if declined/Reason for urgency: After updating Android to Android 16 QPR3 (March 2026 update), WebAuthn API doesn't work on Firefox.
  • Code covered by automated testing?: no
  • Fix verified in Nightly?: yes
  • Needs manual QE testing?: yes
  • Steps to reproduce for manual QE testing: 1. Access https://webauthn.io
  1. Set user name such as foo, then click [Register]

Result
Show OS's passkey panel, then select item. At finally, "Success!" is shown on page

  1. Click [Authenticate]

Show OS's passkey panel, then select item. At finally, "You're logged in" is shown on page

  • Risk associated with taking this patch: low
  • Explanation of risk level: Currently we are calling Android API for WebAuthn on Gecko main or something thread. This fix changes it on Android UI Main thread instead.
  • String changes made/needed?: No
  • Is Android affected?: yes
Flags: qe-verify+

After upgrading to Android 16 QPR3, Firefox won't work Passkeys.

We are using getMainExecutor for Credential Manager APIs, so we should
run Credential Manager's code on Android UI thread.

Also Fido2PrivilegedApiClient for old Android should be run safety
on Android UI thread.

Original Revision: https://phabricator.services.mozilla.com/D287295

Attachment #9552959 - Flags: approval-mozilla-release?

firefox-release Uplift Approval Request

  • User impact if declined/Reason for urgency: After updating Android to Android 16 QPR3 (March 2026 update), WebAuthn API doesn't work on Firefox.
  • Code covered by automated testing?: no
  • Fix verified in Nightly?: yes
  • Needs manual QE testing?: yes
  • Steps to reproduce for manual QE testing: 1. Access https://webauthn.io
  1. Set user name such as foo, then click [Register]

Result
Show OS's passkey panel, then select item. At finally, "Success!" is shown on page

  1. Click [Authenticate]

Show OS's passkey panel, then select item. At finally, "You're logged in" is shown on page

  • Risk associated with taking this patch: low
  • Explanation of risk level: Currently we are calling Android API for WebAuthn on Gecko main or something thread. This fix changes it on Android UI Main thread instead.
  • String changes made/needed?: No
  • Is Android affected?: yes

(In reply to Bryan from comment #22)

I hope you consider "uplifting" it, because we don't wanna have to wait until the end of April for Firefox 150, just to use our passkeys (Some of which are the only method of logging in nowadays). I'd sooner just start using another mobile browser permanently than wait for that.

Yep, requesting all channels.

Flags: needinfo?(m_kato)
See Also: → 2021409
Attachment #9552955 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Duplicate of this bug: 2022804
See Also: 2022804
Duplicate of this bug: 2021409
See Also: 2021409

I have managed to reproduce the issue on a Google Pixel 7 (Android 16) device with April 2026 update on the latest Firefox 148.0.2 build.

Verified as fixed on the latest Nightly build (150.0a1 from 2026-03-16) and on the latest Beta as well (149.0b9).

Also verified that the flow works as expected on the following devices as well, that I did not manage to reproduce the issue on earlier builds either:

  • Google Pixel 9 Pro XL (Android 16 - February update);
  • Samsung Galaxy S25 Ultra (Android 16 - February update);

Marking the ticket as verified on 149 and 150.

Status: RESOLVED → VERIFIED

Comment on attachment 9552959 [details]
Bug 2022389 - Run Credential Manager on Android UI thread.

Rejecting release uplift request, Fx149 merges to release this week.
We don't have a release for Fx148 before Fx149 ships.

Attachment #9552959 - Attachment is obsolete: true
Attachment #9552959 - Flags: approval-mozilla-release?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: