Installing AdminUI Demo

Installing the full AdminUI Demo: AdminUI & Test IdentityServer

If you do not already have a working IdentityServer installation up and running, or just want to demo AdminUI, then this walkthrough is for you.

The demo Docker Compose file will run Docker containers for AdminUI, plus containers test IdentityServer installation & database. It will get you up and running quickly with a full demo test environment.

This walk-through will assume you already have Docker installed on your machine. 

The latest Docker compose file can be downloaded here.

Getting the Docker Compose File

For most basic installations, we can use the Docker Compose file made available upon purchase. This would have been emailed to you after payment.

Updating hosts file

It is vital that before you begin, you add a map within your hosts file from your local IP address to "ids".

To do so, browse to your local hosts file, and add an entry as follows:

127.0.0.1 ids

On Windows, your hosts file is usually found at C:\Windows\System32\Drivers\etc\hosts

On Linux, your hosts file is usually found at /etc/hosts

Configuring the Docker Compose File

There are multiple variables that you can configure in the compose file depending on your setup:

Ports

We can configure both the internal and external ports used in the docker containers. This is in the format of host:container. Please do not change the container port when using the compose file, however you are welcome to change the host port if your environment has any port clashes.

Environment Variables

Environment variables are also available for setting application specifics. These are set in the following format in your Docker Compose file:

environment:
      - UiUrl=http://localhost:5000
      - ApiUrl=http://localhost:5001
      - AuthorityUrl=http://ids:5003

For the api container we have:

  • DbProvider: This sets the database type you are using. Supported types and their values are:
    • SqlServer
    • MySql
    • PostreSql
  • IdentityConnectionString: The connection string for your Identity database (users)
  • IdentityServerConnectionString: The connection string for your IdentityServer database (clients, resources & grants)
  • AuthorityUrl: Url of the IdentityServer installation protecting the UI
  • UiUrl: Url of the AdminUI frontend (the idxui container)
  • RequireHttpsMetadata: Set to true or false if you want to ensure IdentityServer discovery endpoint uses TLS. Must be true for production
  • RunIdentityServerMigrations: Set to true or false if you require AdminUI to run Entity Framework migrations for IdentityServer DbContext's. This is useful if you have a new instance of IdentityServer currently without databases.
  • IdentityDatabaseToMigrateConnectionString (optional): The connection string of your existing ASP.NET Core Identity Entity Framework database that will be migrated to the database used in IdentityConnectionString (this must not be equal to IdentityConnectionString).

For the ui container we have:

  • AuthorityUrl: Url of the IdentityServer installation protecting AdminUI
  • ApiUrl: Url of the AdminUI backend (the idxapi container)
  • UiUrl: Url of the AdminUI frontend (the idxui container)

For the ids container we have:

  • DbProvider: This sets the database type you are using. Supported types and their values are:
    • SqlServer
    • MySql
    • PostreSql
  • IdentityConnectionString: The connection string for your Identity database (users)
  • IdentityServerConnectionString: The connection string for your IdentityServer database (clients, resources & grants)

And finally, for the client container we have:

  • AuthorityUrl: Url of the IdentityServer installation protecting AdminUI

Docker Login

Before we run the containers we have one final step: authentication.

The docker images used for Admin UI are found in a private Docker registry, which is protected by a username and password. These credentials are supplied when you purchase AdminUI.

Once you have the credentials you run:

docker login identityserverregistry.azurecr.io

Docker compose up

Now we can run our Docker Compose file. Change directory to the folder that the docker-compose.yml file is located in, and then run the following command:

docker-compose up

First Use

Admin UI

You should now be able to access the IdentityExpress Admin UI on http://localhost:5000 and authenticate using the bootstrap credentials of: Username: info@rocksolidknowledge.com and Password: Password123!

Sample Client Application

A sample client application is also available on http://localhost:5002. This app displays the claims of an authenticated user, and is useful for testing creating users and claim configurations.