DavidAJohn / FotoStorio

Blazor WebAssembly application for a fictional photography store, with Stripe Elements payment integration and styling with Tailwind CSS.
MIT License
5 stars 1 forks source link

Implementing .NET 8 Identity #23

Closed DavidAJohn closed 11 months ago

DavidAJohn commented 1 year ago

My intention is to use this project as a means of testing the new changes to .NET Identity in version 8, now that RC1 has been released (on 12th Sep 2023).

Dan Roth's blog post announcing preview 7, lists the changes to Identity (among many other things).

David Fowler has a sample project on GitHub.

And Andrew Lock has a walkthrough of creating a Web Api with the new Identity API endpoints.

DavidAJohn commented 1 year ago

In a follow-up article, Andrew Lock has also pointed out some significant problems.

After trying this out myself, I can see what he means. There are some major issues, specifically a lack of flexibility and customisation. Hopefully they will be addressed by the .NET team over time, but at the moment I may need to look at alternatives.

DavidAJohn commented 1 year ago

With RC2 there is a project template that shows how to implement security in .NET 8. It looks messy and complicated.

And I really, really don't like the new Blazor app templates where everything with a .razor extension is thrown under the 'Component' folder.

DavidAJohn commented 1 year ago

Here's the Microsoft guide to securing a Blazor WASM app:

https://learn.microsoft.com/en-gb/aspnet/core/blazor/security/webassembly/standalone-with-identity?preserve-view=true&view=aspnetcore-8.0

DavidAJohn commented 1 year ago

I watched the demo Jeremy Likness and Stephen Halter did at .NET Conf, but they weren't given enough time and had to race through it.

There doesn't seem to be any detailed documentation yet either, which leaves parts of the code largely unexplained.

DavidAJohn commented 1 year ago

It's probably still worth looking at just as an exercise. I can move some of the files and classes across from the .NET 8 Identity project template and then integrate them.

This monolithic version of FotoStorio isn't intended as a turnkey production solution after all.

For the more complex microservice version I'd probably take another look at something like OpenIddict instead of this though.

DavidAJohn commented 11 months ago

Closing this as it will be incorporated into the general .NET 8 update.