Skip to content
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

Documentation and samples improvements to identity for .NET 8 #29452

Open
3 of 16 tasks
JeremyLikness opened this issue Jun 7, 2023 · 9 comments
Open
3 of 16 tasks

Documentation and samples improvements to identity for .NET 8 #29452

JeremyLikness opened this issue Jun 7, 2023 · 9 comments

Comments

@JeremyLikness
Copy link
Member

JeremyLikness commented Jun 7, 2023

A key deliverable to improve the experience of identity management in .NET is improved documentation. Our docs should provide a comprehensive guide that empowers developers to fully understand and utilize our identity management features. Deliverables will include samples for common scenarios that follow our recommended practices for enabling and integrating authentication and authorization in .NET. This issue will serve to track individual work items that roll up to this goal.

TODO (this list will grow as we iterate on the docs)

Samples (TBD) - right now these are examples and not committed work.

  • Angular with custom Angular UI for identity admin
  • React with custom React UI for identity admin
  • Mobile (.NET MAUI) access using tokens
  • Blazor WebAssembly Standalone - see this PR
  • Blazor Web App with External Login
  • ASP.NET Core Web API
  • Example that uses permissions/claims and not just "is authenticated"
  • LDAP/Windows login

Stretch goals

  • Backend for frontend pattern for identity in .NET
  • Multi-tenancy with identity in .NET
@JeremyLikness
Copy link
Member Author

Please see this PR for the Blazor WebAssembly Standalone example /cc @Rick-Anderson

@Aquaritek
Copy link

Aquaritek commented Dec 8, 2023

Is there any movement here?

Myself and another team member have been trying to implement the following stack:

Asp.Net Core Web Api (backend identity provider to issue tokens and host api)
Blazor Web App with Interactivity per component
Blazor Hybrid Maui App

We've been going in circles for about 30 days now basically with daily scraps of all code written as it's dead end after dead end after dead end.

I should mention that we have read and re-read the entire documentation stack on authentication and security for each of the technologies above probably 3 times now and the more you ingest the more scattered you become. We're at a loss at this point.

Jokingly, we're both Mensan's but Identity Framework has us feeling like the most ignorant saps in the world. Haha!

@AlbertoPa
Copy link
Contributor

I add this link here: https://github.com/dudley810/dotnet8identityopenid because the example is useful to those struggling with MS Identity Platform (Entra/AD).

@MrChriZ
Copy link

MrChriZ commented Dec 12, 2023

I'd love to see a sample with Blazor WASM, a Web API backend and something like Google or Facebook login (or even better both).

@kjartanvalur
Copy link

Angular SPA sample with two factor authentication & reset password would be really beneficial for the community.

@lonix1
Copy link

lonix1 commented Dec 14, 2023

What we've needed for years are SIMPLE and complete examples for:

  • cookies, and
  • JWTs

And those examples should be:

  • without Identity Server, and
  • without Azure

@Aquaritek
Copy link

Dropping another comment here because we've decided to back entirely out of the attempted stack I previously wrote about.

Net8 Blazor is a real headache with per component lifecycles and roll your own auth stack with an out of process identity provider that implements IdentityFramework. You run into all sorts of dependency lifecycle and state headaches client side. Server side works well enough but you're better off re-rolling the identity endpoints because they're limited and very oddly structured.

For documentation you're left with traversing the AspNetCore source through the Security, Http, and Authorization namespaces which are highly decoupled. While that's good architecture it's next to impossible to "learn" from and feels like a black box.

Definitely lots of work left to do in the Auth space IMO. IdentityFramework is completely capable just have no idea how to put it all together the right way.

Hopefully by Net9 or 10 even - we can have options that don't require a team to train on and implement. Specifically that allows fluid same site and in app UI/UX and no third party dependencies (especially cloud Identity providers.. capitalism 👍).

With peace, Aqua.

@rileymclaughlinofsheppard

Is there any progress? I am unable to preserve WASM and Auto interactivity when implementing ME-ID auth in my Blazor Web app and would love a document outlining the holistic approach.

@twojnarowski
Copy link

A documentation on how to use Identity in a Blazor Server Side app would be helpful, because right now it needs a bit of work with saving the user state from the context on startup and a custom revalidating logic without access to the httpContext.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants