Solved: Shopify Passkey Not Working on Firefox with Bitwarden? Here's the Fix!
Hey store owners! Have you ever hit that frustrating wall where your trusty passkey just won't cooperate? Specifically, if you're trying to log into your Shopify account using a passkey stored in Bitwarden, and you're browsing with Firefox, you might have run into a particularly tricky issue. We recently saw a fantastic discussion in the Shopify Community forums that really dug into this, and I wanted to share the goldmine of insights we uncovered.
One of our fellow merchants, ferares, kicked off the thread with a classic head-scratcher: their passkey for Shopify worked perfectly fine on Chrome with Bitwarden, but on Firefox, it just wouldn't fly. They'd hit 'Verify,' and instead of the expected Bitwarden popup, they'd get an error message like this:

The system would respond with a user_submission_canceled_passkey reason in the JSON, and the Bitwarden popup would simply never appear. If this sounds familiar, you're in the right place!
Unpacking the "user_submission_canceled_passkey" Error
The first crucial insight came from lumine, who pointed out that the user_submission_canceled_passkey response actually rules out a lot of potential problems on Shopify's end. This message means the browser itself (Firefox, in this case) told Shopify that the passkey ceremony was canceled. It never even got to the point of checking a signature or verifying your credentials with Shopify. This immediately narrows our focus to either Firefox or the Bitwarden extension.
Key Culprit #1: Firefox's Hidden WebAuthn Settings (about:config)
This was a brilliant catch from Vikash Jha. Turns out, Firefox has its own internal WebAuthn handling that can silently interfere with third-party passkey providers like Bitwarden. If certain settings are toggled, Firefox might try to use its own authenticator instead of passing the request to Bitwarden, leading to exactly the "Bitwarden popup never opens" symptom.
How to Check and Fix Firefox's Internal Settings:
This is a bit of a power-user move, but it's straightforward:
- Open a new tab in Firefox.
- Type
about:configinto the address bar and hit Enter. - You'll likely get a warning about proceeding with caution. Accept it.
- In the search bar at the top, type
security.webauthn.enable_softtoken. - Check its value. If it's set to
true, Firefox might be trying to use its own software authenticator. Click the toggle button (usually an arrow icon) to switch it tofalse. - Next, search for
security.webauthn.enable_usbtoken. - Similarly, if this is set to
true, Firefox might be expecting a physical hardware key. Toggle it tofalseif you're not using one or if it's unexpectedly enabled.
Vikash explained that Chrome doesn't have these competing internal WebAuthn handlers, which is why ferares's passkey worked there but not in Firefox. Adjusting these settings can often resolve the conflict.
Key Culprit #2: Bitwarden's Blocked Domains
Another excellent point raised by lumine involves Bitwarden's own internal domain management. If, at some point, you accidentally clicked "Use your device or hardware key" when Bitwarden prompted you for a passkey on accounts.shopify.com, the extension might have added that domain to its blocked list. When a domain is blocked, Bitwarden won't offer to save or use a passkey there, forcing Firefox to fall back to its own (often unhelpful) dialog.
How to Check and Unblock Domains in Bitwarden:
- Open your Bitwarden extension.
- Go to Settings.
- Look for Notifications and then "Ask to save and use passkeys".
- Within these settings, you should find a list of blocked or excluded domains.
- Carefully look through this list for
accounts.shopify.com. - If you find it, remove it from the blocked list.
Key Culprit #3: Mismatched Passkey IDs
This one's a bit more technical, but it's worth checking if the above steps don't work. The JSON response ferares shared included an allowCredentials array with one specific id:
{
"result": "error",
"reason": "user_submission_canceled_passkey",
"credential_options": {
"challenge": "YYYYYYYYYYY",
"timeout": 120000,
"extensions": {},
"allowCredentials": [
{
"type": "public-key",
"id": "ZZZZZZZZZZZZZZ"
}
],
"rpId": "accounts.shopify.com",
"userVerification": "preferred"
},
"selected_method": "passkey",
"other_info": {},
"severity": null
}
That "id": "ZZZZZZZZZZZZZZ" (redacted here) is the specific passkey identifier Shopify is expecting. Lumine pointed out that Bitwarden keeps one passkey per login item. If you've ever overwritten your passkey or created it elsewhere, the ID stored in your Bitwarden vault might not match the one Shopify expects. If they don't match, every attempt to log in will fail.
How to Check and Re-enroll Your Passkey:
- You can export your Bitwarden vault (temporarily, and securely delete it afterwards) to see the passkey IDs it stores. Compare that ID against the one in the
credential_optionsfrom Shopify's error response. - If they don't match, the fastest way to fix this is to remove the existing passkey from your Shopify account (you'll usually find this in your security settings) and then enroll a fresh one. This ensures Shopify and Bitwarden are both on the same page with the correct passkey ID.
General Troubleshooting & Diagnostics
Beyond these specific fixes, the community offered some solid general troubleshooting steps:
- Disable Other Extensions: Steve_TopNewYork suggested trying Firefox with all other extensions temporarily disabled except Bitwarden. This helps rule out conflicts with other browser add-ons.
- Private Browsing or New Profile: Try logging in from a private browsing window or even create a fresh Firefox profile. This can help rule out profile-specific corruption or cached issues.
- Test with
webauthn.io: Lumine's brilliant diagnostic tip was to visit webauthn.io in the same Firefox browser. Try to register and authenticate a passkey there. If Bitwarden prompts correctly on that site, it suggests the problem is domain-specific (like the blocked domains issue) rather than a fundamental Firefox or Bitwarden problem. - Verify Passkey Settings: Double-check that passkeys are enabled and configured correctly in both Firefox and your Bitwarden extension.
- Report to Bitwarden: If you've tried all these steps and the issue persists, especially if it only fails in Firefox, it might be a bug or regression. Consider reporting it to Bitwarden's support team.
It's clear from this discussion that passkey issues, especially when mixing browsers and password managers, often come down to subtle configuration conflicts rather than a broken passkey or a problem with Shopify itself. By systematically checking Firefox's internal WebAuthn settings, Bitwarden's domain blocking, and ensuring your passkey IDs match, you can often get your Shopify login back on track. For those looking to set up their own secure online presence, starting a Shopify store is a fantastic choice, and passkeys are a great way to keep it secure once you're up and running. Keep these troubleshooting tips handy, and you'll be logging in seamlessly in no time!