Identity & IdentityServer
- DO use ASP NET Core Identity when developing a NET Core application
- DO use .NET Identity when developing a .NET application
- AVOID using .NET Membership when developing a .NET application
- DO use IdentityServer
- AVOID making an identity system yourself
Recommendations
DO use ASP NET Core Identity when developing a NET Core application
When you are not using an external identity system such as Google identities for logins, use ASP.NET Core Identity to set up the typical set of user-tracking tables and behaviors, so that you don’t have to reinvent them from scratch.
ASP.NET Core Identity is a membership system that adds login functionality to ASP.NET Core apps. See Introduction to Identity on ASP.NET Core
DO use .NET Identity when developing a .NET application
If you’re not working with ASP.NET Core, see Introduction to ASP.NET Identity.
AVOID using .NET Membership when developing a .NET application
.NET Membership has been replaced by .NET Identity.
DO use IdentityServer
We use IdentityServer for any non-trivial authentication needs. IdentityServer eases OAuth / OpenID Connect integrations in support of single sign-on, identity management, authorization, and API security. IdentityServer documentation is easy to follow and walks through several concrete examples of various OAuth flows.
IdentityServer is made to work with ASP.NET Core’s “middleware” concept, in which Startup.cs
attaches IdentityServer behavior into the HTTP request pipeline hooks. API and MVC actions, for instance, can all use IdentityServer middleware for authorization, and all of your auth setup code appears together in Startup
.