Skip to content

Conversation

@mattleibow
Copy link
Member

@mattleibow mattleibow commented Oct 14, 2025

This pull request introduces several improvements and updates across the shared and web components of the MauiBlazorWeb project.

The most significant changes include upgrading the target framework and package versions to .NET 10, refactoring and consolidating service interfaces, enhancing navigation and authorization logic in the navigation menu, and adding new endpoints for passkey authentication. Additionally, minor styling and usability enhancements have been made.

Framework and Package Upgrades

  • Updated the target framework in MauiBlazorWeb.Shared.csproj to net10.0 and upgraded all related NuGet package references to their 10 versions.

Navigation and Authorization Improvements

  • Refactored NavMenu.razor to use a more streamlined navigation structure, inject the new ISupportedFeatures service, and conditionally display account management links based on feature support and user authorization status.
  • Added a new NotFound.razor page to provide a user-friendly message for missing content. This is part of the .NET 10 templates.
  • Added a few more authentication pages to the .NET MAUI app so that it also demonstrates the communication with the server's identity endpoints.

Service Interface Refactoring

  • Refactored service interfaces (IFormFactor, IWeatherService) to use file-scoped namespaces and simplified method signatures.
  • Added a new ISupportedFeatures interface for feature detection.

Identity and Authentication Enhancements

  • Added new endpoints for passkey creation and request options in IdentityComponentsEndpointRouteBuilderExtensions.cs to support advanced authentication scenarios. This is part of the .NET 10 templates.
  • Refactored identity-related classes to use file-scoped namespaces and improved redirect logic, including a new method to handle invalid users.

Styling and Usability

  • Improved CSS for navigation and forms, including better placeholder handling and accessibility enhancements. This is part of the .NET 10 templates.
  • Expanded _Imports.razor to include additional shared namespaces for easier access throughout the project.
  • Improved the layout and styling of the authenticaton pages in the .NET MAUI app.

Fixes #591

@mattleibow
Copy link
Member Author

mattleibow commented Oct 14, 2025

@guardrex I am opening this PR to update the samples to .NET 10. This is just the update of the app based on all the changes in the .NET 10 templates.

I created this poor quality issue #591, but hopefully you can forgive that since @BethMassi and @danroth27 said it was cool to do. I am also skirting the rules since I am a Microsoft FTE.

But this PR is specifically for the review. I am leaving it in draft for now until I get a preliminary review.

Also CC @lewing and @javiercn

@guardrex
Copy link
Contributor

guardrex commented Nov 5, 2025

Hi @mattleibow ... Where do we stand on this because release is next week? I'm trying to get all 10.0 samps in place by EOW, and I'd like to try and get this merged by then if possible.

@halter73
Copy link
Member

halter73 commented Nov 6, 2025

It seems like a lot of the changes are not directly related to using new API available in .NET 10. Can we also update the net9.0 app at https://github.com/dotnet/blazor-samples/tree/main/9.0/MauiBlazorWebIdentity with these changes? That would make it easier to review too.

@guardrex
Copy link
Contributor

guardrex commented Nov 6, 2025

@halter73 ... UPDATED: Disregard what I just typed! 😄 ... I thought for a sec that you meant making the 9.0 sample a 10.0 sample. Now, I see that you're only referring to the version-agnostic changes that @mattleibow is making here.

Whatever is done, there isn't much time left. Can we get this sample (and with the updates to the 9.0 sample) merged by time we reach release?

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.

Update the MauiBlazorWebIdentity sample to .NET 10

3 participants