## Documentation

- About
- Read First
  - What is IdentityServer
  - Installation Scenarios
- Migrations
- Configuration & Integration
  - Configuring AdminUI
  - Integrating with Identity Server
  - Integrating with Quickstarts
  - Enabling Logging
- Installation
  - Installer
  - IIS
  - Azure
  - Docker
- Users
  - Searching for Users
  - Adding Users
  - Editing Users
  - Deleting Users
  - Set User Password
- Roles
  - Creating Roles
  - Managing Roles
  - Managing Users in a Role
- Claim Types
- Clients
  - Searching for Clients
  - Adding Clients
  - Adding a SAML Client
  - Adding a WS-Fed Client
  - Editing Clients
  - Deleting Clients
- Import and Export
  - Exporting Clients
  - Importing Clients
  - Importing Client Configuration with Secrets
  - Importing SAML Clients with Certificates
  - Import and Export Via the API
- Resources
  - Searching for Resources
  - Creating Resources
  - Editing resources
- Webhooks
  - Webhooks
  - User Registration Endpoint
  - Password Reset Endpoint
- User Settings Endpoints
- Access Policy
- Auditing

### Integrating with Quickstarts

- -Update Your Packages
- -Required Packages
- -Registration & Usage Changes

If you have been following the IdentityServer Quickstarts whilst you are evaluating the framework, you can easily integrate AdminUI using the instructions below. Using the Quickstarts that build upon the ASP.NET Core Identity Visual Studio templates is not recommended for production scenarios, due to their fragility and abuse of anti-patterns.

## Update Your Packages

If you have downloaded the code straight from the samples repository, ensure all packages are up to date (excluding pre-releases).

## Required Packages

To get started, you're going to need the AdminUI ASP.NET Core Identity schema. This simply builds upon the defaults found in the ASP.NET Core Identity Entity Framework library.

To install this package either use the nuget package manager console with:

    install-package IdentityExpress.Identity

or search the package manager for `IdentityExpress.Identity`.

## Registration & Usage Changes

We'll now need to swap some of the base entities with AdminUI/IdentityServer specifics. Please follow the below steps:

1. Delete `Models\ApplicationUser.cs`
2. Replace all usages of `ApplicationUser` with `IdentityExpressUser`
3. Replace all usages of `IdentityRole` with `IdentityExpressRole`
4. Delete `Data\ApplicationDbContext.cs`
5. Replace `.AddEntityFrameworkStores<IdentityExpressDbContext>()` with `.AddUserStore<IdentityExpressUserStore>().AddRoleStore<IdentityExpressRoleStore>()`
6. Add .AddIdentityExpressUserClaimsPrincipalFactory() to ensure user data is correctly transformed into claims
7. Delete any ASP.NET Core Identity migrations, AdminUI must be in charge of the user store migrations

Your ASP.NET Core DI registrations should now look something like the following:

    services.AddDbContext<IdentityExpressDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    services.AddIdentity<IdentityExpressUser, IdentityExpressRole>()
        .AddUserStore<IdentityExpressUserStore>()
        .AddRoleStore<IdentityExpressRoleStore>()
        .AddIdentityExpressUserClaimsPrincipalFactory()
        .AddDefaultTokenProviders();

Previous Next