## Documentation

- About
- Read First
  - What is IdentityServer
  - Installation Scenarios
- Migrations
- Bootstrapping
- Configuration & Integration
  - AdminUI Settings
  - Configuring AdminUI
  - Configuring AdminUI (NuGet)
  - Integrating with Identity Server
  - Integrating with Identity Server Custom Schema
  - Integrating with Quickstarts
  - Enabling Logging
- Installation
  - IIS
  - Azure
    - Install in Azure
    - Create Azure Web App
  - Docker
  - NuGet
- Custom Database Connections
- Custom Identity Store
  - Overview
  - Partial Implementation
  - Full Implementation
  - Tenancy With Entity Framework
  - NoSql Implementation (MongoDB)
- Custom CSP
- Users
  - Searching for Users
  - Adding Users
  - Editing Users
  - Deleting Users
  - Merge Users
  - Set User Password
  - Session Management
  - User Reports
  - Bulk User Import
- Roles
  - Creating Roles
  - Managing Roles
  - Managing Users in a Role
  - Managing Role Claims
- Claim Types
- Clients
  - Searching for Clients
  - Adding Clients
  - Adding a SAML Client
  - Adding a WS-Fed Client
  - Editing Clients
  - Deleting Clients
  - Clone Client
- Import and Export
  - Exporting Clients
  - Importing Clients
  - Importing Client Configuration with Secrets
  - Importing SAML Clients with Certificates
  - Import and Export Via the API
- Dynamic Authentication Providers
  - What is Dynamic Authentication
  - Enabling or disabling Dynamic Authentication
  - Add a Dynamic Provider
    - First Steps
    - Adding OIDC Provider
    - Adding SAML Provider
  - Edit a Dynamic Provider
    - Accessing edit view
    - Editing a OIDC Provider
    - Editing a SAML Provider
  - Deleting a Provider
  - Searching for Provider
- Resources
  - Searching for Resources
  - Creating Resources
  - Editing resources
- Webhooks
  - Webhooks
  - Endpoint Configuration
- MCP
  - Overview
  - Default Server Prompt Instructions
- User Settings Endpoints
- Access Policy
- Keys
- Auditing
- FAQs
- Troubleshooting
  - Unable to start AdminUI
  - Unable to contact IdentityServer
  - Unable to contact API
  - Unable to log in

### FAQs

