Skip to content

task(functional-tests): Add support for passkey registration#20428

Open
dschom wants to merge 1 commit intomainfrom
FXA-13074
Open

task(functional-tests): Add support for passkey registration#20428
dschom wants to merge 1 commit intomainfrom
FXA-13074

Conversation

@dschom
Copy link
Copy Markdown
Contributor

@dschom dschom commented Apr 22, 2026

Because

  • We want to put passkey registration under functional test

This pull request

  • Adds tests to support basic passkey operations
  • Uses chrome for testing passkey registration because the firefox instance that playwright uses doesn't expose the necessary APIs to conduct these tests.
  • Adjusts the CI to run the passkeys with project=local-chromium

Issue that this pull request solves

Closes: FXA-13074

Checklist

Put an x in the boxes that apply

  • My commit is GPG signed.
  • If applicable, I have modified or added tests which pass locally.
  • I have added necessary documentation (if appropriate).
  • I have verified that my changes render correctly in RTL (if appropriate).
  • I have manually reviewed all AI generated code.

How to review (Optional)

  • Key files/areas to focus on:
  • Suggested review order:
  • Risky or complex parts:

Screenshots (Optional)

Please attach the screenshots of the changes made in case of change in user interface.

Other information (Optional)

It's worth noting that another option, although it was not recommended by Claude, was creating a virtual webauthn adapter that acted like a polyfil and would be added to the browser during the page initialization. The big down side to this is that we aren't actually testing a real implementation of webauthn. By using chrome here, we are at least exercising an actual implementation of the web authn spec that is running in a browser. We therefore do not have maintain our implementation, and assuming Firefox and Chrome are aligned in their implementation of webauthn, we get good / realistic test coverage.

It's possible that in the long run this doesn't hold up, and we need to generate polyfils. For example for example if we want to test sign-in to sync with a passkey, we must then use a polyfil for this flow, since it requires passing web channel messages to Firefox.

@dschom dschom force-pushed the FXA-13074 branch 5 times, most recently from 42c01fb to bc666c7 Compare April 22, 2026 23:06
@dschom dschom marked this pull request as ready for review April 23, 2026 00:18
@dschom dschom requested a review from a team as a code owner April 23, 2026 00:18
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

Successfully merging this pull request may close these issues.

1 participant