-
Notifications
You must be signed in to change notification settings - Fork 242
Add passkey (WebAuthn/FIDO2) support and sync Blazor Identity scaffolder with .NET 10 template #3291
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
Add passkey (WebAuthn/FIDO2) support and sync Blazor Identity scaffolder with .NET 10 template #3291
Conversation
Co-authored-by: MackinnonBuck <[email protected]>
Co-authored-by: MackinnonBuck <[email protected]>
|
@copilot there are widespread changes that happened to the Blazor Web App template in .NET 10 beyond just the passkey updates. The latest version of the template can be seen in https://github.com/dotnet/aspnetcore/tree/main/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorWeb-CSharp/BlazorWebCSharp.1. I've started to go through and apply the latest changes to both scaffolders, but there's more work to be done. For example, Can you please go through all the files in the current version of the Blazor Web App project template and make sure the corresponding Don't write the generated |
This comment was marked as resolved.
This comment was marked as resolved.
…nullable annotations Co-authored-by: MackinnonBuck <[email protected]>
@copilot Please do this. It may take time but I don't expect there to be massive changes remaining. |
…ct using order Co-authored-by: MackinnonBuck <[email protected]>
Co-authored-by: MackinnonBuck <[email protected]>
Co-authored-by: MackinnonBuck <[email protected]>
Co-authored-by: MackinnonBuck <[email protected]>
Co-authored-by: MackinnonBuck <[email protected]>
Co-authored-by: MackinnonBuck <[email protected]>
This comment was marked as resolved.
This comment was marked as resolved.
...Scaffolding/VS.Web.CG.Mvc/Templates/BlazorIdentity/Pages/Manage/ChangePassword.Interfaces.cs
Show resolved
Hide resolved
…ions Co-authored-by: MackinnonBuck <[email protected]>
...t-scaffolding/Microsoft.DotNet.Scaffolding.CodeModification/Helpers/ProjectModifierHelper.cs
Show resolved
Hide resolved
src/dotnet-scaffolding/dotnet-scaffold/AspNet/Helpers/BlazorIdentityHelper.cs
Show resolved
Hide resolved
...dotnet-scaffolding/dotnet-scaffold/AspNet/CodeModificationConfigs/blazorIdentityChanges.json
Show resolved
Hide resolved
|
Not directly relevant to this PR, but I found that this line often took 30 to 45 seconds to run, and it runs at the start of every |
|
@copilot can you please re-write the original PR comment to concisely summarize the changes in this PR? |
This comment was marked as duplicate.
This comment was marked as duplicate.
...crosoft.DotNet.Scaffolding.TextTemplating/Microsoft.DotNet.Scaffolding.TextTemplating.csproj
Show resolved
Hide resolved
...olding/VS.Web.CG.Mvc/Templates/BlazorIdentity/Pages/ForgotPasswordConfirmation.Interfaces.cs
Show resolved
Hide resolved
src/Scaffolding/VS.Web.CG.Mvc/Templates/BlazorIdentity/Pages/InvalidPasswordReset.Interfaces.cs
Show resolved
Hide resolved
...folding/VS.Web.CG.Mvc/Templates/BlazorIdentity/Pages/Manage/DeletePersonalData.Interfaces.cs
Show resolved
Hide resolved
yeah! can you file an issue for this |
|
Looks good, sorry if I missed it somewhere, but how did you test these changes? |
Good question! I used the following scripts to install the old and new scaffolders, respectively:
Then, when testing the old scaffolder, I followed these steps:
For testing the new scaffolder:
|
Opened an issue here: #3318 |
|
ok great! approved! |
* add comments * [main] Update dependencies from dotnet/arcade (#3198) * Update dependencies from https://github.com/dotnet/arcade build 20250905.5 Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25453.1 -> To Version 11.0.0-beta.25455.5 * Update dependencies from https://github.com/dotnet/arcade build 20250907.1 Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25453.1 -> To Version 11.0.0-beta.25457.1 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * bump package versions in sh scripts (#3196) * add comments (#3193) * bump NuGet package versions in install scripts (#3191) * add comments (#3195) * add comments (#3194) * Update scaffolding package version to RC2 (#3201) * Update scaffolding package version to RC2 * update DotNetScaffold props * Update dependencies from https://github.com/dotnet/arcade build 20250908.3 (#3205) Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25457.1 -> To Version 11.0.0-beta.25458.3 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * bump backupDotNetScaffoldVersion to 10.0.0 (#3202) * change the application name from "dotnet-scaffold" to "dotnet scaffold" (#3203) * remove second arcade folder (#3206) * Update dependencies from https://github.com/dotnet/arcade build 20250909.1 (#3211) Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25458.3 -> To Version 11.0.0-beta.25459.1 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Call build.sh/.cmd directly to avoid multiple publish (#3209) * Call build.sh/.cmd directly to avoid multiple publish Only call publish from windows debug strategy * add component help description (#3207) * Add comments to dotnet-scaffold-aspire (#3213) * add tool installation help (#3208) * Update dependencies from https://github.com/dotnet/arcade build 20250911.3 (#3219) Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25459.1 -> To Version 11.0.0-beta.25461.3 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * add comments to dotnet-scaffold-aspnet (#3214) * add comments to scaffolding core (#3215) * add comments to text templating (#3216) * don't wait forever for a CLI command (#3218) * Update dependencies from https://github.com/dotnet/arcade build 20250912.2 (#3224) On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25461.3 -> To Version 11.0.0-beta.25462.2 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * az CLI commands are caught correctly (#3233) * Update dependencies from https://github.com/dotnet/arcade build 20250917.6 (#3237) On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25462.2 -> To Version 11.0.0-beta.25467.6 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * [main] Update dependencies from dotnet/arcade (#3239) * Update dependencies from https://github.com/dotnet/arcade build 20250918.5 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25467.6 -> To Version 11.0.0-beta.25468.5 * Update dependencies from https://github.com/dotnet/arcade build 20250919.3 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25467.6 -> To Version 11.0.0-beta.25469.3 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run Spectre.Console experience when not using --non-interactive (#3247) * move interactive experience to interactive dir in dotnet-scaffold (#3252) * removed unused code (#3258) * remove unused code (#3257) * [main] Update dependencies from dotnet/arcade (#3259) * Update dependencies from https://github.com/dotnet/arcade build 20250926.3 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25469.3 -> To Version 11.0.0-beta.25476.3 * Update dependencies from https://github.com/dotnet/arcade build 20250927.2 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25469.3 -> To Version 11.0.0-beta.25477.2 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Combine aspire scaffolders under dotnet-scaffold (#3255) * remove dotnet-scaffold-aspire * Show aspire commands under dotnet scaffold command * [main] Update dependencies from dotnet/arcade (#3261) * Update dependencies from https://github.com/dotnet/arcade build 20250929.7 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25477.2 -> To Version 11.0.0-beta.25479.7 * Update dependencies from https://github.com/dotnet/arcade build 20250930.1 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25477.2 -> To Version 11.0.0-beta.25480.1 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Update dependencies from https://github.com/dotnet/arcade build 20251001.1 (#3264) On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25480.1 -> To Version 11.0.0-beta.25501.1 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * move Aspire commands to file, consolidate aspire strings (#3263) * simplify the Getting-Started.md (#3260) * Pin Build.Tasks.Core package version, add es-metadata.yml (#3265) * invoke "dotnet-scaffold aspire" for aspire commands (#3262) * [main] Update dependencies from dotnet/arcade (#3267) * Update dependencies from https://github.com/dotnet/arcade build 20251002.2 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25501.1 -> To Version 11.0.0-beta.25502.2 * Update dependencies from https://github.com/dotnet/arcade build 20251003.2 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25501.1 -> To Version 11.0.0-beta.25503.2 * Update dependencies from https://github.com/dotnet/arcade build 20251004.3 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25501.1 -> To Version 11.0.0-beta.25504.3 * Update dependencies from https://github.com/dotnet/arcade build 20251006.2 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25501.1 -> To Version 11.0.0-beta.25506.2 * Update dependencies from https://github.com/dotnet/arcade build 20251007.4 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25501.1 -> To Version 11.0.0-beta.25507.4 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * do not recognize old aspire package (#3272) * Invoke Aspire commands directly with System.CommandLine (#3271) * Invoke Aspire commands directly with System.CommandLine * return exit code from the running the CLI command * separate out aspnet strings (#3266) * Update dependencies from https://github.com/dotnet/arcade build 20251008.3 (#3274) On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25507.4 -> To Version 11.0.0-beta.25508.3 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Fold aspnet under dotnet scaffold (#3273) * move files and update Program.cs * remove scripts and ignore "dotnet-scaffold-aspnet" tool * change Console to AnsiConsole and fix build * remove the other first party tool * invoke dotnet scaffold aspnet commands directly * fix build * register scaffold steps explicitly, not using reflection * update scripts refrenced in Getting-Started.md (#3281) * Update dependencies from https://github.com/dotnet/arcade build 20251009.1 (#3283) On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25508.3 -> To Version 11.0.0-beta.25509.1 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Simplify the dotnet scaffold option setting logic (#3282) * Aspire command options separated * move aspnet options out * PR comments * add descriptions to --help (#3284) * remove first party component initializer (#3285) * [main] Update dependencies from dotnet/arcade (#3288) * Update dependencies from https://github.com/dotnet/arcade build 20251020.4 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25509.1 -> To Version 11.0.0-beta.25520.4 * Update dependencies from https://github.com/dotnet/arcade build 20251022.1 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25509.1 -> To Version 11.0.0-beta.25522.1 * Update dependencies from https://github.com/dotnet/arcade build 20251024.1 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25509.1 -> To Version 11.0.0-beta.25524.1 * Update dependencies from https://github.com/dotnet/arcade build 20251027.2 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25509.1 -> To Version 11.0.0-beta.25527.2 * Update dependencies from https://github.com/dotnet/arcade build 20251028.1 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25509.1 -> To Version 11.0.0-beta.25528.1 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Update dependencies from https://github.com/dotnet/arcade build 20251030.1 (#3294) On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25528.1 -> To Version 11.0.0-beta.25530.1 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Blazor CRUD uses `NotFound()` method and re-execution middleware (#3290) * Apply changes from the original PR. * Test the new file addition. * Add method that will update Router + move NotFound file out of CRUD dir (it's a page not connected to CRUD only). * Add re-execution middleware. * Adapt replacement for blazor wasm to match old scaffolder's code. * Fix layout of not found page rendered on `NotFound` call. * Re-generate the file after adding layout to NotFound page. * Revert `CallContext` namespace change. * Feedback: conditonal layout. * do not have duplicate usernames entra id (#3297) * [main] Update dependencies from dotnet/arcade (#3295) * Update dependencies from https://github.com/dotnet/arcade build 20251031.1 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25530.1 -> To Version 11.0.0-beta.25531.1 * Update dependencies from https://github.com/dotnet/arcade build 20251103.1 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25530.1 -> To Version 11.0.0-beta.25553.1 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Update dependencies from https://github.com/dotnet/arcade build 20251104.2 (#3302) On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25553.1 -> To Version 11.0.0-beta.25554.2 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * do not create static scaffolder options (#3301) * Update dependencies from https://github.com/dotnet/arcade build 20251105.5 (#3306) On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25554.2 -> To Version 11.0.0-beta.25555.5 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * install msidentity for entra id if not installed (#3307) * [main] Update dependencies from dotnet/arcade (#3308) * Update dependencies from https://github.com/dotnet/arcade build 20251106.3 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25555.5 -> To Version 11.0.0-beta.25556.3 * Update dependencies from https://github.com/dotnet/arcade build 20251107.2 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25555.5 -> To Version 11.0.0-beta.25557.2 * Update dependencies from https://github.com/dotnet/arcade build 20251110.1 On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25555.5 -> To Version 11.0.0-beta.25560.1 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Fix writing to console breaking UI (#3304) * do not write error messages when building scaffolders * use service to display the errors for configuring Entra ID * couple nuget packages with package versions (#3312) * Update dependencies from https://github.com/dotnet/arcade build 20251112.6 (#3313) On relative base path root Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.25560.1 -> To Version 11.0.0-beta.25562.6 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Update `dotnet-scaffold.csproj` to include .tt files (#3314) * Update `dotnet-scaffold.csproj` * Add template files to project packaging * Add .azuredevops/dependabot.yml * Add .azuredevops/dependabot.yml * Add passkey (WebAuthn/FIDO2) support and sync Blazor Identity scaffolder with .NET 10 template (#3291) Co-authored-by: MackinnonBuck <[email protected]> Co-authored-by: Mackinnon Buck <[email protected]> * small nuget package changes (#3316) * updated microsoft.dotnet.scaffolding.shared target framework (#3317) * Update macOS runner to latest (#3320) macOS-13 is being deprecated per actions/runner-images#13046 * Blazor CRUD uses `NotFound()` method instead of navigation (#3162) * Remove `NavigateTo(\"notfound\")` from Blazor CRUD. * Attempt of adding `NotFoundPage` parameter to `Router.razor`. * Add copilot-made templates that should in theory result in creating `NotFound.razor`. * Fix. * Fix namespace. * Fix replace blocks. * Update to net 10 GA packages (#3319) * Update to GA packages * Update other build versions. * Revert aome version updates, remove NU1701 NoWarn * Update Microsoft.Build to highest net8.0 secure compatibile version * Set Stable package versions for dotnetscaffold and scaffolding packages * Update System.Commandline to GA version * Remove reflection call. * calculate the AZ param dynamically (#3326) --------- Co-authored-by: haileymck <[email protected]> Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Ilona Tomkowicz <[email protected]> Co-authored-by: Mackinnon Buck <[email protected]> Co-authored-by: Matt Mitchell <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: MackinnonBuck <[email protected]> Co-authored-by: Drew Noakes <[email protected]>
Summary
Adds passkey (WebAuthn/FIDO2) authentication support to both Blazor Web App Identity scaffolders and synchronizes all Blazor Identity templates with the .NET 10 reference template.
Key Changes
Passkey Support
PasskeySignInAsyncoptions.Stores.SchemaVersion = IdentitySchemaVersions.Version3in Program.csTemplate Synchronization with .NET 10
Fixes #3289