- -I am experiencing caching issues when updating AdminUI
- -When updating/deleting a user/client/resource AdminUI is unable to perform the action and a CORS error is in the console.
- -I have installed AdminUI, but it is in a foreign language.
- -When running migrations I get a Create Unique Index error
- -I’m getting a HTTP Error 500.19 - Internal Service Error when starting AdminUI.
- -When starting AdminUI I get the following message - “An unhandled exception occurred while processing the request. AggregateException: One or more errors occurred. (One or more errors occurred. (Failed to start 'npm')”
- -When running AdminUI on a path, the path is stripped from UI requests
- -My license key is invalid, what do I do?
- -What is the difference between a blocked user and a deleted user? How are they treated in AdminUI?
- -When running AdminUI migration a timout occurs causing them to fail
- -When loging in AdminUI, IdentityServer reports invalid redirect_uri
- -I receive a missing 'AspNetClaimTypes' or 'EnumClaimTypeAllowedValues' table error message

## I am experiencing caching issues when updating AdminUI

This is typically due to the index.html file being cached in the browser. Whilst AdminUI has aggressive default caching in the index.html file these settings could be overriden by certain setups. If this is the case or you need to change the defaults we recommend updating your webserver following the guidelines from the mozilla documentation.

## When updating/deleting a user/client/resource AdminUI is unable to perform the action and a CORS error is in the console.

If you can sign in but not update users/clients/resources then you may have something blocking PUT/DELETE requests on your environment

## I have installed AdminUI, but it is in a foreign language.

The website uses your browser culture to check what language to display. You can either change your browser language or change the route to use your preferred culture of choice: e.g: http://YourAdminUI-UI/en-GB.

## When running migrations I get a Create Unique Index error

If you see and error similar to the following:

    CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.ClientScopes' and the index name 'IX_ClientScopes_ClientId_Scope'. The duplicate key value is (1, admin_api).

This usually occurs when trying to upgrade to an AdminUI versions from before we introduced a unique index on the ClientScopes and ApiScopes tables.

The fix is to rename duplicate ApiScopes and remove duplicate entries from the ClientScopes table.

## I’m getting a HTTP Error 500.19 - Internal Service Error when starting AdminUI.

Please download and run the dotnet core hosting bundle.

For those on AdminUI 6.x.x and above please use the following link:

https://dotnet.microsoft.com/en-us/download/dotnet/6.0

For those on AdminUI 3.x.x to 5.x.x and above please use the following link:

https://dotnet.microsoft.com/download/dotnet-core/3.1

If you are running AdminUI 2.6 and below please use the following link:

https://dotnet.microsoft.com/download/dotnet-core/2.1

If this fails to work and your configuration looks correct please send us a copy of your AdminUI logs to support@identityserver.com and we will be able to help as soon as possible.

## When starting AdminUI I get the following message - “An unhandled exception occurred while processing the request. AggregateException: One or more errors occurred. (One or more errors occurred. (Failed to start 'npm')”

This is due to your ASPNETCORE_ENVIRONMENT being set to “Development”. to change this set the ASPNETCORE_ENVIRONMENT variable to “Production” Either in your appsettings.json or your web.config

## When running AdminUI on a path, the path is stripped from UI requests

Please use the X-Forwarded-Prefix header to allow AdminUI to attach your path to the PathBase of the request.

For example in nginx this would look like:

    location /admin/{
    ...
                proxy_set_header   X-Forwarded-Prefix /admin;
    ...
    }

## My license key is invalid, what do I do?

Please ensure that you have only copy pasted the Base64 string. Example:

    eyJTb2xkRm9yIjowLjAsIktleVByZXNldCI6MSwiU2F2ZUtleSI6ZmFsc2UsIkxlZ2FjeUtleSI6ZmFsc2UsIlJlbmV3YWxTZW50VGltZSI6IjAwMDEtMDEtMDFUMDA6MDA6MDAiLCJleHAiOiIyMDIwLTA3LTMwVDAxOjAwOjAyLjgzOTIwNTIrMDE6MDAiLCJpYXQiOiIyMDIwLTA2LTMwVDAwOjAwOjAyIiwiYXVkIjoxLCJ0eXBlIjozfQ==.f6vJQUvAZeSIe+1kf9n2G664UgDcpctpET7YwGrRP+h8V2bn9TYi/NXizi2ddQYEoWCmJSk47ro6JZJLjc1wq+5Re9Eu+rJjjaPcLRkgrOLJgaGZYYQJIwHS4Obta+uYtoC7uGqyYubtqxmExh1DghYOF8wR/E3ZauRJHlKG9aObVVxXt3VecPzl4+bGOGOC0vCk07aLYxW5VE539Pfv9hFAmPaM5mgy6br7cW0PAvbVNwSnLdmFgE0CgDYcHouItd6jVHILRvD6s0CjZjEFJ1Dhu2OH3CHau3GXpSQ/Xl85GXHClorY5JbC5UcqCPpqbTyYUd7QBV0e2H0VHBNRxb8AvZ2SnacY94DiZouzbDhso9ihEy3Jt4dHvDjsW5TJ5lvFFgRBJNFajG3ZBN2pfd/4O/CgWzJw+SX0epTcE7cd31OzWBCOqE4yxYbPTANqHiweqToROaangoUUYDm6M7IhjjCDtczgLCoI5hu28ZxI7xN4NYBqKS4uWF71uw+QW3YckQSiZQOo9Nc4NJBPMVdLi8O0LwAse5RIT8ywJoFbm25r4Oat18tILn7HsIuJH7WXC8jQxwL0qEZjbuNYBAgI/UN7Yw5xTXp6evbIUNrmiTO6o7DE0QviOy89qH0BT3QrKoPdEaHH4RM+rsgiQGcd2QBjU9PS5A7NDpsRc/E=

Ensure there are no additional characters before or after the license key.

If your license key has expired or is setup against an AuthorityUrl you did not expect. Please contact support@identityserver.com

## What is the difference between a blocked user and a deleted user? How are they treated in AdminUI?

The 'IsDeleted' attribute is typically employed for a soft delete, preserving user information for auditing purposes. On the other hand, 'IsBlocked' is typically utilized in scenarios where a password has been compromised, preventing login until the password is reset.

In the default User Store of AdminUI, users are not deleted from the database but rather have 'IsDeleted' set to true for auditing. Consequently, these users disapear from the user list but users could still log in if your IdentityServer login conditions are not configured accordingly.

The primary impact on AdminUI is that users marked with either of these attributes will not be visible in the user list.

To prevent confusion, consider one of the following options:

- Integrate the 'IsDeleted' field into your authentication logic, disallowing login for any user marked with this attribute.
- Develop your custom user store and perform a hard delete on the user when the delete button is pressed (not recommended). Keep in mind that this approach will result in the loss of audit entry information related to that user. The documentation for adding a custom user store can be found here: Custom Identity Overview.

## When running AdminUI migration a timout occurs causing them to fail

If you experience timeouts when running migrations, you can specify a custom timeout length using the 'TimoutLengthInSeconds' setting. This setting will override the default CommandTimeout value on the dbContext with the value you provide.

## When loging in AdminUI, IdentityServer reports invalid redirect_uri

If you're encountering an "invalid redirect_uri" error when attempting to log in to AdminUI, and your AdminUI sits behind a reverse proxy, this is likely due to a known issue .NET 8.0.17 and 9.0.6 related with forwarded headers.

This issue has been resolved in AdminUI v10.2.0.

In addition to fixing the redirect issue, this version introduces related configuration and security changes. You can learn more about those adjustments here.

## I receive a missing 'AspNetClaimTypes' or 'EnumClaimTypeAllowedValues' table error message

If you receive this error message, it is likely that you have not migrated your ASP.NET Identity schema to the extended ASP.NET Identity schema for AdminUI. Alternatively, if you are not using ASP.NET Identity, you may need to set up your custom identity for AdminUI instead.

- docs for AdminUI Migrations
- docs for setting up custom identity

Previous Next