---
title: Integrating with IdentityServer
---

After using the IdentityServer Quickstarts to evaluate the framework, it is then possible to integrate AdminUI for production use.

**Note:** Quickstarts built using the ASP.NET Core Identity Visual Studio templates are not recommended for production, due to their fragility and abuse of anti-patterns.

AdminUI uses a custom ASP.NET Core Identity schema. This schema extends from the [ASP.NET Core Identity Entity Framework](https://github.com/dotnet/aspnetcore/blob/main/src/Identity/EntityFrameworkCore/src/IdentityDbContext.cs) defaults, which means any existing registration, password reset or login functionality will continue to work with the AdminUI user store.

**Note:** Existing users will need to be exported to use the AdminUI schema. For more details, see [AdminUI Migrations](../../Migrations/Migrations_Help/).

This schema is [available on nuget](https://www.nuget.org/packages/IdentityExpress.Identity/) using the `IdentityExpress.Identity` package. An [AdminUI IdentityServer integration example](https://github.com/RockSolidKnowledge/Samples.IdentityServer4.AdminUiIntegration) is also available to demonstrate a working IdentityServer installation using this nuget package and schema.

Use the following command to install using the nuget package manager console:

```language-bash
install-package IdentityExpress.Identity
```

To use the AdminUI `IdentityExpress.Identity` schema, any existing ASP.NET Identity registrations need to be updated:

```language-csharp
// Register Identity using IdentityExpress entities and stores
services.AddIdentity<IdentityExpressUser, IdentityExpressRole>()
  .AddUserStore<IdentityExpressUserStore>()
  .AddRoleStore<IdentityExpressRoleStore>()
  .AddIdentityExpressUserClaimsPrincipalFactory();

// Register the DbContext for the IdentityExpress schema
services.AddDbContext<IdentityExpressDbContext>();
```

Alternatively, there is a shortcut extension method:

```language-csharp
services.AddIdentityExpressAdminUiConfiguration()
  .AddIdentityExpressUserClaimsPrincipalFactory();
```

Any existing registrations for `SignInManager` or use of `IdentityUser` should also be updated.
