Skip to content

Add lightweight passkey identity sample - #5

Merged
balajibashyam merged 5 commits into
mainfrom
feature/passkey-identity-sample
Jul 30, 2026
Merged

Add lightweight passkey identity sample#5
balajibashyam merged 5 commits into
mainfrom
feature/passkey-identity-sample

Conversation

@balajibashyam

Copy link
Copy Markdown
Contributor

Summary

Adds a minimal .NET 10 companion sample for the Passkeys in ASP.NET Core Identity (.NET 10): Build a Passwordless-First Web App with WebAuthn tutorial.

What's included

  • New sample: aspnet-core/passkey-first-identity/ — 15 files

    • .NET 10 ASP.NET Core Identity with schema version 3
    • SQLite with EnsureCreated schema bootstrapping
    • Development-only bootstrap user (demo@example.com)
    • Bootstrap password login endpoint
    • Passkey creation-options, registration, request-options, sign-in, and listing endpoints
    • Antiforgery validation on every state-changing passkey POST
    • Minimal browser page and WebAuthn JavaScript using native JSON serialization
    • 6 server-side integration tests (auth boundary, antiforgery, login flow, passkey listing, domain config)
  • Root README: New sample row in the table + updated repository structure

  • GitHub Actions: New test-passkey-identity job in the shared workflow; path filters updated

Deliberately omitted (stays in the full tutorial)

Conditional UI, username-less sign-in, passkey rename/delete, password removal, recovery, email, attestation policy, FIDO metadata, browser automation, production deployment.

Versions

  • .NET SDK: 10.0.302
  • Microsoft.AspNetCore.Identity.EntityFrameworkCore: 10.0.10
  • Microsoft.EntityFrameworkCore.Sqlite: 10.0.10
  • xunit.v3: 3.2.2

Validation

  • dotnet restore — passed
  • dotnet build --configuration Release — passed (0 errors)
  • dotnet test --configuration Release — passed (6/6)
  • Application starts and responds to all endpoints
  • Security scan — clean
  • No generated folders, databases, secrets, private keys, or private paths committed

@balajibashyam
balajibashyam merged commit 468f9b3 into main Jul 30, 2026
7 checks passed
@balajibashyam
balajibashyam deleted the feature/passkey-identity-sample branch July 30, 2026 15:15
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