Adding Passkeys to ASP.NET Core Identity (with 2FA Fallback)
How to add passkey (WebAuthn) sign-in to ASP.NET Core Identity in .NET 10, keep TOTP 2FA as the fallback, and roll passkeys out to an existing user base.
Blog
Practical guides on Blazor, .NET MAUI, ASP.NET Core, EF Core, and SignalR — written from shipped projects, not documentation summaries.
How to add passkey (WebAuthn) sign-in to ASP.NET Core Identity in .NET 10, keep TOTP 2FA as the fallback, and roll passkeys out to an existing user base.
A practical decision tree for Blazor Server, WebAssembly, and Hybrid — how circuits, WASM payloads, and WebViews actually behave, and which one fits your app.
Capture the real SQL EF Core generates, read the SQL Server execution plan, and fix scans, client-side evaluation, and bad query shapes — step by step.
Set up offline-first SQLite storage in a .NET MAUI Blazor Hybrid app — EF Core in the MAUI host, safe file paths, and repositories shared with your web app.
Put your Blazor UI in a Razor Class Library and run it on both web and .NET MAUI Hybrid — project structure, DI seams, static assets, and the pitfalls I hit.
Build a real-time leaderboard with SignalR and Blazor — hub and group design, a working client, one source of truth for rankings, and scaling notes.