Skip to content

Add passkey tests verifying WebAuthn conformance #62441

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: mbuck/passkeys
Choose a base branch
from

Conversation

MackinnonBuck
Copy link
Member

Add passkey tests verifying WebAuthn conformance

Adds tests to verify that the ASP.NET Core Identity passkey implementation conforms to the WebAuthn standard.

Description

We have an existing sample project in this repo (IdentitySample.PasskeyConformance) that can be run against the official FIDO Conformance Testing tools to verify that our implementation of passkeys is conformant with the WebAuthn specification. However, it's currently not possible to run this tool in CI, as the tool is not open source nor does it have a CLI interface.

This PR adds CI-compatible tests that verify conformance with the WebAuthn specification, at least to the degree that we currently support (e.g., there are no attestation statement verification tests). Instead of validating passkey functionality in an E2E manner like the conformance testing tool (we already have some coverage in existing E2E tests), these tests directly validate the DefaultPasskeyHandler implementation in-memory. This is a simpler approach that gives us full control over test input data that would normally be generated by the browser and allows us to validate implementation-specific behavior that the official conformance testing tool cannot.

This PR also extends existing functional tests to cover passkey functionality:

  • Tests for version 3 of the Identity store schema
  • New SignInManager tests
  • New UserManager tests

Fixes #62440

@MackinnonBuck
Copy link
Member Author

Note that this PR currently targets #62112, which hasn't been merged because it's blocked on #62356. After those PRs get merged, I'll change the base of this PR to main.

@MackinnonBuck MackinnonBuck requested a review from halter73 June 23, 2025 16:09
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